@@ -796,9 +796,15 @@ module Harness {
796
796
}
797
797
}
798
798
799
+ export function createSourceFileAndAssertInvariants ( fileName : string , sourceText : string , languageVersion : ts . ScriptTarget ) {
800
+ var result = ts . createSourceFile ( fileName , sourceText , languageVersion , /*setParentNodes:*/ true ) ;
801
+ Utils . assertInvariants ( result , /*parent:*/ undefined ) ;
802
+ return result ;
803
+ }
804
+
799
805
export var defaultLibFileName = 'lib.d.ts' ;
800
- export var defaultLibSourceFile = ts . createSourceFile ( defaultLibFileName , IO . readFile ( libFolder + 'lib.core.d.ts' ) , /*languageVersion*/ ts . ScriptTarget . Latest ) ;
801
- export var defaultES6LibSourceFile = ts . createSourceFile ( defaultLibFileName , IO . readFile ( libFolder + 'lib.core.es6.d.ts' ) , /*languageVersion*/ ts . ScriptTarget . Latest ) ;
806
+ export var defaultLibSourceFile = createSourceFileAndAssertInvariants ( defaultLibFileName , IO . readFile ( libFolder + 'lib.core.d.ts' ) , /*languageVersion*/ ts . ScriptTarget . Latest ) ;
807
+ export var defaultES6LibSourceFile = createSourceFileAndAssertInvariants ( defaultLibFileName , IO . readFile ( libFolder + 'lib.core.es6.d.ts' ) , /*languageVersion*/ ts . ScriptTarget . Latest ) ;
802
808
803
809
804
810
// Cache these between executions so we don't have to re-parse them for every test
@@ -828,7 +834,7 @@ module Harness {
828
834
function register ( file : { unitName : string ; content : string ; } ) {
829
835
if ( file . content !== undefined ) {
830
836
var fileName = ts . normalizeSlashes ( file . unitName ) ;
831
- filemap [ getCanonicalFileName ( fileName ) ] = ts . createSourceFile ( fileName , file . content , scriptTarget ) ;
837
+ filemap [ getCanonicalFileName ( fileName ) ] = createSourceFileAndAssertInvariants ( fileName , file . content , scriptTarget ) ;
832
838
}
833
839
} ;
834
840
inputFiles . forEach ( register ) ;
@@ -845,7 +851,7 @@ module Harness {
845
851
}
846
852
else if ( fn === fourslashFileName ) {
847
853
var tsFn = 'tests/cases/fourslash/' + fourslashFileName ;
848
- fourslashSourceFile = fourslashSourceFile || ts . createSourceFile ( tsFn , Harness . IO . readFile ( tsFn ) , scriptTarget ) ;
854
+ fourslashSourceFile = fourslashSourceFile || createSourceFileAndAssertInvariants ( tsFn , Harness . IO . readFile ( tsFn ) , scriptTarget ) ;
849
855
return fourslashSourceFile ;
850
856
}
851
857
else {
@@ -1069,7 +1075,7 @@ module Harness {
1069
1075
var register = ( file : { unitName : string ; content : string ; } ) => {
1070
1076
if ( file . content !== undefined ) {
1071
1077
var fileName = ts . normalizeSlashes ( file . unitName ) ;
1072
- filemap [ getCanonicalFileName ( fileName ) ] = ts . createSourceFile ( fileName , file . content , options . target ) ;
1078
+ filemap [ getCanonicalFileName ( fileName ) ] = createSourceFileAndAssertInvariants ( fileName , file . content , options . target ) ;
1073
1079
}
1074
1080
} ;
1075
1081
inputFiles . forEach ( register ) ;
0 commit comments