private ParseTree parseAmbientFunctionDeclaration() { SourcePosition start = getTreeStartLocation(); eat(Keywords.FUNCTION.type); boolean isGenerator = eatOpt(TokenType.STAR) != null; IdentifierToken name = eatId(); return parseAmbientFunctionDeclaration(start, name, isGenerator); }
private ParseTree parseAmbientFunctionDeclaration() { SourcePosition start = getTreeStartLocation(); eat(Keywords.FUNCTION.type); boolean isGenerator = eatOpt(TokenType.STAR) != null; IdentifierToken name = eatId(); return parseAmbientFunctionDeclaration(start, name, isGenerator); }
private ParseTree parseAmbientDeclarationHelper() { ParseTree declare; switch (peekType()) { case FUNCTION: declare = parseAmbientFunctionDeclaration(); eatPossibleImplicitSemiColon(); break; case CLASS: declare = parseClassDeclaration(true); break; case ENUM: declare = parseEnumDeclaration(); break; case MODULE: case NAMESPACE: declare = parseNamespaceDeclaration(true); break; default: // unreachable, parse as a var decl to get a parse error. case VAR: case LET: case CONST: declare = parseAmbientVariableDeclarationList(); eatPossibleImplicitSemiColon(); break; } return declare; }
private ParseTree parseAmbientDeclarationHelper() { ParseTree declare; switch (peekType()) { case FUNCTION: declare = parseAmbientFunctionDeclaration(); eatPossibleImplicitSemiColon(); break; case CLASS: declare = parseClassDeclaration(true); break; case ENUM: declare = parseEnumDeclaration(); break; case MODULE: case NAMESPACE: declare = parseNamespaceDeclaration(true); break; case VAR: case LET: case CONST: default: // unreachable, parse as a var decl to get a parse error. declare = parseAmbientVariableDeclarationList(); eatPossibleImplicitSemiColon(); break; } return declare; }
break; case FUNCTION: export = isAmbient ? parseAmbientFunctionDeclaration() : parseFunctionDeclaration(); needsSemiColon = isAmbient; break;
break; case FUNCTION: export = isAmbient ? parseAmbientFunctionDeclaration() : parseFunctionDeclaration(); needsSemiColon = isAmbient; break;