===================================================================
JsFile: recursiveClassReferenceTest.js
mapUrl: recursiveClassReferenceTest.js.map
sourceRoot: 
sources: recursiveClassReferenceTest.ts
===================================================================
-------------------------------------------------------------------
emittedFile:tests/cases/compiler/recursiveClassReferenceTest.js
sourceFile:recursiveClassReferenceTest.ts
-------------------------------------------------------------------
>>>// Scenario 1: Test reqursive function call with "this" parameter
1 >
2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                                                 ^^^^^^^^^^->
1 >
2 >// Scenario 1: Test reqursive function call with "this" parameter
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
2 >Emitted(1, 66) Source(1, 66) + SourceIndex(0)
---
>>>// Scenario 2: Test recursive function call with cast and "this" parameter
1->
2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
  >
2 >// Scenario 2: Test recursive function call with cast and "this" parameter
1->Emitted(2, 1) Source(2, 1) + SourceIndex(0)
2 >Emitted(2, 75) Source(2, 75) + SourceIndex(0)
---
>>>var __extends = (this && this.__extends) || (function () {
>>>    var extendStatics = Object.setPrototypeOf ||
>>>        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
>>>        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
>>>    return function (d, b) {
>>>        extendStatics(d, b);
>>>        function __() { this.constructor = d; }
>>>        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
>>>    };
>>>})();
>>>var Sample;
1 >
2 >^^^^
3 >    ^^^^^^
4 >          ^
5 >           ^^^^^^^^^^->
1 >
  >
  >
  >
  >declare module Sample.Thing {
  >
  >	export interface IWidget {
  >		getDomNode(): any;
  >		destroy();
  >		gar(runner:(widget:Sample.Thing.IWidget)=>any):any;
  >	}
  >
  >	export interface ICodeThing {
  >  
  >  		getDomNode(): Element;
  >		
  >		addWidget(widgetId:string, widget:IWidget);
  >
  >		
  >		focus(); 
  >		
  >		//addWidget(widget: Sample.Thing.Widgets.IWidget);
  >	}
  >
  >	export interface IAction {
  >		run(Thing:ICodeThing):boolean;
  >		getId():string;
  >	}	
  >}
  >
  >
2 >module 
3 >    Sample
4 >          .Actions.Thing.Find {
  >          	export class StartFindAction implements Sample.Thing.IAction {
  >          		
  >          		public getId() { return "yo"; }
  >          		
  >          		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >          
  >          			return true;
  >          		}
  >          	}
  >          }
1 >Emitted(13, 1) Source(32, 1) + SourceIndex(0)
2 >Emitted(13, 5) Source(32, 8) + SourceIndex(0)
3 >Emitted(13, 11) Source(32, 14) + SourceIndex(0)
4 >Emitted(13, 12) Source(42, 2) + SourceIndex(0)
---
>>>(function (Sample) {
1->
2 >^^^^^^^^^^^
3 >           ^^^^^^
1->
2 >module 
3 >           Sample
1->Emitted(14, 1) Source(32, 1) + SourceIndex(0)
2 >Emitted(14, 12) Source(32, 8) + SourceIndex(0)
3 >Emitted(14, 18) Source(32, 14) + SourceIndex(0)
---
>>>    var Actions;
1 >^^^^
2 >    ^^^^
3 >        ^^^^^^^
4 >               ^
5 >                ^^^^^^^^^^->
1 >.
2 >    
3 >        Actions
4 >               .Thing.Find {
  >               	export class StartFindAction implements Sample.Thing.IAction {
  >               		
  >               		public getId() { return "yo"; }
  >               		
  >               		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >               
  >               			return true;
  >               		}
  >               	}
  >               }
1 >Emitted(15, 5) Source(32, 15) + SourceIndex(0)
2 >Emitted(15, 9) Source(32, 15) + SourceIndex(0)
3 >Emitted(15, 16) Source(32, 22) + SourceIndex(0)
4 >Emitted(15, 17) Source(42, 2) + SourceIndex(0)
---
>>>    (function (Actions) {
1->^^^^
2 >    ^^^^^^^^^^^
3 >               ^^^^^^^
1->
2 >    
3 >               Actions
1->Emitted(16, 5) Source(32, 15) + SourceIndex(0)
2 >Emitted(16, 16) Source(32, 15) + SourceIndex(0)
3 >Emitted(16, 23) Source(32, 22) + SourceIndex(0)
---
>>>        var Thing;
1 >^^^^^^^^
2 >        ^^^^
3 >            ^^^^^
4 >                 ^
5 >                  ^^^^^^^^^^^^->
1 >.
2 >        
3 >            Thing
4 >                 .Find {
  >                 	export class StartFindAction implements Sample.Thing.IAction {
  >                 		
  >                 		public getId() { return "yo"; }
  >                 		
  >                 		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                 
  >                 			return true;
  >                 		}
  >                 	}
  >                 }
1 >Emitted(17, 9) Source(32, 23) + SourceIndex(0)
2 >Emitted(17, 13) Source(32, 23) + SourceIndex(0)
3 >Emitted(17, 18) Source(32, 28) + SourceIndex(0)
4 >Emitted(17, 19) Source(42, 2) + SourceIndex(0)
---
>>>        (function (Thing_1) {
1->^^^^^^^^
2 >        ^^^^^^^^^^^
3 >                   ^^^^^^^
1->
2 >        
3 >                   Thing
1->Emitted(18, 9) Source(32, 23) + SourceIndex(0)
2 >Emitted(18, 20) Source(32, 23) + SourceIndex(0)
3 >Emitted(18, 27) Source(32, 28) + SourceIndex(0)
---
>>>            var Find;
1 >^^^^^^^^^^^^
2 >            ^^^^
3 >                ^^^^
4 >                    ^
5 >                     ^^^^^^^^^^->
1 >.
2 >            
3 >                Find
4 >                     {
  >                    	export class StartFindAction implements Sample.Thing.IAction {
  >                    		
  >                    		public getId() { return "yo"; }
  >                    		
  >                    		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                    
  >                    			return true;
  >                    		}
  >                    	}
  >                    }
1 >Emitted(19, 13) Source(32, 29) + SourceIndex(0)
2 >Emitted(19, 17) Source(32, 29) + SourceIndex(0)
3 >Emitted(19, 21) Source(32, 33) + SourceIndex(0)
4 >Emitted(19, 22) Source(42, 2) + SourceIndex(0)
---
>>>            (function (Find) {
1->^^^^^^^^^^^^
2 >            ^^^^^^^^^^^
3 >                       ^^^^
4 >                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
2 >            
3 >                       Find
1->Emitted(20, 13) Source(32, 29) + SourceIndex(0)
2 >Emitted(20, 24) Source(32, 29) + SourceIndex(0)
3 >Emitted(20, 28) Source(32, 33) + SourceIndex(0)
---
>>>                var StartFindAction = /** @class */ (function () {
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1-> {
  >	
1->Emitted(21, 17) Source(33, 2) + SourceIndex(0)
---
>>>                    function StartFindAction() {
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^->
1->
1->Emitted(22, 21) Source(33, 2) + SourceIndex(0)
---
>>>                    }
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^
3 >                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->export class StartFindAction implements Sample.Thing.IAction {
  >		
  >		public getId() { return "yo"; }
  >		
  >		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >
  >			return true;
  >		}
  >	
2 >                    }
1->Emitted(23, 21) Source(41, 2) + SourceIndex(0)
2 >Emitted(23, 22) Source(41, 3) + SourceIndex(0)
---
>>>                    StartFindAction.prototype.getId = function () { return "yo"; };
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                                   ^^^
4 >                                                      ^^^^^^^^^^^^^^
5 >                                                                    ^^^^^^
6 >                                                                          ^
7 >                                                                           ^^^^
8 >                                                                               ^
9 >                                                                                ^
10>                                                                                 ^
1->
2 >                    getId
3 >                                                   
4 >                                                      public getId() { 
5 >                                                                    return
6 >                                                                           
7 >                                                                           "yo"
8 >                                                                               ;
9 >                                                                                 
10>                                                                                 }
1->Emitted(24, 21) Source(35, 10) + SourceIndex(0)
2 >Emitted(24, 52) Source(35, 15) + SourceIndex(0)
3 >Emitted(24, 55) Source(35, 3) + SourceIndex(0)
4 >Emitted(24, 69) Source(35, 20) + SourceIndex(0)
5 >Emitted(24, 75) Source(35, 26) + SourceIndex(0)
6 >Emitted(24, 76) Source(35, 27) + SourceIndex(0)
7 >Emitted(24, 80) Source(35, 31) + SourceIndex(0)
8 >Emitted(24, 81) Source(35, 32) + SourceIndex(0)
9 >Emitted(24, 82) Source(35, 33) + SourceIndex(0)
10>Emitted(24, 83) Source(35, 34) + SourceIndex(0)
---
>>>                    StartFindAction.prototype.run = function (Thing) {
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                                 ^^^
4 >                                                    ^^^^^^^^^^
5 >                                                              ^^^^^
1 >
  >		
  >		public 
2 >                    run
3 >                                                 
4 >                                                    public run(
5 >                                                              Thing:Sample.Thing.ICodeThing
1 >Emitted(25, 21) Source(37, 10) + SourceIndex(0)
2 >Emitted(25, 50) Source(37, 13) + SourceIndex(0)
3 >Emitted(25, 53) Source(37, 3) + SourceIndex(0)
4 >Emitted(25, 63) Source(37, 14) + SourceIndex(0)
5 >Emitted(25, 68) Source(37, 43) + SourceIndex(0)
---
>>>                        return true;
1 >^^^^^^^^^^^^^^^^^^^^^^^^
2 >                        ^^^^^^
3 >                              ^
4 >                               ^^^^
5 >                                   ^
1 >):boolean {
  >
  >			
2 >                        return
3 >                               
4 >                               true
5 >                                   ;
1 >Emitted(26, 25) Source(39, 4) + SourceIndex(0)
2 >Emitted(26, 31) Source(39, 10) + SourceIndex(0)
3 >Emitted(26, 32) Source(39, 11) + SourceIndex(0)
4 >Emitted(26, 36) Source(39, 15) + SourceIndex(0)
5 >Emitted(26, 37) Source(39, 16) + SourceIndex(0)
---
>>>                    };
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^
3 >                     ^^^^^^^^^^^^^^^^^^^^^^^->
1 >
  >		
2 >                    }
1 >Emitted(27, 21) Source(40, 3) + SourceIndex(0)
2 >Emitted(27, 22) Source(40, 4) + SourceIndex(0)
---
>>>                    return StartFindAction;
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^
1->
  >	
2 >                    }
1->Emitted(28, 21) Source(41, 2) + SourceIndex(0)
2 >Emitted(28, 43) Source(41, 3) + SourceIndex(0)
---
>>>                }());
1 >^^^^^^^^^^^^^^^^
2 >                ^
3 >                 
4 >                 ^^^^
5 >                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
2 >                }
3 >                 
4 >                 export class StartFindAction implements Sample.Thing.IAction {
  >                 		
  >                 		public getId() { return "yo"; }
  >                 		
  >                 		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                 
  >                 			return true;
  >                 		}
  >                 	}
1 >Emitted(29, 17) Source(41, 2) + SourceIndex(0)
2 >Emitted(29, 18) Source(41, 3) + SourceIndex(0)
3 >Emitted(29, 18) Source(33, 2) + SourceIndex(0)
4 >Emitted(29, 22) Source(41, 3) + SourceIndex(0)
---
>>>                Find.StartFindAction = StartFindAction;
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^
3 >                                    ^^^^^^^^^^^^^^^^^^
4 >                                                      ^
5 >                                                       ^^^^^->
1->
2 >                StartFindAction
3 >                                     implements Sample.Thing.IAction {
  >                                    		
  >                                    		public getId() { return "yo"; }
  >                                    		
  >                                    		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                                    
  >                                    			return true;
  >                                    		}
  >                                    	}
4 >                                                      
1->Emitted(30, 17) Source(33, 15) + SourceIndex(0)
2 >Emitted(30, 37) Source(33, 30) + SourceIndex(0)
3 >Emitted(30, 55) Source(41, 3) + SourceIndex(0)
4 >Emitted(30, 56) Source(41, 3) + SourceIndex(0)
---
>>>            })(Find = Thing_1.Find || (Thing_1.Find = {}));
1->^^^^^^^^^^^^
2 >            ^
3 >             ^^
4 >               ^^^^
5 >                   ^^^
6 >                      ^^^^^^^^^^^^
7 >                                  ^^^^^
8 >                                       ^^^^^^^^^^^^
9 >                                                   ^^^^^^^^
1->
  >
