File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 99
1010import {
1111 CommonFlags ,
12+ Feature ,
1213 LIBRARY_PREFIX ,
1314 PATH_DELIMITER
1415} from "./common" ;
@@ -91,6 +92,7 @@ import {
9192
9293 mangleInternalPath
9394} from "./ast" ;
95+ import { Options } from "./compiler" ;
9496
9597/** Represents a dependee. */
9698class Dependee {
@@ -119,7 +121,8 @@ export class Parser extends DiagnosticEmitter {
119121 sources : Source [ ] ;
120122 /** Current overridden module name. */
121123 currentModuleName : string | null = null ;
122-
124+ /** Temporary variable so I can disable parsing tuples if multi-variable is disabled */
125+ readonly options : Options | null = null ;
123126 /** Constructs a new parser. */
124127 constructor (
125128 diagnostics : DiagnosticMessage [ ] | null = null ,
@@ -576,7 +579,7 @@ export class Parser extends DiagnosticEmitter {
576579 }
577580
578581 // '[' Type (',' Type)* ']'
579- } else if ( token == Token . OpenBracket ) {
582+ } else if ( this . options && this . options . hasFeature ( Feature . MultiValue ) && token == Token . OpenBracket ) {
580583 let elements : TypeNode [ ] = [ ] ;
581584 let elementNames : ( IdentifierExpression | null ) [ ] = [ ] ;
582585 let hasElementNames = false ;
Original file line number Diff line number Diff line change @@ -442,6 +442,9 @@ export class Program extends DiagnosticEmitter {
442442 let nativeFile = new File ( this , Source . native ) ;
443443 this . nativeFile = nativeFile ;
444444 this . filesByName . set ( nativeFile . internalName , nativeFile ) ;
445+
446+ // temporary fix
447+ this . parser . options = this . options ;
445448 }
446449
447450 /** Module instance. */
Original file line number Diff line number Diff line change 1+ {
2+ "asc_flags" : [
3+ " --disable" , " multi-value"
4+ ],
5+ "stderr" : [
6+ " TS1110: Type expected." ,
7+ " 3 parse error(s)"
8+ ]
9+ }
Original file line number Diff line number Diff line change 1+ export function tupleDisabled ( x : [ left : i32 , right : i32 ] ) : void { }
2+ export type tupleTypeDisabled1 = [ i32 , i32 ] ;
3+ export type tupleTypeDisabled2 = [ ] ;
You can’t perform that action at this time.
0 commit comments