Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Stmt.cpp

    r7edd5c1 r6180274  
    99// Author           : Aaron B. Moss
    1010// Created On       : Wed May  8 13:00:00 2019
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Tue May  3 15:18:20 2022
    13 // Update Count     : 4
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Wed Feb  2 19:01:20 2022
     13// Update Count     : 3
    1414//
    1515
    1616#include "Stmt.hpp"
    1717
    18 #include "Copy.hpp"
     18
    1919#include "DeclReplacer.hpp"
    2020#include "Type.hpp"
     
    2323
    2424// --- CompoundStmt
    25 CompoundStmt::CompoundStmt( const CompoundStmt& other ) : Stmt(other), kids() {
    26         // Statements can have weak references to them, if that happens inserting
    27         // the original node into the new list will put the original node in a
    28         // bad state, where it cannot be mutated. To avoid this, just perform an
    29         // additional shallow copy on the statement.
    30         for ( const Stmt * kid : other.kids ) {
    31                 if ( kid->isReferenced() ) {
    32                         kids.emplace_back( ast::shallowCopy( kid ) );
    33                 } else {
    34                         kids.emplace_back( kid );
    35                 }
    36         }
    37 
     25CompoundStmt::CompoundStmt( const CompoundStmt& other ) : Stmt(other), kids(other.kids) {
    3826        // when cloning a compound statement, we may end up cloning declarations which
    3927        // are referred to by VariableExprs throughout the block. Cloning a VariableExpr
Note: See TracChangeset for help on using the changeset viewer.