2 >            }
3 >             
4 >               Find
5 >                   
6 >                      Find
7 >                                  
8 >                                       Find
9 >                                                    {
  >                                                   	export class StartFindAction implements Sample.Thing.IAction {
  >                                                   		
  >                                                   		public getId() { return "yo"; }
  >                                                   		
  >                                                   		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                                                   
  >                                                   			return true;
  >                                                   		}
  >                                                   	}
  >                                                   }
1->Emitted(31, 13) Source(42, 1) + SourceIndex(0)
2 >Emitted(31, 14) Source(42, 2) + SourceIndex(0)
3 >Emitted(31, 16) Source(32, 29) + SourceIndex(0)
4 >Emitted(31, 20) Source(32, 33) + SourceIndex(0)
5 >Emitted(31, 23) Source(32, 29) + SourceIndex(0)
6 >Emitted(31, 35) Source(32, 33) + SourceIndex(0)
7 >Emitted(31, 40) Source(32, 29) + SourceIndex(0)
8 >Emitted(31, 52) Source(32, 33) + SourceIndex(0)
9 >Emitted(31, 60) Source(42, 2) + SourceIndex(0)
---
>>>        })(Thing = Actions.Thing || (Actions.Thing = {}));
1 >^^^^^^^^
2 >        ^
3 >         ^^
4 >           ^^^^^
5 >                ^^^
6 >                   ^^^^^^^^^^^^^
7 >                                ^^^^^
8 >                                     ^^^^^^^^^^^^^
9 >                                                  ^^^^^^^^
10>                                                          ^->
1 >
2 >        }
3 >         
4 >           Thing
5 >                
6 >                   Thing
7 >                                
8 >                                     Thing
9 >                                                  .Find {
  >                                                  	export class StartFindAction implements Sample.Thing.IAction {
  >                                                  		
  >                                                  		public getId() { return "yo"; }
  >                                                  		
  >                                                  		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                                                  
  >                                                  			return true;
  >                                                  		}
  >                                                  	}
  >                                                  }
1 >Emitted(32, 9) Source(42, 1) + SourceIndex(0)
2 >Emitted(32, 10) Source(42, 2) + SourceIndex(0)
3 >Emitted(32, 12) Source(32, 23) + SourceIndex(0)
4 >Emitted(32, 17) Source(32, 28) + SourceIndex(0)
5 >Emitted(32, 20) Source(32, 23) + SourceIndex(0)
6 >Emitted(32, 33) Source(32, 28) + SourceIndex(0)
7 >Emitted(32, 38) Source(32, 23) + SourceIndex(0)
8 >Emitted(32, 51) Source(32, 28) + SourceIndex(0)
9 >Emitted(32, 59) Source(42, 2) + SourceIndex(0)
---
>>>    })(Actions = Sample.Actions || (Sample.Actions = {}));
1->^^^^
2 >    ^
3 >     ^^
4 >       ^^^^^^^
5 >              ^^^
6 >                 ^^^^^^^^^^^^^^
7 >                               ^^^^^
8 >                                    ^^^^^^^^^^^^^^
9 >                                                  ^^^^^^^^
1->
2 >    }
3 >     
4 >       Actions
5 >              
6 >                 Actions
7 >                               
8 >                                    Actions
9 >                                                  .Thing.Find {
  >                                                  	export class StartFindAction implements Sample.Thing.IAction {
  >                                                  		
  >                                                  		public getId() { return "yo"; }
  >                                                  		
  >                                                  		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                                                  
  >                                                  			return true;
  >                                                  		}
  >                                                  	}
  >                                                  }
