mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-14 07:02:44 -05:00
Better name for bitmask in ParserContextFlags
This commit is contained in:
@@ -2363,7 +2363,7 @@ module ts {
|
||||
function parseType(): TypeNode {
|
||||
// The rules about 'yield' only apply to actual code/expression contexts. They don't
|
||||
// apply to 'type' contexts. So we disable these parameters here before moving on.
|
||||
return doOutsideOfContext(ParserContextFlags.AllParameterFlags, parseTypeWorker);
|
||||
return doOutsideOfContext(ParserContextFlags.TypeExcludesFlags, parseTypeWorker);
|
||||
}
|
||||
|
||||
function parseTypeWorker(): TypeNode {
|
||||
@@ -4363,15 +4363,9 @@ module ts {
|
||||
node.heritageClauses = parseHeritageClauses(/*isClassHeritageClause:*/ true);
|
||||
|
||||
if (parseExpected(SyntaxKind.OpenBraceToken)) {
|
||||
// ClassTail[Yield,GeneratorParameter,Await,AsyncParameter] : (Modified) See 14.5
|
||||
// [~GeneratorParameter,~AsyncParameter]ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt }
|
||||
// [+GeneratorParameter] ClassHeritageopt { ClassBodyopt }
|
||||
// [+AsyncParameter] ClassHeritageopt { ClassBodyopt }
|
||||
|
||||
node.members = inGeneratorParameterOrAsyncParameterContext()
|
||||
? doOutsideOfYieldAndAwaitContext(parseClassMembers)
|
||||
: parseClassMembers();
|
||||
|
||||
// ClassTail[Yield,Await] : (Modified) See 14.5
|
||||
// ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt }
|
||||
node.members = parseClassMembers();
|
||||
parseExpected(SyntaxKind.CloseBraceToken);
|
||||
}
|
||||
else {
|
||||
@@ -4384,24 +4378,16 @@ module ts {
|
||||
}
|
||||
|
||||
function parseHeritageClauses(isClassHeritageClause: boolean): NodeArray<HeritageClause> {
|
||||
// ClassTail[Yield,GeneratorParameter,Await,AsyncParameter] : (Modified) See 14.5
|
||||
// [~GeneratorParameter,~AsyncParameter]ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt }
|
||||
// [+GeneratorParameter] ClassHeritageopt { ClassBodyopt }
|
||||
// [+AsyncParameter] ClassHeritageopt { ClassBodyopt }
|
||||
// ClassTail[Yield,Await] : (Modified) See 14.5
|
||||
// ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt }
|
||||
|
||||
if (isHeritageClause()) {
|
||||
return isClassHeritageClause && inGeneratorParameterOrAsyncParameterContext()
|
||||
? doOutsideOfYieldAndAwaitContext(parseHeritageClausesWorker)
|
||||
: parseHeritageClausesWorker();
|
||||
return parseList(ParsingContext.HeritageClauses, /*checkForStrictMode:*/ false, parseHeritageClause);
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function parseHeritageClausesWorker() {
|
||||
return parseList(ParsingContext.HeritageClauses, /*checkForStrictMode:*/ false, parseHeritageClause);
|
||||
}
|
||||
|
||||
function parseHeritageClause() {
|
||||
if (token === SyntaxKind.ExtendsKeyword || token === SyntaxKind.ImplementsKeyword) {
|
||||
let node = <HeritageClause>createNode(SyntaxKind.HeritageClause);
|
||||
|
||||
@@ -361,7 +361,9 @@ module ts {
|
||||
// Context flags passed as part of the modified ES6 grammar.
|
||||
YieldAndGeneratorParameterFlags = Yield | GeneratorParameter,
|
||||
AwaitAndAsyncParameterFlags = Await | AsyncParameter,
|
||||
AllParameterFlags = YieldAndGeneratorParameterFlags | AwaitAndAsyncParameterFlags,
|
||||
|
||||
// Exclude these flags when parsing a Type
|
||||
TypeExcludesFlags = YieldAndGeneratorParameterFlags | AwaitAndAsyncParameterFlags,
|
||||
|
||||
// Context flags computed by aggregating child flags upwards.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user