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; }
private ParseTree parseScriptElement() { if (peekImportDeclaration()) { return parseImportDeclaration(); } if (peekExportDeclaration()) { return parseExportDeclaration(false); } if (peekInterfaceDeclaration()) { return parseInterfaceDeclaration(); } if (peekEnumDeclaration()) { return parseEnumDeclaration(); } if (peekTypeAlias()) { return parseTypeAlias(); } if (peekAmbientDeclaration()) { return parseAmbientDeclaration(); } if (peekNamespaceDeclaration()) { return parseNamespaceDeclaration(false); } return parseSourceElement(); }
private ParseTree parseScriptElement() { if (peekImportDeclaration()) { return parseImportDeclaration(); } if (peekExportDeclaration()) { return parseExportDeclaration(false); } if (peekInterfaceDeclaration()) { return parseInterfaceDeclaration(); } if (peekEnumDeclaration()) { return parseEnumDeclaration(); } if (peekTypeAlias()) { return parseTypeAlias(); } if (peekAmbientDeclaration()) { return parseAmbientDeclaration(); } if (peekNamespaceDeclaration()) { return parseNamespaceDeclaration(false); } return parseSourceElement(); }
case MODULE: case NAMESPACE: export = parseNamespaceDeclaration(isAmbient); needsSemiColon = false; break;
case MODULE: case NAMESPACE: export = parseNamespaceDeclaration(isAmbient); needsSemiColon = false; break;