1->Emitted(33, 5) Source(42, 1) + SourceIndex(0)
2 >Emitted(33, 6) Source(42, 2) + SourceIndex(0)
3 >Emitted(33, 8) Source(32, 15) + SourceIndex(0)
4 >Emitted(33, 15) Source(32, 22) + SourceIndex(0)
5 >Emitted(33, 18) Source(32, 15) + SourceIndex(0)
6 >Emitted(33, 32) Source(32, 22) + SourceIndex(0)
7 >Emitted(33, 37) Source(32, 15) + SourceIndex(0)
8 >Emitted(33, 51) Source(32, 22) + SourceIndex(0)
9 >Emitted(33, 59) Source(42, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
2 >^
3 > ^^
4 >   ^^^^^^
5 >         ^^^^^
6 >              ^^^^^^
7 >                    ^^^^^^^^
1 >
2 >}
3 > 
4 >   Sample
5 >         
6 >              Sample
7 >                    .Actions.Thing.Find {
  >                    	export class StartFindAction implements Sample.Thing.IAction {
  >                    		
  >                    		public getId() { return "yo"; }
  >                    		
  >                    		public run(Thing:Sample.Thing.ICodeThing):boolean {
  >                    
  >                    			return true;
  >                    		}
  >                    	}
  >                    }
