Better name for bitmask in ParserContextFlags

This commit is contained in:
Ron Buckton
2015-05-13 10:50:40 -07:00
parent 80edb2de4a
commit 3d0991d27d
2 changed files with 10 additions and 22 deletions

View File

@@ -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);

View File

@@ -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.