Ignore:
Timestamp:
Sep 8, 2016, 10:51:07 AM (8 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:
cd14861
Parents:
4e7f0f1
Message:

add AST nodes TupleIndexExpr?, MemberTupleExpr?, MassAssignExpr?, and MultipleAssignExpr?, modify parser to produce nodes for field tuples, modify UntypedMemberExpr? to contain a list of members

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ExpressionNode.cc

    r4e7f0f1 r3b58d91  
    200200}
    201201
    202 Expression *build_fieldSel( ExpressionNode *expr_node, NameExpr *member ) {
    203         UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), maybeMoveBuild< Expression >(expr_node) );
    204         delete member;
    205         return ret;
    206 }
    207 
    208 Expression *build_pfieldSel( ExpressionNode *expr_node, NameExpr *member ) {
     202Expression *build_fieldSel( ExpressionNode *expr_node, Expression *member ) {
     203        UntypedMemberExpr *ret = new UntypedMemberExpr( member, maybeMoveBuild< Expression >(expr_node) );
     204        return ret;
     205}
     206
     207Expression *build_pfieldSel( ExpressionNode *expr_node, Expression *member ) {
    209208        UntypedExpr *deref = new UntypedExpr( new NameExpr( "*?" ) );
    210209        deref->get_args().push_back( maybeMoveBuild< Expression >(expr_node) );
    211         UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), deref );
    212         delete member;
     210        UntypedMemberExpr *ret = new UntypedMemberExpr( member, deref );
    213211        return ret;
    214212}
Note: See TracChangeset for help on using the changeset viewer.