1 >Emitted(34, 1) Source(42, 1) + SourceIndex(0)
2 >Emitted(34, 2) Source(42, 2) + SourceIndex(0)
3 >Emitted(34, 4) Source(32, 8) + SourceIndex(0)
4 >Emitted(34, 10) Source(32, 14) + SourceIndex(0)
5 >Emitted(34, 15) Source(32, 8) + SourceIndex(0)
6 >Emitted(34, 21) Source(32, 14) + SourceIndex(0)
7 >Emitted(34, 29) Source(42, 2) + SourceIndex(0)
---
>>>(function (Sample) {
1 >
2 >^^^^^^^^^^^
3 >           ^^^^^^
1 >
  >
  >
2 >module 
3 >           Sample
1 >Emitted(35, 1) Source(44, 1) + SourceIndex(0)
2 >Emitted(35, 12) Source(44, 8) + SourceIndex(0)
3 >Emitted(35, 18) Source(44, 14) + SourceIndex(0)
---
>>>    var Thing;
1 >^^^^
2 >    ^^^^
3 >        ^^^^^
4 >             ^
5 >              ^^^^^^^^^^->
1 >.
2 >    
3 >        Thing
4 >             .Widgets {
  >             	export class FindWidget implements Sample.Thing.IWidget {
  >             
  >             		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >             			
  >             		private domNode:any = null;
  >             		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >             		    // scenario 1
  >             		    codeThing.addWidget("addWidget", this);
  >             		}
  >             		
  >             		public getDomNode() {
  >             			return domNode;
  >             		}
  >             		
  >             		public destroy() {
  >             
  >             		}
  >             
  >             	}
  >             }
1 >Emitted(36, 5) Source(44, 15) + SourceIndex(0)
2 >Emitted(36, 9) Source(44, 15) + SourceIndex(0)
3 >Emitted(36, 14) Source(44, 20) + SourceIndex(0)
4 >Emitted(36, 15) Source(64, 2) + SourceIndex(0)
---
>>>    (function (Thing) {
1->^^^^
2 >    ^^^^^^^^^^^
3 >               ^^^^^
4 >                    ^->
1->
2 >    
3 >               Thing
1->Emitted(37, 5) Source(44, 15) + SourceIndex(0)
2 >Emitted(37, 16) Source(44, 15) + SourceIndex(0)
3 >Emitted(37, 21) Source(44, 20) + SourceIndex(0)
---
>>>        var Widgets;
1->^^^^^^^^
2 >        ^^^^
3 >            ^^^^^^^
4 >                   ^
5 >                    ^^^^^^^^^^->
1->.
2 >        
3 >            Widgets
4 >                    {
  >                   	export class FindWidget implements Sample.Thing.IWidget {
  >                   
  >                   		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >                   			
  >                   		private domNode:any = null;
  >                   		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >                   		    // scenario 1
  >                   		    codeThing.addWidget("addWidget", this);
  >                   		}
  >                   		
  >                   		public getDomNode() {
  >                   			return domNode;
  >                   		}
  >                   		
  >                   		public destroy() {
  >                   
  >                   		}
  >                   
  >                   	}
  >                   }
1->Emitted(38, 9) Source(44, 21) + SourceIndex(0)
2 >Emitted(38, 13) Source(44, 21) + SourceIndex(0)
3 >Emitted(38, 20) Source(44, 28) + SourceIndex(0)
4 >Emitted(38, 21) Source(64, 2) + SourceIndex(0)
---
>>>        (function (Widgets) {
1->^^^^^^^^
2 >        ^^^^^^^^^^^
3 >                   ^^^^^^^
4 >                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
2 >        
3 >                   Widgets
1->Emitted(39, 9) Source(44, 21) + SourceIndex(0)
2 >Emitted(39, 20) Source(44, 21) + SourceIndex(0)
3 >Emitted(39, 27) Source(44, 28) + SourceIndex(0)
---
>>>            var FindWidget = /** @class */ (function () {
1->^^^^^^^^^^^^
2 >            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1-> {
  >	
1->Emitted(40, 13) Source(45, 2) + SourceIndex(0)
---
>>>                function FindWidget(codeThing) {
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^
3 >                                    ^^^^^^^^^
4 >                                             ^^^->
1->export class FindWidget implements Sample.Thing.IWidget {
  >
  >		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >			
  >		private domNode:any = null;
  >		
2 >                constructor(private 
3 >                                    codeThing: Sample.Thing.ICodeThing
1->Emitted(41, 17) Source(50, 3) + SourceIndex(0)
2 >Emitted(41, 37) Source(50, 23) + SourceIndex(0)
3 >Emitted(41, 46) Source(50, 57) + SourceIndex(0)
---
>>>                    this.codeThing = codeThing;
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^
3 >                                  ^^^
4 >                                     ^^^^^^^^^
5 >                                              ^
1->
2 >                    codeThing
3 >                                  
4 >                                     codeThing
5 >                                              : Sample.Thing.ICodeThing
1->Emitted(42, 21) Source(50, 23) + SourceIndex(0)
2 >Emitted(42, 35) Source(50, 32) + SourceIndex(0)
3 >Emitted(42, 38) Source(50, 23) + SourceIndex(0)
4 >Emitted(42, 47) Source(50, 32) + SourceIndex(0)
5 >Emitted(42, 48) Source(50, 57) + SourceIndex(0)
---
>>>                    this.domNode = null;
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^
3 >                                ^^^
4 >                                   ^^^^
5 >                                       ^
1 >
2 >                    domNode
3 >                                :any = 
4 >                                   null
5 >                                       ;
1 >Emitted(43, 21) Source(49, 11) + SourceIndex(0)
2 >Emitted(43, 33) Source(49, 18) + SourceIndex(0)
3 >Emitted(43, 36) Source(49, 25) + SourceIndex(0)
4 >Emitted(43, 40) Source(49, 29) + SourceIndex(0)
5 >Emitted(43, 41) Source(49, 30) + SourceIndex(0)
---
>>>                    // scenario 1
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^
3 >                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
  >		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >		    
2 >                    // scenario 1
1 >Emitted(44, 21) Source(51, 7) + SourceIndex(0)
2 >Emitted(44, 34) Source(51, 20) + SourceIndex(0)
---
>>>                    codeThing.addWidget("addWidget", this);
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^
3 >                             ^
4 >                              ^^^^^^^^^
5 >                                       ^
6 >                                        ^^^^^^^^^^^
7 >                                                   ^^
8 >                                                     ^^^^
9 >                                                         ^
10>                                                          ^
1->
  >		    
2 >                    codeThing
3 >                             .
4 >                              addWidget
5 >                                       (
6 >                                        "addWidget"
7 >                                                   , 
8 >                                                     this
9 >                                                         )
10>                                                          ;
1->Emitted(45, 21) Source(52, 7) + SourceIndex(0)
2 >Emitted(45, 30) Source(52, 16) + SourceIndex(0)
3 >Emitted(45, 31) Source(52, 17) + SourceIndex(0)
4 >Emitted(45, 40) Source(52, 26) + SourceIndex(0)
5 >Emitted(45, 41) Source(52, 27) + SourceIndex(0)
6 >Emitted(45, 52) Source(52, 38) + SourceIndex(0)
7 >Emitted(45, 54) Source(52, 40) + SourceIndex(0)
8 >Emitted(45, 58) Source(52, 44) + SourceIndex(0)
9 >Emitted(45, 59) Source(52, 45) + SourceIndex(0)
10>Emitted(45, 60) Source(52, 46) + SourceIndex(0)
---
>>>                }
1 >^^^^^^^^^^^^^^^^
2 >                ^
3 >                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
  >		
2 >                }
1 >Emitted(46, 17) Source(53, 3) + SourceIndex(0)
2 >Emitted(46, 18) Source(53, 4) + SourceIndex(0)
---
>>>                FindWidget.prototype.gar = function (runner) { if (true) {
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                        ^^^
4 >                                           ^^^^^^^^^^
5 >                                                     ^^^^^^
6 >                                                           ^^^^
7 >                                                               ^^
8 >                                                                 ^
9 >                                                                  ^
10>                                                                   ^^^^
11>                                                                       ^
12>                                                                        ^
13>                                                                         ^
1->
2 >                gar
3 >                                        
4 >                                           public gar(
5 >                                                     runner:(widget:Sample.Thing.IWidget)=>any
6 >                                                           ) { 
7 >                                                               if
8 >                                                                  
9 >                                                                  (
10>                                                                   true
11>                                                                       )
12>                                                                         
13>                                                                         {
1->Emitted(47, 17) Source(47, 10) + SourceIndex(0)
2 >Emitted(47, 41) Source(47, 13) + SourceIndex(0)
3 >Emitted(47, 44) Source(47, 3) + SourceIndex(0)
4 >Emitted(47, 54) Source(47, 14) + SourceIndex(0)
5 >Emitted(47, 60) Source(47, 55) + SourceIndex(0)
6 >Emitted(47, 64) Source(47, 59) + SourceIndex(0)
7 >Emitted(47, 66) Source(47, 61) + SourceIndex(0)
8 >Emitted(47, 67) Source(47, 62) + SourceIndex(0)
9 >Emitted(47, 68) Source(47, 63) + SourceIndex(0)
10>Emitted(47, 72) Source(47, 67) + SourceIndex(0)
11>Emitted(47, 73) Source(47, 68) + SourceIndex(0)
12>Emitted(47, 74) Source(47, 69) + SourceIndex(0)
13>Emitted(47, 75) Source(47, 70) + SourceIndex(0)
---
>>>                    return runner(this);
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^
3 >                          ^
4 >                           ^^^^^^
5 >                                 ^
6 >                                  ^^^^
7 >                                      ^
8 >                                       ^
1 >
2 >                    return
3 >                           
4 >                           runner
5 >                                 (
6 >                                  this
7 >                                      )
8 >                                       ;
1 >Emitted(48, 21) Source(47, 70) + SourceIndex(0)
2 >Emitted(48, 27) Source(47, 76) + SourceIndex(0)
3 >Emitted(48, 28) Source(47, 77) + SourceIndex(0)
4 >Emitted(48, 34) Source(47, 83) + SourceIndex(0)
5 >Emitted(48, 35) Source(47, 84) + SourceIndex(0)
6 >Emitted(48, 39) Source(47, 88) + SourceIndex(0)
7 >Emitted(48, 40) Source(47, 89) + SourceIndex(0)
8 >Emitted(48, 41) Source(47, 90) + SourceIndex(0)
---
>>>                } };
1 >^^^^^^^^^^^^^^^^
2 >                ^
3 >                 ^
4 >                  ^
5 >                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
2 >                }
3 >                 
4 >                  }
1 >Emitted(49, 17) Source(47, 90) + SourceIndex(0)
2 >Emitted(49, 18) Source(47, 91) + SourceIndex(0)
3 >Emitted(49, 19) Source(47, 91) + SourceIndex(0)
4 >Emitted(49, 20) Source(47, 92) + SourceIndex(0)
---
>>>                FindWidget.prototype.getDomNode = function () {
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                               ^^^
1->
  >			
  >		private domNode:any = null;
  >		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >		    // scenario 1
  >		    codeThing.addWidget("addWidget", this);
  >		}
  >		
  >		public 
2 >                getDomNode
3 >                                               
1->Emitted(50, 17) Source(55, 10) + SourceIndex(0)
2 >Emitted(50, 48) Source(55, 20) + SourceIndex(0)
3 >Emitted(50, 51) Source(55, 3) + SourceIndex(0)
---
>>>                    return domNode;
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^
3 >                          ^
4 >                           ^^^^^^^
5 >                                  ^
1 >public getDomNode() {
  >			
2 >                    return
3 >                           
4 >                           domNode
5 >                                  ;
1 >Emitted(51, 21) Source(56, 4) + SourceIndex(0)
2 >Emitted(51, 27) Source(56, 10) + SourceIndex(0)
3 >Emitted(51, 28) Source(56, 11) + SourceIndex(0)
4 >Emitted(51, 35) Source(56, 18) + SourceIndex(0)
5 >Emitted(51, 36) Source(56, 19) + SourceIndex(0)
---
>>>                };
1 >^^^^^^^^^^^^^^^^
2 >                ^
3 >                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
  >		
2 >                }
1 >Emitted(52, 17) Source(57, 3) + SourceIndex(0)
2 >Emitted(52, 18) Source(57, 4) + SourceIndex(0)
---
>>>                FindWidget.prototype.destroy = function () {
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                            ^^^
1->
  >		
  >		public 
2 >                destroy
3 >                                            
1->Emitted(53, 17) Source(59, 10) + SourceIndex(0)
2 >Emitted(53, 45) Source(59, 17) + SourceIndex(0)
3 >Emitted(53, 48) Source(59, 3) + SourceIndex(0)
---
>>>                };
1 >^^^^^^^^^^^^^^^^
2 >                ^
3 >                 ^^^^^^^^^^^^^^^^^^->
1 >public destroy() {
  >
  >		
2 >                }
1 >Emitted(54, 17) Source(61, 3) + SourceIndex(0)
2 >Emitted(54, 18) Source(61, 4) + SourceIndex(0)
---
>>>                return FindWidget;
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^
1->
  >
  >	
2 >                }
1->Emitted(55, 17) Source(63, 2) + SourceIndex(0)
2 >Emitted(55, 34) Source(63, 3) + SourceIndex(0)
---
>>>            }());
1 >^^^^^^^^^^^^
2 >            ^
3 >             
4 >             ^^^^
5 >                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
2 >            }
3 >             
4 >             export class FindWidget implements Sample.Thing.IWidget {
  >             
  >             		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >             			
  >             		private domNode:any = null;
  >             		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >             		    // scenario 1
  >             		    codeThing.addWidget("addWidget", this);
  >             		}
  >             		
  >             		public getDomNode() {
  >             			return domNode;
  >             		}
  >             		
  >             		public destroy() {
  >             
  >             		}
  >             
  >             	}
1 >Emitted(56, 13) Source(63, 2) + SourceIndex(0)
2 >Emitted(56, 14) Source(63, 3) + SourceIndex(0)
3 >Emitted(56, 14) Source(45, 2) + SourceIndex(0)
4 >Emitted(56, 18) Source(63, 3) + SourceIndex(0)
---
>>>            Widgets.FindWidget = FindWidget;
1->^^^^^^^^^^^^
2 >            ^^^^^^^^^^^^^^^^^^
3 >                              ^^^^^^^^^^^^^
4 >                                           ^
5 >                                            ^^^^^^^^^^^^^^^^^->
1->
2 >            FindWidget
3 >                               implements Sample.Thing.IWidget {
  >                              
  >                              		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >                              			
  >                              		private domNode:any = null;
  >                              		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >                              		    // scenario 1
  >                              		    codeThing.addWidget("addWidget", this);
  >                              		}
  >                              		
  >                              		public getDomNode() {
  >                              			return domNode;
  >                              		}
  >                              		
  >                              		public destroy() {
  >                              
  >                              		}
  >                              
  >                              	}
4 >                                           
1->Emitted(57, 13) Source(45, 15) + SourceIndex(0)
2 >Emitted(57, 31) Source(45, 25) + SourceIndex(0)
3 >Emitted(57, 44) Source(63, 3) + SourceIndex(0)
4 >Emitted(57, 45) Source(63, 3) + SourceIndex(0)
---
>>>        })(Widgets = Thing.Widgets || (Thing.Widgets = {}));
1->^^^^^^^^
2 >        ^
3 >         ^^
4 >           ^^^^^^^
5 >                  ^^^
6 >                     ^^^^^^^^^^^^^
7 >                                  ^^^^^
8 >                                       ^^^^^^^^^^^^^
9 >                                                    ^^^^^^^^
1->
  >
