src/Parser.cpp
changeset 132 d8379f5d5a1d
parent 131 48b0c2edb0df
child 133 7797936ba34c
     1.1 --- a/src/Parser.cpp	Sun Jul 29 18:02:13 2012 -0700
     1.2 +++ b/src/Parser.cpp	Sun Jul 29 18:19:12 2012 -0700
     1.3 @@ -922,6 +922,10 @@
     1.4  Statement *
     1.5  Parser::function(TokenKind token)
     1.6  {
     1.7 +    Local<String> returnTag(zone_);
     1.8 +    if (matchName(returnTag.ref(), TOK_LABEL) && !returnTag)
     1.9 +        return NULL;
    1.10 +
    1.11      Local<String> name(zone_, expectName());
    1.12      if (!name)
    1.13          return NULL;
    1.14 @@ -1039,7 +1043,8 @@
    1.15      }
    1.16  
    1.17      scope_ = scope_->enclosing();
    1.18 -    return new (pool_) FunctionStatement(pos, scope, fun, body, parameters, encounteredReturn_);
    1.19 +    return new (pool_) FunctionStatement(pos, scope, fun, body, parameters, returnTag,
    1.20 +                                         encounteredReturn_);
    1.21  }
    1.22  
    1.23  ParseTree *