File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -26,6 +26,30 @@ class Test262BaselineRunner extends RunnerBase {
2626 return ( < any > ts ) . SyntaxKind [ k ]
2727 }
2828
29+ function getFlagName ( flags : any , f : number ) : any {
30+ if ( f === 0 ) return 0 ;
31+ var result = "" ;
32+ ts . forEach ( Object . getOwnPropertyNames ( flags ) , ( v : any ) => {
33+ if ( isFinite ( v ) ) {
34+ v = + v ;
35+ if ( f === + v ) {
36+ result = flags [ v ] ;
37+ return true ;
38+ }
39+ else if ( ( f & v ) > 0 ) {
40+ if ( result . length )
41+ result += " | " ;
42+ result += flags [ v ] ;
43+ return false ;
44+ }
45+ }
46+ } ) ;
47+ return result ;
48+ }
49+
50+ function getNodeFlagName ( f : number ) { return getFlagName ( ( < any > ts ) . NodeFlags , f ) ; }
51+ function getParserContextFlagName ( f : number ) { return getFlagName ( ( < any > ts ) . ParserContextFlags , f ) ; }
52+
2953 function serializeNode ( n : ts . Node ) : any {
3054 var o = { kind : getKindName ( n . kind ) } ;
3155 ts . forEach ( Object . getOwnPropertyNames ( n ) , i => {
@@ -39,13 +63,24 @@ class Test262BaselineRunner extends RunnerBase {
3963 case "parseDiagnostics" :
4064 case "grammarDiagnostics" :
4165 return undefined ;
66+
67+ case "flags" :
68+ ( < any > o ) [ i ] = getNodeFlagName ( n . flags ) ;
69+ return undefined ;
70+
71+ case "parserContextFlags" :
72+ ( < any > o ) [ i ] = getParserContextFlagName ( n . parserContextFlags ) ;
73+ return undefined ;
74+
4275 case "nextContainer" :
4376 if ( n . nextContainer ) {
44- ( < any > o ) [ i ] = { kind : getKindName ( n . nextContainer . kind ) , pos : n . nextContainer . pos , end : n . nextContainer . end } ;
77+ ( < any > o ) [ i ] = { kind : n . nextContainer . kind , pos : n . nextContainer . pos , end : n . nextContainer . end } ;
4578 return undefined ;
4679 }
80+
4781 case "text" :
4882 if ( n . kind === ts . SyntaxKind . SourceFile ) return undefined ;
83+
4984 default :
5085 ( < any > o ) [ i ] = ( ( < any > n ) [ i ] ) ;
5186 }
You can’t perform that action at this time.
0 commit comments