2 >        }
3 >         
4 >           Widgets
5 >                  
6 >                     Widgets
7 >                                  
8 >                                       Widgets
9 >                                                     {
  >                                                    	export class FindWidget implements Sample.Thing.IWidget {
  >                                                    
  >                                                    		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >                                                    			
  >                                                    		private domNode:any = null;
  >                                                    		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >                                                    		    // scenario 1
  >                                                    		    codeThing.addWidget("addWidget", this);
  >                                                    		}
  >                                                    		
  >                                                    		public getDomNode() {
  >                                                    			return domNode;
  >                                                    		}
  >                                                    		
  >                                                    		public destroy() {
  >                                                    
  >                                                    		}
  >                                                    
  >                                                    	}
  >                                                    }
1->Emitted(58, 9) Source(64, 1) + SourceIndex(0)
2 >Emitted(58, 10) Source(64, 2) + SourceIndex(0)
3 >Emitted(58, 12) Source(44, 21) + SourceIndex(0)
4 >Emitted(58, 19) Source(44, 28) + SourceIndex(0)
5 >Emitted(58, 22) Source(44, 21) + SourceIndex(0)
6 >Emitted(58, 35) Source(44, 28) + SourceIndex(0)
7 >Emitted(58, 40) Source(44, 21) + SourceIndex(0)
8 >Emitted(58, 53) Source(44, 28) + SourceIndex(0)
9 >Emitted(58, 61) Source(64, 2) + SourceIndex(0)
---
>>>    })(Thing = Sample.Thing || (Sample.Thing = {}));
1 >^^^^
2 >    ^
3 >     ^^
4 >       ^^^^^
5 >            ^^^
6 >               ^^^^^^^^^^^^
7 >                           ^^^^^
8 >                                ^^^^^^^^^^^^
9 >                                            ^^^^^^^^
1 >
2 >    }
3 >     
4 >       Thing
5 >            
6 >               Thing
7 >                           
8 >                                Thing
9 >                                            .Widgets {
  >                                            	export class FindWidget implements Sample.Thing.IWidget {
  >                                            
  >                                            		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >                                            			
  >                                            		private domNode:any = null;
  >                                            		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >                                            		    // scenario 1
  >                                            		    codeThing.addWidget("addWidget", this);
  >                                            		}
  >                                            		
  >                                            		public getDomNode() {
  >                                            			return domNode;
  >                                            		}
  >                                            		
  >                                            		public destroy() {
  >                                            
  >                                            		}
  >                                            
  >                                            	}
  >                                            }
1 >Emitted(59, 5) Source(64, 1) + SourceIndex(0)
2 >Emitted(59, 6) Source(64, 2) + SourceIndex(0)
3 >Emitted(59, 8) Source(44, 15) + SourceIndex(0)
4 >Emitted(59, 13) Source(44, 20) + SourceIndex(0)
5 >Emitted(59, 16) Source(44, 15) + SourceIndex(0)
6 >Emitted(59, 28) Source(44, 20) + SourceIndex(0)
7 >Emitted(59, 33) Source(44, 15) + SourceIndex(0)
8 >Emitted(59, 45) Source(44, 20) + SourceIndex(0)
9 >Emitted(59, 53) Source(64, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
2 >^
3 > ^^
4 >   ^^^^^^
5 >         ^^^^^
6 >              ^^^^^^
7 >                    ^^^^^^^^
8 >                            ^^^^^^^^^^^^^^^^^^^^->
1 >
2 >}
3 > 
4 >   Sample
5 >         
6 >              Sample
7 >                    .Thing.Widgets {
  >                    	export class FindWidget implements Sample.Thing.IWidget {
  >                    
  >                    		public gar(runner:(widget:Sample.Thing.IWidget)=>any) { if (true) {return runner(this);}}
  >                    			
  >                    		private domNode:any = null;
  >                    		constructor(private codeThing: Sample.Thing.ICodeThing) {
  >                    		    // scenario 1
  >                    		    codeThing.addWidget("addWidget", this);
  >                    		}
  >                    		
  >                    		public getDomNode() {
  >                    			return domNode;
  >                    		}
  >                    		
  >                    		public destroy() {
  >                    
  >                    		}
  >                    
  >                    	}
  >                    }
