Changeset 44b4114 for src/Common


Ignore:
Timestamp:
Feb 14, 2018, 4:18:37 PM (7 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
f5883bd
Parents:
490ff5c3
git-author:
Rob Schluntz <rschlunt@…> (02/14/18 16:17:36)
git-committer:
Rob Schluntz <rschlunt@…> (02/14/18 16:18:37)
Message:

Add DeletedExpr? node for use of deleted identifiers

Location:
src/Common
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/Common/PassVisitor.h

    r490ff5c3 r44b4114  
    121121        virtual void visit( UntypedInitExpr *  initExpr ) override final;
    122122        virtual void visit( InitExpr *  initExpr ) override final;
     123        virtual void visit( DeletedExpr *  delExpr ) override final;
    123124
    124125        virtual void visit( VoidType * basicType ) override final;
     
    215216        virtual Expression * mutate( UntypedInitExpr *  initExpr ) override final;
    216217        virtual Expression * mutate( InitExpr *  initExpr ) override final;
     218        virtual Expression * mutate( DeletedExpr *  delExpr ) override final;
    217219
    218220        virtual Type * mutate( VoidType * basicType ) override final;
  • TabularUnified src/Common/PassVisitor.impl.h

    r490ff5c3 r44b4114  
    19761976}
    19771977
     1978//--------------------------------------------------------------------------
     1979// DeletedExpr
     1980template< typename pass_type >
     1981void PassVisitor< pass_type >::visit( DeletedExpr * node ) {
     1982        VISIT_START( node );
     1983
     1984        indexerScopedAccept( node->result, *this );
     1985        maybeAccept_impl( node->expr, *this );
     1986        // don't visit deleteStmt, because it is a pointer to somewhere else in the tree.
     1987
     1988        VISIT_END( node );
     1989}
     1990
     1991template< typename pass_type >
     1992Expression * PassVisitor< pass_type >::mutate( DeletedExpr * node ) {
     1993        MUTATE_START( node );
     1994
     1995        indexerScopedMutate( node->env, *this );
     1996        indexerScopedMutate( node->result, *this );
     1997        maybeMutate_impl( node->expr, *this );
     1998
     1999        MUTATE_END( Expression, node );
     2000}
     2001
     2002
    19782003template< typename pass_type >
    19792004void PassVisitor< pass_type >::visit( VoidType * node ) {
Note: See TracChangeset for help on using the changeset viewer.