@@ -659,7 +659,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile
659659 // This step isn't needed if we eventually transform this to ES5.
660660 const originalMethod = getOriginalNode ( node , isFunctionLikeDeclaration ) ;
661661 const emitSuperHelpers = languageVersion >= ScriptTarget . ES2015 &&
662- resolver . getNodeCheckFlags ( node ) & ( NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) &&
662+ ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) || resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) ) &&
663663 ( getFunctionFlags ( originalMethod ) & FunctionFlags . AsyncGenerator ) !== FunctionFlags . AsyncGenerator ;
664664
665665 if ( emitSuperHelpers ) {
@@ -675,10 +675,10 @@ export function transformES2017(context: TransformationContext): (x: SourceFile
675675
676676 if ( hasSuperElementAccess ) {
677677 // Emit helpers for super element access expressions (`super[x]`).
678- if ( resolver . getNodeCheckFlags ( node ) & NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) {
678+ if ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) ) {
679679 addEmitHelper ( updated , advancedAsyncSuperHelper ) ;
680680 }
681- else if ( resolver . getNodeCheckFlags ( node ) & NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) {
681+ else if ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) ) {
682682 addEmitHelper ( updated , asyncSuperHelper ) ;
683683 }
684684 }
@@ -743,7 +743,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile
743743 const promiseConstructor = languageVersion < ScriptTarget . ES2015 ? getPromiseConstructor ( nodeType ) : undefined ;
744744 const isArrowFunction = node . kind === SyntaxKind . ArrowFunction ;
745745 const savedLexicalArgumentsBinding = lexicalArgumentsBinding ;
746- const hasLexicalArguments = ( resolver . getNodeCheckFlags ( node ) & NodeCheckFlags . CaptureArguments ) !== 0 ;
746+ const hasLexicalArguments = resolver . hasNodeCheckFlag ( node , NodeCheckFlags . CaptureArguments ) ;
747747 const captureLexicalArguments = hasLexicalArguments && ! lexicalArgumentsBinding ;
748748 if ( captureLexicalArguments ) {
749749 lexicalArgumentsBinding = factory . createUniqueName ( "arguments" ) ;
@@ -816,7 +816,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile
816816
817817 // Minor optimization, emit `_super` helper to capture `super` access in an arrow.
818818 // This step isn't needed if we eventually transform this to ES5.
819- const emitSuperHelpers = languageVersion >= ScriptTarget . ES2015 && resolver . getNodeCheckFlags ( node ) & ( NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) ;
819+ const emitSuperHelpers = languageVersion >= ScriptTarget . ES2015 && ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) || resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) ) ;
820820
821821 if ( emitSuperHelpers ) {
822822 enableSubstitutionForAsyncMethodsWithSuper ( ) ;
@@ -836,10 +836,10 @@ export function transformES2017(context: TransformationContext): (x: SourceFile
836836
837837 if ( emitSuperHelpers && hasSuperElementAccess ) {
838838 // Emit helpers for super element access expressions (`super[x]`).
839- if ( resolver . getNodeCheckFlags ( node ) & NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) {
839+ if ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) ) {
840840 addEmitHelper ( block , advancedAsyncSuperHelper ) ;
841841 }
842- else if ( resolver . getNodeCheckFlags ( node ) & NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) {
842+ else if ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) ) {
843843 addEmitHelper ( block , asyncSuperHelper ) ;
844844 }
845845 }
@@ -926,7 +926,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile
926926 // If we need to support substitutions for `super` in an async method,
927927 // we should track it here.
928928 if ( enabledSubstitutions & ES2017SubstitutionFlags . AsyncMethodsWithSuper && isSuperContainer ( node ) ) {
929- const superContainerFlags = resolver . getNodeCheckFlags ( node ) & ( NodeCheckFlags . MethodWithSuperPropertyAccessInAsync | NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) ;
929+ const superContainerFlags = ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAccessInAsync ) ? NodeCheckFlags . MethodWithSuperPropertyAccessInAsync : 0 ) | ( resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) ? NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync : 0 ) ;
930930 if ( superContainerFlags !== enclosingSuperContainerFlags ) {
931931 const savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags ;
932932 enclosingSuperContainerFlags = superContainerFlags ;
@@ -1058,7 +1058,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile
10581058export function createSuperAccessVariableStatement ( factory : NodeFactory , resolver : EmitResolver , node : FunctionLikeDeclaration , names : Set < __String > ) {
10591059 // Create a variable declaration with a getter/setter (if binding) definition for each name:
10601060 // const _super = Object.create(null, { x: { get: () => super.x, set: (v) => super.x = v }, ... });
1061- const hasBinding = ( resolver . getNodeCheckFlags ( node ) & NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) !== 0 ;
1061+ const hasBinding = resolver . hasNodeCheckFlag ( node , NodeCheckFlags . MethodWithSuperPropertyAssignmentInAsync ) ;
10621062 const accessors : PropertyAssignment [ ] = [ ] ;
10631063 names . forEach ( ( _ , key ) => {
10641064 const name = unescapeLeadingUnderscores ( key ) ;
0 commit comments