1 >Emitted(60, 1) Source(64, 1) + SourceIndex(0)
2 >Emitted(60, 2) Source(64, 2) + SourceIndex(0)
3 >Emitted(60, 4) Source(44, 8) + SourceIndex(0)
4 >Emitted(60, 10) Source(44, 14) + SourceIndex(0)
5 >Emitted(60, 15) Source(44, 8) + SourceIndex(0)
6 >Emitted(60, 21) Source(44, 14) + SourceIndex(0)
7 >Emitted(60, 29) Source(64, 2) + SourceIndex(0)
---
>>>var AbstractMode = /** @class */ (function () {
1->
2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
  >
  >interface IMode { getInitialState(): IState;} 
  >
1->Emitted(61, 1) Source(67, 1) + SourceIndex(0)
---
>>>    function AbstractMode() {
1->^^^^
2 >    ^^->
1->
1->Emitted(62, 5) Source(67, 1) + SourceIndex(0)
---
>>>    }
1->^^^^
2 >    ^
3 >     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->class AbstractMode implements IMode { public getInitialState(): IState { return null;} 
2 >    }
1->Emitted(63, 5) Source(67, 88) + SourceIndex(0)
2 >Emitted(63, 6) Source(67, 89) + SourceIndex(0)
---
>>>    AbstractMode.prototype.getInitialState = function () { return null; };
1->^^^^
2 >    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                          ^^^
4 >                                             ^^^^^^^^^^^^^^
5 >                                                           ^^^^^^
6 >                                                                 ^
7 >                                                                  ^^^^
8 >                                                                      ^
9 >                                                                       ^
10>                                                                        ^
1->
2 >    getInitialState
3 >                                          
4 >                                             public getInitialState(): IState { 
5 >                                                           return
6 >                                                                  
7 >                                                                  null
8 >                                                                      ;
9 >                                                                       
10>                                                                        }
1->Emitted(64, 5) Source(67, 46) + SourceIndex(0)
2 >Emitted(64, 43) Source(67, 61) + SourceIndex(0)
3 >Emitted(64, 46) Source(67, 39) + SourceIndex(0)
4 >Emitted(64, 60) Source(67, 74) + SourceIndex(0)
5 >Emitted(64, 66) Source(67, 80) + SourceIndex(0)
6 >Emitted(64, 67) Source(67, 81) + SourceIndex(0)
7 >Emitted(64, 71) Source(67, 85) + SourceIndex(0)
8 >Emitted(64, 72) Source(67, 86) + SourceIndex(0)
9 >Emitted(64, 73) Source(67, 86) + SourceIndex(0)
10>Emitted(64, 74) Source(67, 87) + SourceIndex(0)
---
>>>    return AbstractMode;
1 >^^^^
2 >    ^^^^^^^^^^^^^^^^^^^
1 > 
2 >    }
1 >Emitted(65, 5) Source(67, 88) + SourceIndex(0)
2 >Emitted(65, 24) Source(67, 89) + SourceIndex(0)
---
>>>}());
1 >
2 >^
3 > 
4 > ^^^^
5 >     ^^^^^^^^^^^^^^^^->
1 >
2 >}
3 > 
4 > class AbstractMode implements IMode { public getInitialState(): IState { return null;} }
1 >Emitted(66, 1) Source(67, 88) + SourceIndex(0)
2 >Emitted(66, 2) Source(67, 89) + SourceIndex(0)
3 >Emitted(66, 2) Source(67, 1) + SourceIndex(0)
4 >Emitted(66, 6) Source(67, 89) + SourceIndex(0)
---
>>>(function (Sample) {
1->
2 >^^^^^^^^^^^
3 >           ^^^^^^
1->
  >
  >interface IState {}
  >
  >interface Window {
  >    opener: Window;
  >}
  >declare var self: Window;
  >
  >
2 >module 
3 >           Sample
1->Emitted(67, 1) Source(76, 1) + SourceIndex(0)
2 >Emitted(67, 12) Source(76, 8) + SourceIndex(0)
3 >Emitted(67, 18) Source(76, 14) + SourceIndex(0)
---
>>>    var Thing;
1 >^^^^
2 >    ^^^^
3 >        ^^^^^
4 >             ^
5 >              ^^^^^^^^^^->
1 >.
2 >    
3 >        Thing
4 >             .Languages.PlainText {
  >             	
  >             	export class State implements IState {		
  >                     constructor(private mode: IMode) { }
  >             		public clone():IState {
  >             			return this;
  >             		}
  >             
  >             		public equals(other:IState):boolean {
  >             			return this === other;
  >             		}
  >             		
  >             		public getMode(): IMode { return mode; }
  >             	}
  >             	
  >             	export class Mode extends AbstractMode {
  >             
  >             		// scenario 2
  >             		public getInitialState(): IState {
  >             			return new State(self);
  >             		}
  >             
  >             
  >             	}
  >             }
1 >Emitted(68, 5) Source(76, 15) + SourceIndex(0)
2 >Emitted(68, 9) Source(76, 15) + SourceIndex(0)
3 >Emitted(68, 14) Source(76, 20) + SourceIndex(0)
4 >Emitted(68, 15) Source(100, 2) + SourceIndex(0)
---
>>>    (function (Thing) {
1->^^^^
2 >    ^^^^^^^^^^^
3 >               ^^^^^
4 >                    ^^^->
1->
2 >    
3 >               Thing
1->Emitted(69, 5) Source(76, 15) + SourceIndex(0)
2 >Emitted(69, 16) Source(76, 15) + SourceIndex(0)
3 >Emitted(69, 21) Source(76, 20) + SourceIndex(0)
---
>>>        var Languages;
1->^^^^^^^^
2 >        ^^^^
3 >            ^^^^^^^^^
4 >                     ^
5 >                      ^^^^^^^^^^->
1->.
2 >        
3 >            Languages
4 >                     .PlainText {
  >                     	
  >                     	export class State implements IState {		
  >                             constructor(private mode: IMode) { }
  >                     		public clone():IState {
  >                     			return this;
  >                     		}
  >                     
  >                     		public equals(other:IState):boolean {
  >                     			return this === other;
  >                     		}
  >                     		
  >                     		public getMode(): IMode { return mode; }
  >                     	}
  >                     	
  >                     	export class Mode extends AbstractMode {
  >                     
  >                     		// scenario 2
  >                     		public getInitialState(): IState {
  >                     			return new State(self);
  >                     		}
  >                     
  >                     
  >                     	}
  >                     }
1->Emitted(70, 9) Source(76, 21) + SourceIndex(0)
2 >Emitted(70, 13) Source(76, 21) + SourceIndex(0)
3 >Emitted(70, 22) Source(76, 30) + SourceIndex(0)
4 >Emitted(70, 23) Source(100, 2) + SourceIndex(0)
---
>>>        (function (Languages) {
1->^^^^^^^^
2 >        ^^^^^^^^^^^
3 >                   ^^^^^^^^^
1->
2 >        
3 >                   Languages
1->Emitted(71, 9) Source(76, 21) + SourceIndex(0)
2 >Emitted(71, 20) Source(76, 21) + SourceIndex(0)
3 >Emitted(71, 29) Source(76, 30) + SourceIndex(0)
---
>>>            var PlainText;
1 >^^^^^^^^^^^^
2 >            ^^^^
3 >                ^^^^^^^^^
4 >                         ^
5 >                          ^^^^^^^^^^->
1 >.
2 >            
3 >                PlainText
4 >                          {
  >                         	
  >                         	export class State implements IState {		
  >                                 constructor(private mode: IMode) { }
  >                         		public clone():IState {
  >                         			return this;
  >                         		}
  >                         
  >                         		public equals(other:IState):boolean {
  >                         			return this === other;
  >                         		}
  >                         		
  >                         		public getMode(): IMode { return mode; }
  >                         	}
  >                         	
  >                         	export class Mode extends AbstractMode {
  >                         
  >                         		// scenario 2
  >                         		public getInitialState(): IState {
  >                         			return new State(self);
  >                         		}
  >                         
  >                         
  >                         	}
  >                         }
1 >Emitted(72, 13) Source(76, 31) + SourceIndex(0)
2 >Emitted(72, 17) Source(76, 31) + SourceIndex(0)
3 >Emitted(72, 26) Source(76, 40) + SourceIndex(0)
4 >Emitted(72, 27) Source(100, 2) + SourceIndex(0)
---
>>>            (function (PlainText) {
1->^^^^^^^^^^^^
2 >            ^^^^^^^^^^^
3 >                       ^^^^^^^^^
4 >                                ^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
2 >            
3 >                       PlainText
1->Emitted(73, 13) Source(76, 31) + SourceIndex(0)
2 >Emitted(73, 24) Source(76, 31) + SourceIndex(0)
3 >Emitted(73, 33) Source(76, 40) + SourceIndex(0)
---
>>>                var State = /** @class */ (function () {
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1-> {
  >	
  >	
1->Emitted(74, 17) Source(78, 2) + SourceIndex(0)
---
>>>                    function State(mode) {
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^
3 >                                   ^^^^
4 >                                       ^^^->
1->export class State implements IState {		
  >        
2 >                    constructor(private 
3 >                                   mode: IMode
1->Emitted(75, 21) Source(79, 9) + SourceIndex(0)
2 >Emitted(75, 36) Source(79, 29) + SourceIndex(0)
3 >Emitted(75, 40) Source(79, 40) + SourceIndex(0)
---
>>>                        this.mode = mode;
1->^^^^^^^^^^^^^^^^^^^^^^^^
2 >                        ^^^^^^^^^
3 >                                 ^^^
4 >                                    ^^^^
5 >                                        ^
1->
2 >                        mode
3 >                                 
4 >                                    mode
5 >                                        : IMode
1->Emitted(76, 25) Source(79, 29) + SourceIndex(0)
2 >Emitted(76, 34) Source(79, 33) + SourceIndex(0)
3 >Emitted(76, 37) Source(79, 29) + SourceIndex(0)
4 >Emitted(76, 41) Source(79, 33) + SourceIndex(0)
5 >Emitted(76, 42) Source(79, 40) + SourceIndex(0)
---
>>>                    }
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^
3 >                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >) { 
2 >                    }
1 >Emitted(77, 21) Source(79, 44) + SourceIndex(0)
2 >Emitted(77, 22) Source(79, 45) + SourceIndex(0)
---
>>>                    State.prototype.clone = function () {
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^
3 >                                         ^^^
1->
  >		public 
2 >                    clone
3 >                                         
1->Emitted(78, 21) Source(80, 10) + SourceIndex(0)
2 >Emitted(78, 42) Source(80, 15) + SourceIndex(0)
3 >Emitted(78, 45) Source(80, 3) + SourceIndex(0)
---
>>>                        return this;
1 >^^^^^^^^^^^^^^^^^^^^^^^^
2 >                        ^^^^^^
3 >                              ^
4 >                               ^^^^
5 >                                   ^
1 >public clone():IState {
  >			
2 >                        return
3 >                               
4 >                               this
5 >                                   ;
1 >Emitted(79, 25) Source(81, 4) + SourceIndex(0)
2 >Emitted(79, 31) Source(81, 10) + SourceIndex(0)
3 >Emitted(79, 32) Source(81, 11) + SourceIndex(0)
4 >Emitted(79, 36) Source(81, 15) + SourceIndex(0)
5 >Emitted(79, 37) Source(81, 16) + SourceIndex(0)
---
>>>                    };
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^
3 >                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
  >		
2 >                    }
1 >Emitted(80, 21) Source(82, 3) + SourceIndex(0)
2 >Emitted(80, 22) Source(82, 4) + SourceIndex(0)
---
>>>                    State.prototype.equals = function (other) {
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^
3 >                                          ^^^
4 >                                             ^^^^^^^^^^
5 >                                                       ^^^^^
1->
  >
  >		public 
2 >                    equals
3 >                                          
4 >                                             public equals(
5 >                                                       other:IState
1->Emitted(81, 21) Source(84, 10) + SourceIndex(0)
2 >Emitted(81, 43) Source(84, 16) + SourceIndex(0)
3 >Emitted(81, 46) Source(84, 3) + SourceIndex(0)
4 >Emitted(81, 56) Source(84, 17) + SourceIndex(0)
5 >Emitted(81, 61) Source(84, 29) + SourceIndex(0)
---
>>>                        return this === other;
1 >^^^^^^^^^^^^^^^^^^^^^^^^
2 >                        ^^^^^^
3 >                              ^
4 >                               ^^^^
5 >                                   ^^^^^
6 >                                        ^^^^^
7 >                                             ^
1 >):boolean {
  >			
2 >                        return
3 >                               
4 >                               this
5 >                                    === 
6 >                                        other
7 >                                             ;
1 >Emitted(82, 25) Source(85, 4) + SourceIndex(0)
2 >Emitted(82, 31) Source(85, 10) + SourceIndex(0)
3 >Emitted(82, 32) Source(85, 11) + SourceIndex(0)
4 >Emitted(82, 36) Source(85, 15) + SourceIndex(0)
5 >Emitted(82, 41) Source(85, 20) + SourceIndex(0)
6 >Emitted(82, 46) Source(85, 25) + SourceIndex(0)
7 >Emitted(82, 47) Source(85, 26) + SourceIndex(0)
---
>>>                    };
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^
3 >                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
  >		
2 >                    }
1 >Emitted(83, 21) Source(86, 3) + SourceIndex(0)
2 >Emitted(83, 22) Source(86, 4) + SourceIndex(0)
---
>>>                    State.prototype.getMode = function () { return mode; };
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^^
3 >                                           ^^^
4 >                                              ^^^^^^^^^^^^^^
5 >                                                            ^^^^^^
6 >                                                                  ^
7 >                                                                   ^^^^
8 >                                                                       ^
9 >                                                                        ^
10>                                                                         ^
1->
  >		
  >		public 
2 >                    getMode
3 >                                           
4 >                                              public getMode(): IMode { 
5 >                                                            return
6 >                                                                   
7 >                                                                   mode
8 >                                                                       ;
9 >                                                                         
10>                                                                         }
1->Emitted(84, 21) Source(88, 10) + SourceIndex(0)
2 >Emitted(84, 44) Source(88, 17) + SourceIndex(0)
3 >Emitted(84, 47) Source(88, 3) + SourceIndex(0)
4 >Emitted(84, 61) Source(88, 29) + SourceIndex(0)
5 >Emitted(84, 67) Source(88, 35) + SourceIndex(0)
6 >Emitted(84, 68) Source(88, 36) + SourceIndex(0)
7 >Emitted(84, 72) Source(88, 40) + SourceIndex(0)
8 >Emitted(84, 73) Source(88, 41) + SourceIndex(0)
9 >Emitted(84, 74) Source(88, 42) + SourceIndex(0)
10>Emitted(84, 75) Source(88, 43) + SourceIndex(0)
---
>>>                    return State;
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^
1 >
  >	
2 >                    }
1 >Emitted(85, 21) Source(89, 2) + SourceIndex(0)
2 >Emitted(85, 33) Source(89, 3) + SourceIndex(0)
---
>>>                }());
1 >^^^^^^^^^^^^^^^^
2 >                ^
3 >                 
4 >                 ^^^^
5 >                     ^^^^^^^^^^^^^^^^^^^^->
1 >
2 >                }
3 >                 
4 >                 export class State implements IState {		
  >                         constructor(private mode: IMode) { }
  >                 		public clone():IState {
  >                 			return this;
  >                 		}
  >                 
  >                 		public equals(other:IState):boolean {
  >                 			return this === other;
  >                 		}
  >                 		
  >                 		public getMode(): IMode { return mode; }
  >                 	}
1 >Emitted(86, 17) Source(89, 2) + SourceIndex(0)
2 >Emitted(86, 18) Source(89, 3) + SourceIndex(0)
3 >Emitted(86, 18) Source(78, 2) + SourceIndex(0)
4 >Emitted(86, 22) Source(89, 3) + SourceIndex(0)
---
>>>                PlainText.State = State;
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^
3 >                               ^^^^^^^^
4 >                                       ^
5 >                                        ^^^^^^^^^^^^^^^^^^^^^^->
1->
2 >                State
3 >                                implements IState {		
  >                                       constructor(private mode: IMode) { }
  >                               		public clone():IState {
  >                               			return this;
  >                               		}
  >                               
  >                               		public equals(other:IState):boolean {
  >                               			return this === other;
  >                               		}
  >                               		
  >                               		public getMode(): IMode { return mode; }
  >                               	}
4 >                                       
1->Emitted(87, 17) Source(78, 15) + SourceIndex(0)
2 >Emitted(87, 32) Source(78, 20) + SourceIndex(0)
3 >Emitted(87, 40) Source(89, 3) + SourceIndex(0)
4 >Emitted(87, 41) Source(89, 3) + SourceIndex(0)
---
>>>                var Mode = /** @class */ (function (_super) {
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
  >	
  >	
1->Emitted(88, 17) Source(91, 2) + SourceIndex(0)
---
>>>                    __extends(Mode, _super);
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^^^
1->export class Mode extends 
2 >                    AbstractMode
1->Emitted(89, 21) Source(91, 28) + SourceIndex(0)
2 >Emitted(89, 45) Source(91, 40) + SourceIndex(0)
---
>>>                    function Mode() {
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
1 >Emitted(90, 21) Source(91, 2) + SourceIndex(0)
---
>>>                        return _super !== null && _super.apply(this, arguments) || this;
>>>                    }
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^
3 >                     ^^^^^^^^^^^^^->
1->export class Mode extends AbstractMode {
  >
  >		// scenario 2
  >		public getInitialState(): IState {
  >			return new State(self);
  >		}
  >
  >
  >	
2 >                    }
1->Emitted(92, 21) Source(99, 2) + SourceIndex(0)
2 >Emitted(92, 22) Source(99, 3) + SourceIndex(0)
---
>>>                    // scenario 2
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^
3 >                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
2 >                    // scenario 2
1->Emitted(93, 21) Source(93, 3) + SourceIndex(0)
2 >Emitted(93, 34) Source(93, 16) + SourceIndex(0)
---
>>>                    Mode.prototype.getInitialState = function () {
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 >                                                  ^^^
1->
  >		public 
2 >                    getInitialState
3 >                                                  
1->Emitted(94, 21) Source(94, 10) + SourceIndex(0)
2 >Emitted(94, 51) Source(94, 25) + SourceIndex(0)
3 >Emitted(94, 54) Source(94, 3) + SourceIndex(0)
---
>>>                        return new State(self);
1 >^^^^^^^^^^^^^^^^^^^^^^^^
2 >                        ^^^^^^
3 >                              ^
4 >                               ^^^^
5 >                                   ^^^^^
6 >                                        ^
7 >                                         ^^^^
8 >                                             ^
9 >                                              ^
1 >public getInitialState(): IState {
  >			
2 >                        return
3 >                               
4 >                               new 
5 >                                   State
6 >                                        (
7 >                                         self
8 >                                             )
9 >                                              ;
1 >Emitted(95, 25) Source(95, 4) + SourceIndex(0)
2 >Emitted(95, 31) Source(95, 10) + SourceIndex(0)
3 >Emitted(95, 32) Source(95, 11) + SourceIndex(0)
4 >Emitted(95, 36) Source(95, 15) + SourceIndex(0)
5 >Emitted(95, 41) Source(95, 20) + SourceIndex(0)
6 >Emitted(95, 42) Source(95, 21) + SourceIndex(0)
7 >Emitted(95, 46) Source(95, 25) + SourceIndex(0)
8 >Emitted(95, 47) Source(95, 26) + SourceIndex(0)
9 >Emitted(95, 48) Source(95, 27) + SourceIndex(0)
---
>>>                    };
1 >^^^^^^^^^^^^^^^^^^^^
2 >                    ^
3 >                     ^^^^^^^^^^^^->
1 >
  >		
2 >                    }
1 >Emitted(96, 21) Source(96, 3) + SourceIndex(0)
2 >Emitted(96, 22) Source(96, 4) + SourceIndex(0)
---
>>>                    return Mode;
1->^^^^^^^^^^^^^^^^^^^^
2 >                    ^^^^^^^^^^^
3 >                               ^^^->
1->
  >
  >
  >	
2 >                    }
1->Emitted(97, 21) Source(99, 2) + SourceIndex(0)
2 >Emitted(97, 32) Source(99, 3) + SourceIndex(0)
---
>>>                }(AbstractMode));
1->^^^^^^^^^^^^^^^^
2 >                ^
3 >                 
4 >                 ^
5 >                  ^^^^^^^^^^^^
6 >                              ^^^
7 >                                 ^^^^^^->
1->
2 >                }
3 >                 
4 >                 export class Mode extends 
5 >                  AbstractMode
6 >                               {
  >                              
  >                              		// scenario 2
  >                              		public getInitialState(): IState {
  >                              			return new State(self);
  >                              		}
  >                              
  >                              
  >                              	}
1->Emitted(98, 17) Source(99, 2) + SourceIndex(0)
2 >Emitted(98, 18) Source(99, 3) + SourceIndex(0)
3 >Emitted(98, 18) Source(91, 2) + SourceIndex(0)
4 >Emitted(98, 19) Source(91, 28) + SourceIndex(0)
5 >Emitted(98, 31) Source(91, 40) + SourceIndex(0)
6 >Emitted(98, 34) Source(99, 3) + SourceIndex(0)
---
>>>                PlainText.Mode = Mode;
1->^^^^^^^^^^^^^^^^
2 >                ^^^^^^^^^^^^^^
3 >                              ^^^^^^^
4 >                                     ^
5 >                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
2 >                Mode
3 >                               extends AbstractMode {
  >                              
  >                              		// scenario 2
  >                              		public getInitialState(): IState {
  >                              			return new State(self);
  >                              		}
  >                              
  >                              
  >                              	}
4 >                                     
1->Emitted(99, 17) Source(91, 15) + SourceIndex(0)
2 >Emitted(99, 31) Source(91, 19) + SourceIndex(0)
3 >Emitted(99, 38) Source(99, 3) + SourceIndex(0)
4 >Emitted(99, 39) Source(99, 3) + SourceIndex(0)
---
>>>            })(PlainText = Languages.PlainText || (Languages.PlainText = {}));
1->^^^^^^^^^^^^
2 >            ^
3 >             ^^
4 >               ^^^^^^^^^
5 >                        ^^^
6 >                           ^^^^^^^^^^^^^^^^^^^
7 >                                              ^^^^^
8 >                                                   ^^^^^^^^^^^^^^^^^^^
9 >                                                                      ^^^^^^^^
1->
  >
2 >            }
3 >             
4 >               PlainText
5 >                        
6 >                           PlainText
7 >                                              
8 >                                                   PlainText
9 >                                                                       {
  >                                                                      	
  >                                                                      	export class State implements IState {		
  >                                                                              constructor(private mode: IMode) { }
  >                                                                      		public clone():IState {
  >                                                                      			return this;
  >                                                                      		}
  >                                                                      
  >                                                                      		public equals(other:IState):boolean {
  >                                                                      			return this === other;
  >                                                                      		}
  >                                                                      		
  >                                                                      		public getMode(): IMode { return mode; }
  >                                                                      	}
  >                                                                      	
  >                                                                      	export class Mode extends AbstractMode {
  >                                                                      
  >                                                                      		// scenario 2
  >                                                                      		public getInitialState(): IState {
  >                                                                      			return new State(self);
  >                                                                      		}
  >                                                                      
  >                                                                      
  >                                                                      	}
  >                                                                      }
1->Emitted(100, 13) Source(100, 1) + SourceIndex(0)
2 >Emitted(100, 14) Source(100, 2) + SourceIndex(0)
3 >Emitted(100, 16) Source(76, 31) + SourceIndex(0)
4 >Emitted(100, 25) Source(76, 40) + SourceIndex(0)
5 >Emitted(100, 28) Source(76, 31) + SourceIndex(0)
6 >Emitted(100, 47) Source(76, 40) + SourceIndex(0)
7 >Emitted(100, 52) Source(76, 31) + SourceIndex(0)
8 >Emitted(100, 71) Source(76, 40) + SourceIndex(0)
9 >Emitted(100, 79) Source(100, 2) + SourceIndex(0)
---
>>>        })(Languages = Thing.Languages || (Thing.Languages = {}));
1 >^^^^^^^^
2 >        ^
3 >         ^^
4 >           ^^^^^^^^^
5 >                    ^^^
6 >                       ^^^^^^^^^^^^^^^
7 >                                      ^^^^^
8 >                                           ^^^^^^^^^^^^^^^
9 >                                                          ^^^^^^^^
1 >
2 >        }
3 >         
4 >           Languages
5 >                    
6 >                       Languages
7 >                                      
8 >                                           Languages
9 >                                                          .PlainText {
  >                                                          	
  >                                                          	export class State implements IState {		
  >                                                                  constructor(private mode: IMode) { }
  >                                                          		public clone():IState {
  >                                                          			return this;
  >                                                          		}
  >                                                          
  >                                                          		public equals(other:IState):boolean {
  >                                                          			return this === other;
  >                                                          		}
  >                                                          		
  >                                                          		public getMode(): IMode { return mode; }
  >                                                          	}
  >                                                          	
  >                                                          	export class Mode extends AbstractMode {
  >                                                          
  >                                                          		// scenario 2
  >                                                          		public getInitialState(): IState {
  >                                                          			return new State(self);
  >                                                          		}
  >                                                          
  >                                                          
  >                                                          	}
  >                                                          }
