Ignore:
Timestamp:
Jun 12, 2017, 1:41:06 PM (7 years ago)
Author:
Andrew Beach <ajbeach@…>
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:
465ed18
Parents:
cfaabe2c
Message:

Updated the CatchStmt? node so that it may handle both termination and resumption.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/StatementNode.cc

    rcfaabe2c rca78437  
    1010// Created On       : Sat May 16 14:59:41 2015
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Thu Jun  8 16:16:00 2017
    13 // Update Count     : 328
     12// Last Modified On : Mon Jun 12 13:03:00 2017
     13// Update Count     : 329
    1414//
    1515
     
    181181        return new TryStmt( noLabels, tryBlock, branches, finallyBlock );
    182182}
    183 Statement *build_catch( DeclarationNode *decl, StatementNode *stmt, bool catchAny ) {
    184         std::list< Statement * > branches;
    185         buildMoveList< Statement, StatementNode >( stmt, branches );
    186         assert( branches.size() == 1 );
    187         return new CatchStmt( noLabels, maybeMoveBuild< Declaration >(decl), branches.front(), catchAny );
     183Statement *build_catch( CatchStmt::Kind kind, DeclarationNode *decl, ExpressionNode *cond, StatementNode *body ) {
     184        std::list< Statement * > branches;
     185        buildMoveList< Statement, StatementNode >( body, branches );
     186        assert( branches.size() == 1 );
     187        return new CatchStmt( noLabels, kind, maybeMoveBuild< Declaration >(decl), maybeMoveBuild< Expression >(cond), branches.front() );
    188188}
    189189Statement *build_finally( StatementNode *stmt ) {
Note: See TracChangeset for help on using the changeset viewer.