@@ -559,25 +559,6 @@ export class Compiler extends DiagnosticEmitter {
559559 }
560560 } while ( lazyFunctions . size ) ;
561561
562- // compile pending instanceof helpers
563- for ( let _keys = Map_keys ( this . pendingInstanceOf ) , i = 0 , k = _keys . length ; i < k ; ++ i ) {
564- let elem = _keys [ i ] ;
565- let name = assert ( this . pendingInstanceOf . get ( elem ) ) ;
566- switch ( elem . kind ) {
567- case ElementKind . Class :
568- case ElementKind . Interface : {
569- this . finalizeInstanceOf ( < Class > elem , name ) ;
570- break ;
571- }
572- case ElementKind . ClassPrototype :
573- case ElementKind . InterfacePrototype : {
574- this . finalizeAnyInstanceOf ( < ClassPrototype > elem , name ) ;
575- break ;
576- }
577- default : assert ( false ) ;
578- }
579- }
580-
581562 // set up override stubs
582563 let functionTable = this . functionTable ;
583564 let overrideStubs = this . overrideStubs ;
@@ -611,6 +592,25 @@ export class Compiler extends DiagnosticEmitter {
611592 this . finalizeOverrideStub ( _values [ i ] ) ;
612593 }
613594
595+ // compile pending instanceof helpers
596+ for ( let _keys = Map_keys ( this . pendingInstanceOf ) , i = 0 , k = _keys . length ; i < k ; ++ i ) {
597+ let elem = _keys [ i ] ;
598+ let name = assert ( this . pendingInstanceOf . get ( elem ) ) ;
599+ switch ( elem . kind ) {
600+ case ElementKind . Class :
601+ case ElementKind . Interface : {
602+ this . finalizeInstanceOf ( < Class > elem , name ) ;
603+ break ;
604+ }
605+ case ElementKind . ClassPrototype :
606+ case ElementKind . InterfacePrototype : {
607+ this . finalizeAnyInstanceOf ( < ClassPrototype > elem , name ) ;
608+ break ;
609+ }
610+ default : assert ( false ) ;
611+ }
612+ }
613+
614614 // finalize runtime features
615615 module . removeGlobal ( BuiltinNames . rtti_base ) ;
616616 if ( this . runtimeFeatures & RuntimeFeatures . Rtti ) compileRTTI ( this ) ;
0 commit comments