1 >Emitted(101, 9) Source(100, 1) + SourceIndex(0)
2 >Emitted(101, 10) Source(100, 2) + SourceIndex(0)
3 >Emitted(101, 12) Source(76, 21) + SourceIndex(0)
4 >Emitted(101, 21) Source(76, 30) + SourceIndex(0)
5 >Emitted(101, 24) Source(76, 21) + SourceIndex(0)
6 >Emitted(101, 39) Source(76, 30) + SourceIndex(0)
7 >Emitted(101, 44) Source(76, 21) + SourceIndex(0)
8 >Emitted(101, 59) Source(76, 30) + SourceIndex(0)
9 >Emitted(101, 67) Source(100, 2) + SourceIndex(0)
---
>>>    })(Thing = Sample.Thing || (Sample.Thing = {}));
1 >^^^^
2 >    ^
3 >     ^^
4 >       ^^^^^
5 >            ^^^
6 >               ^^^^^^^^^^^^
7 >                           ^^^^^
8 >                                ^^^^^^^^^^^^
9 >                                            ^^^^^^^^
1 >
2 >    }
3 >     
4 >       Thing
5 >            
6 >               Thing
7 >                           
8 >                                Thing
9 >                                            .Languages.PlainText {
  >                                            	
  >                                            	export class State implements IState {		
  >                                                    constructor(private mode: IMode) { }
  >                                            		public clone():IState {
  >                                            			return this;
  >                                            		}
  >                                            
  >                                            		public equals(other:IState):boolean {
  >                                            			return this === other;
  >                                            		}
  >                                            		
  >                                            		public getMode(): IMode { return mode; }
  >                                            	}
  >                                            	
  >                                            	export class Mode extends AbstractMode {
  >                                            
  >                                            		// scenario 2
  >                                            		public getInitialState(): IState {
  >                                            			return new State(self);
  >                                            		}
  >                                            
  >                                            
  >                                            	}
  >                                            }
1 >Emitted(102, 5) Source(100, 1) + SourceIndex(0)
2 >Emitted(102, 6) Source(100, 2) + SourceIndex(0)
3 >Emitted(102, 8) Source(76, 15) + SourceIndex(0)
4 >Emitted(102, 13) Source(76, 20) + SourceIndex(0)
5 >Emitted(102, 16) Source(76, 15) + SourceIndex(0)
6 >Emitted(102, 28) Source(76, 20) + SourceIndex(0)
7 >Emitted(102, 33) Source(76, 15) + SourceIndex(0)
8 >Emitted(102, 45) Source(76, 20) + SourceIndex(0)
9 >Emitted(102, 53) Source(100, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
2 >^
3 > ^^
4 >   ^^^^^^
5 >         ^^^^^
6 >              ^^^^^^
7 >                    ^^^^^^^^
8 >                            ^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
2 >}
3 > 
4 >   Sample
5 >         
6 >              Sample
7 >                    .Thing.Languages.PlainText {
  >                    	
  >                    	export class State implements IState {		
  >                            constructor(private mode: IMode) { }
  >                    		public clone():IState {
  >                    			return this;
  >                    		}
  >                    
  >                    		public equals(other:IState):boolean {
  >                    			return this === other;
  >                    		}
  >                    		
  >                    		public getMode(): IMode { return mode; }
  >                    	}
  >                    	
  >                    	export class Mode extends AbstractMode {
  >                    
  >                    		// scenario 2
  >                    		public getInitialState(): IState {
  >                    			return new State(self);
  >                    		}
  >                    
  >                    
  >                    	}
  >                    }
1 >Emitted(103, 1) Source(100, 1) + SourceIndex(0)
2 >Emitted(103, 2) Source(100, 2) + SourceIndex(0)
3 >Emitted(103, 4) Source(76, 8) + SourceIndex(0)
4 >Emitted(103, 10) Source(76, 14) + SourceIndex(0)
5 >Emitted(103, 15) Source(76, 8) + SourceIndex(0)
6 >Emitted(103, 21) Source(76, 14) + SourceIndex(0)
7 >Emitted(103, 29) Source(100, 2) + SourceIndex(0)
---
>>>//# sourceMappingURL=recursiveClassReferenceTest.js.map