diff --git a/__tests__/Data.ts b/__tests__/Data.ts index 197c26f..52ad650 100644 --- a/__tests__/Data.ts +++ b/__tests__/Data.ts @@ -5,6 +5,10 @@ import { ILexingResult } from 'chevrotain'; // Read Raw Data const Parser_Pass = fs.readFileSync('./__tests__/Data/Parser/Parser_Pass.br', 'utf8'); const Literals_pass = fs.readFileSync('./__tests__/Data/Parser/Parser_Pass.br', 'utf8'); +const Operator_Precedence_Pass = fs.readFileSync( + './__tests__/Data/Parser/Operator_Precedence_Pass.br', + 'utf8' +); // Helpers const serializeInput = (lexStream: ILexingResult): string => { const tokens = lexStream.tokens.map((token) => { @@ -24,3 +28,7 @@ fs.writeFileSync( './__tests__/Data/Parser/Literals_Pass.json', serializeInput(lex(Literals_pass, '', 'file')) ); +fs.writeFileSync( + './__tests__/Data/Parser/Operator_Precedence_Pass.json', + serializeInput(lex(Operator_Precedence_Pass, '', 'file')) +); diff --git a/__tests__/Data/Parser/Literals_Pass.json b/__tests__/Data/Parser/Literals_Pass.json index 62c7fd9..bda3b6e 100644 --- a/__tests__/Data/Parser/Literals_Pass.json +++ b/__tests__/Data/Parser/Literals_Pass.json @@ -1 +1 @@ -{"tokens":[{"image":"import","startOffset":18,"endOffset":23,"startLine":2,"endLine":2,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"a","startOffset":25,"endOffset":25,"startLine":2,"endLine":2,"startColumn":8,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":27,"endOffset":30,"startLine":2,"endLine":2,"startColumn":10,"endColumn":13,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'test'","startOffset":32,"endOffset":37,"startLine":2,"endLine":2,"startColumn":15,"endColumn":20,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":38,"endOffset":38,"startLine":2,"endLine":2,"startColumn":21,"endColumn":21,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"import","startOffset":40,"endOffset":45,"startLine":3,"endLine":3,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"wasm","startOffset":47,"endOffset":50,"startLine":3,"endLine":3,"startColumn":8,"endColumn":11,"tokenTypeIdx":16,"tokenType":"WasmToken"},{"image":"print","startOffset":52,"endOffset":56,"startLine":3,"endLine":3,"startColumn":13,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":57,"endOffset":57,"startLine":3,"endLine":3,"startColumn":18,"endColumn":18,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"(","startOffset":59,"endOffset":59,"startLine":3,"endLine":3,"startColumn":20,"endColumn":20,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"String","startOffset":60,"endOffset":65,"startLine":3,"endLine":3,"startColumn":21,"endColumn":26,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":66,"endOffset":66,"startLine":3,"endLine":3,"startColumn":27,"endColumn":27,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":68,"endOffset":69,"startLine":3,"endLine":3,"startColumn":29,"endColumn":30,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"Void","startOffset":71,"endOffset":74,"startLine":3,"endLine":3,"startColumn":32,"endColumn":35,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":76,"endOffset":79,"startLine":3,"endLine":3,"startColumn":37,"endColumn":40,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'print'","startOffset":81,"endOffset":87,"startLine":3,"endLine":3,"startColumn":42,"endColumn":48,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":88,"endOffset":88,"startLine":3,"endLine":3,"startColumn":49,"endColumn":49,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"import","startOffset":90,"endOffset":95,"startLine":4,"endLine":4,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"wasm","startOffset":97,"endOffset":100,"startLine":4,"endLine":4,"startColumn":8,"endColumn":11,"tokenTypeIdx":16,"tokenType":"WasmToken"},{"image":"f","startOffset":102,"endOffset":102,"startLine":4,"endLine":4,"startColumn":13,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":103,"endOffset":103,"startLine":4,"endLine":4,"startColumn":14,"endColumn":14,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"(","startOffset":105,"endOffset":105,"startLine":4,"endLine":4,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":106,"endOffset":106,"startLine":4,"endLine":4,"startColumn":17,"endColumn":17,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":108,"endOffset":109,"startLine":4,"endLine":4,"startColumn":19,"endColumn":20,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"Void","startOffset":111,"endOffset":114,"startLine":4,"endLine":4,"startColumn":22,"endColumn":25,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":116,"endOffset":119,"startLine":4,"endLine":4,"startColumn":27,"endColumn":30,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'print'","startOffset":121,"endOffset":127,"startLine":4,"endLine":4,"startColumn":32,"endColumn":38,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":128,"endOffset":128,"startLine":4,"endLine":4,"startColumn":39,"endColumn":39,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"import","startOffset":130,"endOffset":135,"startLine":5,"endLine":5,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"wasm","startOffset":137,"endOffset":140,"startLine":5,"endLine":5,"startColumn":8,"endColumn":11,"tokenTypeIdx":16,"tokenType":"WasmToken"},{"image":"b","startOffset":142,"endOffset":142,"startLine":5,"endLine":5,"startColumn":13,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":143,"endOffset":143,"startLine":5,"endLine":5,"startColumn":14,"endColumn":14,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":145,"endOffset":147,"startLine":5,"endLine":5,"startColumn":16,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":149,"endOffset":152,"startLine":5,"endLine":5,"startColumn":20,"endColumn":23,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'test'","startOffset":154,"endOffset":159,"startLine":5,"endLine":5,"startColumn":25,"endColumn":30,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":160,"endOffset":160,"startLine":5,"endLine":5,"startColumn":31,"endColumn":31,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":199,"endOffset":202,"startLine":8,"endLine":8,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"A","startOffset":204,"endOffset":204,"startLine":8,"endLine":8,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":206,"endOffset":206,"startLine":8,"endLine":8,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":208,"endOffset":210,"startLine":8,"endLine":8,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":211,"endOffset":211,"startLine":8,"endLine":8,"startColumn":13,"endColumn":13,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":213,"endOffset":216,"startLine":9,"endLine":9,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"B","startOffset":218,"endOffset":218,"startLine":9,"endLine":9,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":220,"endOffset":220,"startLine":9,"endLine":9,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":222,"endOffset":224,"startLine":9,"endLine":9,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":226,"endOffset":226,"startLine":9,"endLine":9,"startColumn":14,"endColumn":14,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":228,"endOffset":230,"startLine":9,"endLine":9,"startColumn":16,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":232,"endOffset":232,"startLine":9,"endLine":9,"startColumn":20,"endColumn":20,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"u32","startOffset":234,"endOffset":236,"startLine":9,"endLine":9,"startColumn":22,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":238,"endOffset":238,"startLine":9,"endLine":9,"startColumn":26,"endColumn":26,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"u64","startOffset":240,"endOffset":242,"startLine":9,"endLine":9,"startColumn":28,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":244,"endOffset":244,"startLine":9,"endLine":9,"startColumn":32,"endColumn":32,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"f32","startOffset":246,"endOffset":248,"startLine":9,"endLine":9,"startColumn":34,"endColumn":36,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":250,"endOffset":250,"startLine":9,"endLine":9,"startColumn":38,"endColumn":38,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"f64","startOffset":252,"endOffset":254,"startLine":9,"endLine":9,"startColumn":40,"endColumn":42,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":255,"endOffset":255,"startLine":9,"endLine":9,"startColumn":43,"endColumn":43,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":257,"endOffset":260,"startLine":10,"endLine":10,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"C","startOffset":262,"endOffset":262,"startLine":10,"endLine":10,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":264,"endOffset":264,"startLine":10,"endLine":10,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":266,"endOffset":268,"startLine":10,"endLine":10,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":270,"endOffset":270,"startLine":10,"endLine":10,"startColumn":14,"endColumn":14,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"(","startOffset":272,"endOffset":272,"startLine":10,"endLine":10,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"i32","startOffset":273,"endOffset":275,"startLine":10,"endLine":10,"startColumn":17,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":276,"endOffset":276,"startLine":10,"endLine":10,"startColumn":20,"endColumn":20,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"i32","startOffset":278,"endOffset":280,"startLine":10,"endLine":10,"startColumn":22,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":282,"endOffset":282,"startLine":10,"endLine":10,"startColumn":26,"endColumn":26,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":284,"endOffset":286,"startLine":10,"endLine":10,"startColumn":28,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":287,"endOffset":287,"startLine":10,"endLine":10,"startColumn":31,"endColumn":31,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":289,"endOffset":290,"startLine":10,"endLine":10,"startColumn":33,"endColumn":34,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"u32","startOffset":292,"endOffset":294,"startLine":10,"endLine":10,"startColumn":36,"endColumn":38,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":296,"endOffset":296,"startLine":10,"endLine":10,"startColumn":40,"endColumn":40,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":298,"endOffset":300,"startLine":10,"endLine":10,"startColumn":42,"endColumn":44,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":301,"endOffset":301,"startLine":10,"endLine":10,"startColumn":45,"endColumn":45,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":303,"endOffset":306,"startLine":11,"endLine":11,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"D","startOffset":308,"endOffset":308,"startLine":11,"endLine":11,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":310,"endOffset":310,"startLine":11,"endLine":11,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":312,"endOffset":314,"startLine":11,"endLine":11,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":316,"endOffset":316,"startLine":11,"endLine":11,"startColumn":14,"endColumn":14,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"(","startOffset":318,"endOffset":318,"startLine":11,"endLine":11,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"i32","startOffset":319,"endOffset":321,"startLine":11,"endLine":11,"startColumn":17,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":322,"endOffset":322,"startLine":11,"endLine":11,"startColumn":20,"endColumn":20,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"i32","startOffset":324,"endOffset":326,"startLine":11,"endLine":11,"startColumn":22,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":328,"endOffset":328,"startLine":11,"endLine":11,"startColumn":26,"endColumn":26,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":330,"endOffset":332,"startLine":11,"endLine":11,"startColumn":28,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":333,"endOffset":333,"startLine":11,"endLine":11,"startColumn":31,"endColumn":31,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":335,"endOffset":336,"startLine":11,"endLine":11,"startColumn":33,"endColumn":34,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"(","startOffset":338,"endOffset":338,"startLine":11,"endLine":11,"startColumn":36,"endColumn":36,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"u32","startOffset":339,"endOffset":341,"startLine":11,"endLine":11,"startColumn":37,"endColumn":39,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":343,"endOffset":343,"startLine":11,"endLine":11,"startColumn":41,"endColumn":41,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":345,"endOffset":347,"startLine":11,"endLine":11,"startColumn":43,"endColumn":45,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":348,"endOffset":348,"startLine":11,"endLine":11,"startColumn":46,"endColumn":46,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"|","startOffset":350,"endOffset":350,"startLine":11,"endLine":11,"startColumn":48,"endColumn":48,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"f32","startOffset":352,"endOffset":354,"startLine":11,"endLine":11,"startColumn":50,"endColumn":52,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":355,"endOffset":355,"startLine":11,"endLine":11,"startColumn":53,"endColumn":53,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":357,"endOffset":365,"startLine":12,"endLine":12,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"E","startOffset":367,"endOffset":367,"startLine":12,"endLine":12,"startColumn":11,"endColumn":11,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"{","startOffset":369,"endOffset":369,"startLine":12,"endLine":12,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":373,"endOffset":378,"startLine":13,"endLine":13,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":379,"endOffset":379,"startLine":13,"endLine":13,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":381,"endOffset":383,"startLine":13,"endLine":13,"startColumn":11,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":384,"endOffset":384,"startLine":13,"endLine":13,"startColumn":14,"endColumn":14,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":388,"endOffset":390,"startLine":14,"endLine":14,"startColumn":3,"endColumn":5,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"field2","startOffset":392,"endOffset":397,"startLine":14,"endLine":14,"startColumn":7,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":398,"endOffset":398,"startLine":14,"endLine":14,"startColumn":13,"endColumn":13,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":400,"endOffset":402,"startLine":14,"endLine":14,"startColumn":15,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":403,"endOffset":403,"startLine":14,"endLine":14,"startColumn":18,"endColumn":18,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"field3","startOffset":407,"endOffset":412,"startLine":15,"endLine":15,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"?","startOffset":413,"endOffset":413,"startLine":15,"endLine":15,"startColumn":9,"endColumn":9,"tokenTypeIdx":73,"tokenType":"TknQuestionMark"},{"image":":","startOffset":414,"endOffset":414,"startLine":15,"endLine":15,"startColumn":10,"endColumn":10,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":416,"endOffset":418,"startLine":15,"endLine":15,"startColumn":12,"endColumn":14,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":419,"endOffset":419,"startLine":15,"endLine":15,"startColumn":15,"endColumn":15,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"field4","startOffset":423,"endOffset":428,"startLine":16,"endLine":16,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":429,"endOffset":429,"startLine":16,"endLine":16,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"{","startOffset":431,"endOffset":431,"startLine":16,"endLine":16,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":437,"endOffset":442,"startLine":17,"endLine":17,"startColumn":5,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":443,"endOffset":443,"startLine":17,"endLine":17,"startColumn":11,"endColumn":11,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":445,"endOffset":447,"startLine":17,"endLine":17,"startColumn":13,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":448,"endOffset":448,"startLine":17,"endLine":17,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":452,"endOffset":452,"startLine":18,"endLine":18,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":453,"endOffset":453,"startLine":18,"endLine":18,"startColumn":4,"endColumn":4,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":455,"endOffset":455,"startLine":19,"endLine":19,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":456,"endOffset":456,"startLine":19,"endLine":19,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":483,"endOffset":485,"startLine":21,"endLine":21,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"objectTest","startOffset":487,"endOffset":496,"startLine":21,"endLine":21,"startColumn":5,"endColumn":14,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":497,"endOffset":497,"startLine":21,"endLine":21,"startColumn":15,"endColumn":15,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"E","startOffset":499,"endOffset":499,"startLine":21,"endLine":21,"startColumn":17,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":501,"endOffset":501,"startLine":21,"endLine":21,"startColumn":19,"endColumn":19,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"{","startOffset":503,"endOffset":503,"startLine":21,"endLine":21,"startColumn":21,"endColumn":21,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":507,"endOffset":512,"startLine":22,"endLine":22,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":513,"endOffset":513,"startLine":22,"endLine":22,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":515,"endOffset":516,"startLine":22,"endLine":22,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":517,"endOffset":517,"startLine":22,"endLine":22,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field2","startOffset":521,"endOffset":526,"startLine":23,"endLine":23,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":527,"endOffset":527,"startLine":23,"endLine":23,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":529,"endOffset":530,"startLine":23,"endLine":23,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":531,"endOffset":531,"startLine":23,"endLine":23,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field3","startOffset":535,"endOffset":540,"startLine":24,"endLine":24,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":541,"endOffset":541,"startLine":24,"endLine":24,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":543,"endOffset":544,"startLine":24,"endLine":24,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":545,"endOffset":545,"startLine":24,"endLine":24,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field4","startOffset":549,"endOffset":554,"startLine":25,"endLine":25,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":555,"endOffset":555,"startLine":25,"endLine":25,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"{","startOffset":557,"endOffset":557,"startLine":25,"endLine":25,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":563,"endOffset":568,"startLine":26,"endLine":26,"startColumn":5,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":569,"endOffset":569,"startLine":26,"endLine":26,"startColumn":11,"endColumn":11,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":571,"endOffset":572,"startLine":26,"endLine":26,"startColumn":13,"endColumn":14,"tokenTypeIdx":33,"tokenType":"I32"},{"image":"}","startOffset":576,"endOffset":576,"startLine":27,"endLine":27,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"}","startOffset":578,"endOffset":578,"startLine":28,"endLine":28,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":579,"endOffset":579,"startLine":28,"endLine":28,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":581,"endOffset":583,"startLine":29,"endLine":29,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"objectTest2","startOffset":585,"endOffset":595,"startLine":29,"endLine":29,"startColumn":5,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":596,"endOffset":596,"startLine":29,"endLine":29,"startColumn":16,"endColumn":16,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"E","startOffset":598,"endOffset":598,"startLine":29,"endLine":29,"startColumn":18,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":600,"endOffset":600,"startLine":29,"endLine":29,"startColumn":20,"endColumn":20,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"{","startOffset":602,"endOffset":602,"startLine":29,"endLine":29,"startColumn":22,"endColumn":22,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":606,"endOffset":611,"startLine":30,"endLine":30,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":612,"endOffset":612,"startLine":30,"endLine":30,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":614,"endOffset":615,"startLine":30,"endLine":30,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":616,"endOffset":616,"startLine":30,"endLine":30,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field2","startOffset":620,"endOffset":625,"startLine":31,"endLine":31,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":626,"endOffset":626,"startLine":31,"endLine":31,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":628,"endOffset":629,"startLine":31,"endLine":31,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":630,"endOffset":630,"startLine":31,"endLine":31,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field4","startOffset":634,"endOffset":639,"startLine":32,"endLine":32,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":640,"endOffset":640,"startLine":32,"endLine":32,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"{","startOffset":642,"endOffset":642,"startLine":32,"endLine":32,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":648,"endOffset":653,"startLine":33,"endLine":33,"startColumn":5,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":654,"endOffset":654,"startLine":33,"endLine":33,"startColumn":11,"endColumn":11,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":656,"endOffset":657,"startLine":33,"endLine":33,"startColumn":13,"endColumn":14,"tokenTypeIdx":33,"tokenType":"I32"},{"image":"}","startOffset":661,"endOffset":661,"startLine":34,"endLine":34,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"}","startOffset":663,"endOffset":663,"startLine":35,"endLine":35,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":664,"endOffset":664,"startLine":35,"endLine":35,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":666,"endOffset":668,"startLine":36,"endLine":36,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"objectTest3","startOffset":670,"endOffset":680,"startLine":36,"endLine":36,"startColumn":5,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":681,"endOffset":681,"startLine":36,"endLine":36,"startColumn":16,"endColumn":16,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"E","startOffset":683,"endOffset":683,"startLine":36,"endLine":36,"startColumn":18,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":685,"endOffset":685,"startLine":36,"endLine":36,"startColumn":20,"endColumn":20,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"{","startOffset":687,"endOffset":687,"startLine":36,"endLine":36,"startColumn":22,"endColumn":22,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"...","startOffset":691,"endOffset":693,"startLine":37,"endLine":37,"startColumn":3,"endColumn":5,"tokenTypeIdx":49,"tokenType":"TknEllipsis"},{"image":"objectTest2","startOffset":694,"endOffset":704,"startLine":37,"endLine":37,"startColumn":6,"endColumn":16,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":705,"endOffset":705,"startLine":37,"endLine":37,"startColumn":17,"endColumn":17,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field3","startOffset":709,"endOffset":714,"startLine":38,"endLine":38,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":715,"endOffset":715,"startLine":38,"endLine":38,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":717,"endOffset":718,"startLine":38,"endLine":38,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":"}","startOffset":720,"endOffset":720,"startLine":39,"endLine":39,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":721,"endOffset":721,"startLine":39,"endLine":39,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"objectTest","startOffset":723,"endOffset":732,"startLine":40,"endLine":40,"startColumn":1,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":".","startOffset":733,"endOffset":733,"startLine":40,"endLine":40,"startColumn":11,"endColumn":11,"tokenTypeIdx":50,"tokenType":"Period"},{"image":"field2","startOffset":734,"endOffset":739,"startLine":40,"endLine":40,"startColumn":12,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":741,"endOffset":741,"startLine":40,"endLine":40,"startColumn":19,"endColumn":19,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"2n","startOffset":743,"endOffset":744,"startLine":40,"endLine":40,"startColumn":21,"endColumn":22,"tokenTypeIdx":33,"tokenType":"I32"},{"image":";","startOffset":745,"endOffset":745,"startLine":40,"endLine":40,"startColumn":23,"endColumn":23,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":771,"endOffset":772,"startLine":42,"endLine":42,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":774,"endOffset":774,"startLine":42,"endLine":42,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1","startOffset":775,"endOffset":775,"startLine":42,"endLine":42,"startColumn":5,"endColumn":5,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"==","startOffset":777,"endOffset":778,"startLine":42,"endLine":42,"startColumn":7,"endColumn":8,"tokenTypeIdx":56,"tokenType":"TknComparisonEqual"},{"image":"1","startOffset":780,"endOffset":780,"startLine":42,"endLine":42,"startColumn":10,"endColumn":10,"tokenTypeIdx":39,"tokenType":"Number"},{"image":")","startOffset":781,"endOffset":781,"startLine":42,"endLine":42,"startColumn":11,"endColumn":11,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":783,"endOffset":783,"startLine":42,"endLine":42,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":787,"endOffset":791,"startLine":43,"endLine":43,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":792,"endOffset":792,"startLine":43,"endLine":43,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'If Test'","startOffset":793,"endOffset":801,"startLine":43,"endLine":43,"startColumn":9,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":802,"endOffset":802,"startLine":43,"endLine":43,"startColumn":18,"endColumn":18,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":803,"endOffset":803,"startLine":43,"endLine":43,"startColumn":19,"endColumn":19,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":805,"endOffset":805,"startLine":44,"endLine":44,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":807,"endOffset":810,"startLine":44,"endLine":44,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"if","startOffset":812,"endOffset":813,"startLine":44,"endLine":44,"startColumn":8,"endColumn":9,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":815,"endOffset":815,"startLine":44,"endLine":44,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":816,"endOffset":821,"startLine":44,"endLine":44,"startColumn":12,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":"==","startOffset":823,"endOffset":824,"startLine":44,"endLine":44,"startColumn":19,"endColumn":20,"tokenTypeIdx":56,"tokenType":"TknComparisonEqual"},{"image":"'test'","startOffset":826,"endOffset":831,"startLine":44,"endLine":44,"startColumn":22,"endColumn":27,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":832,"endOffset":832,"startLine":44,"endLine":44,"startColumn":28,"endColumn":28,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":834,"endOffset":834,"startLine":44,"endLine":44,"startColumn":30,"endColumn":30,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":838,"endOffset":842,"startLine":45,"endLine":45,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":843,"endOffset":843,"startLine":45,"endLine":45,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'Else If Test'","startOffset":844,"endOffset":857,"startLine":45,"endLine":45,"startColumn":9,"endColumn":22,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":858,"endOffset":858,"startLine":45,"endLine":45,"startColumn":23,"endColumn":23,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":859,"endOffset":859,"startLine":45,"endLine":45,"startColumn":24,"endColumn":24,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":861,"endOffset":861,"startLine":46,"endLine":46,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":863,"endOffset":866,"startLine":46,"endLine":46,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"{","startOffset":868,"endOffset":868,"startLine":46,"endLine":46,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":872,"endOffset":876,"startLine":47,"endLine":47,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":877,"endOffset":877,"startLine":47,"endLine":47,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'Else Test'","startOffset":878,"endOffset":888,"startLine":47,"endLine":47,"startColumn":9,"endColumn":19,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":889,"endOffset":889,"startLine":47,"endLine":47,"startColumn":20,"endColumn":20,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":890,"endOffset":890,"startLine":47,"endLine":47,"startColumn":21,"endColumn":21,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":892,"endOffset":892,"startLine":48,"endLine":48,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":893,"endOffset":893,"startLine":48,"endLine":48,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":895,"endOffset":896,"startLine":49,"endLine":49,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":898,"endOffset":898,"startLine":49,"endLine":49,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1","startOffset":899,"endOffset":899,"startLine":49,"endLine":49,"startColumn":5,"endColumn":5,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"==","startOffset":901,"endOffset":902,"startLine":49,"endLine":49,"startColumn":7,"endColumn":8,"tokenTypeIdx":56,"tokenType":"TknComparisonEqual"},{"image":"1","startOffset":904,"endOffset":904,"startLine":49,"endLine":49,"startColumn":10,"endColumn":10,"tokenTypeIdx":39,"tokenType":"Number"},{"image":")","startOffset":905,"endOffset":905,"startLine":49,"endLine":49,"startColumn":11,"endColumn":11,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"print","startOffset":907,"endOffset":911,"startLine":49,"endLine":49,"startColumn":13,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":912,"endOffset":912,"startLine":49,"endLine":49,"startColumn":18,"endColumn":18,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":913,"endOffset":918,"startLine":49,"endLine":49,"startColumn":19,"endColumn":24,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":919,"endOffset":919,"startLine":49,"endLine":49,"startColumn":25,"endColumn":25,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":920,"endOffset":920,"startLine":49,"endLine":49,"startColumn":26,"endColumn":26,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"else","startOffset":922,"endOffset":925,"startLine":50,"endLine":50,"startColumn":1,"endColumn":4,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"print","startOffset":927,"endOffset":931,"startLine":50,"endLine":50,"startColumn":6,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":932,"endOffset":932,"startLine":50,"endLine":50,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":933,"endOffset":938,"startLine":50,"endLine":50,"startColumn":12,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":939,"endOffset":939,"startLine":50,"endLine":50,"startColumn":18,"endColumn":18,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":940,"endOffset":940,"startLine":50,"endLine":50,"startColumn":19,"endColumn":19,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":943,"endOffset":944,"startLine":52,"endLine":52,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":946,"endOffset":946,"startLine":52,"endLine":52,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":947,"endOffset":950,"startLine":52,"endLine":52,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":951,"endOffset":951,"startLine":52,"endLine":52,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":953,"endOffset":953,"startLine":52,"endLine":52,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":957,"endOffset":961,"startLine":53,"endLine":53,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":962,"endOffset":962,"startLine":53,"endLine":53,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'true'","startOffset":963,"endOffset":968,"startLine":53,"endLine":53,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":969,"endOffset":969,"startLine":53,"endLine":53,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":970,"endOffset":970,"startLine":53,"endLine":53,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":972,"endOffset":972,"startLine":54,"endLine":54,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":973,"endOffset":973,"startLine":54,"endLine":54,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":976,"endOffset":977,"startLine":56,"endLine":56,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":979,"endOffset":979,"startLine":56,"endLine":56,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":980,"endOffset":983,"startLine":56,"endLine":56,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":984,"endOffset":984,"startLine":56,"endLine":56,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"print","startOffset":986,"endOffset":990,"startLine":56,"endLine":56,"startColumn":11,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":991,"endOffset":991,"startLine":56,"endLine":56,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":992,"endOffset":997,"startLine":56,"endLine":56,"startColumn":17,"endColumn":22,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":998,"endOffset":998,"startLine":56,"endLine":56,"startColumn":23,"endColumn":23,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":999,"endOffset":999,"startLine":56,"endLine":56,"startColumn":24,"endColumn":24,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1002,"endOffset":1003,"startLine":58,"endLine":58,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1005,"endOffset":1005,"startLine":58,"endLine":58,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1006,"endOffset":1009,"startLine":58,"endLine":58,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1010,"endOffset":1010,"startLine":58,"endLine":58,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"print","startOffset":1012,"endOffset":1016,"startLine":58,"endLine":58,"startColumn":11,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1017,"endOffset":1017,"startLine":58,"endLine":58,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1018,"endOffset":1023,"startLine":58,"endLine":58,"startColumn":17,"endColumn":22,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1024,"endOffset":1024,"startLine":58,"endLine":58,"startColumn":23,"endColumn":23,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1025,"endOffset":1025,"startLine":58,"endLine":58,"startColumn":24,"endColumn":24,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"else","startOffset":1027,"endOffset":1030,"startLine":59,"endLine":59,"startColumn":1,"endColumn":4,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"print","startOffset":1032,"endOffset":1036,"startLine":59,"endLine":59,"startColumn":6,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1037,"endOffset":1037,"startLine":59,"endLine":59,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1038,"endOffset":1043,"startLine":59,"endLine":59,"startColumn":12,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1044,"endOffset":1044,"startLine":59,"endLine":59,"startColumn":18,"endColumn":18,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1045,"endOffset":1045,"startLine":59,"endLine":59,"startColumn":19,"endColumn":19,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1048,"endOffset":1049,"startLine":61,"endLine":61,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1051,"endOffset":1051,"startLine":61,"endLine":61,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1052,"endOffset":1055,"startLine":61,"endLine":61,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1056,"endOffset":1056,"startLine":61,"endLine":61,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1058,"endOffset":1058,"startLine":61,"endLine":61,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1062,"endOffset":1066,"startLine":62,"endLine":62,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1067,"endOffset":1067,"startLine":62,"endLine":62,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1068,"endOffset":1073,"startLine":62,"endLine":62,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1074,"endOffset":1074,"startLine":62,"endLine":62,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1075,"endOffset":1075,"startLine":62,"endLine":62,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1077,"endOffset":1077,"startLine":63,"endLine":63,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1079,"endOffset":1082,"startLine":63,"endLine":63,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"{","startOffset":1084,"endOffset":1084,"startLine":63,"endLine":63,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1088,"endOffset":1092,"startLine":64,"endLine":64,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1093,"endOffset":1093,"startLine":64,"endLine":64,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1094,"endOffset":1099,"startLine":64,"endLine":64,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1100,"endOffset":1100,"startLine":64,"endLine":64,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1101,"endOffset":1101,"startLine":64,"endLine":64,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1103,"endOffset":1103,"startLine":65,"endLine":65,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1104,"endOffset":1104,"startLine":65,"endLine":65,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1107,"endOffset":1108,"startLine":67,"endLine":67,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1110,"endOffset":1110,"startLine":67,"endLine":67,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1111,"endOffset":1114,"startLine":67,"endLine":67,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1115,"endOffset":1115,"startLine":67,"endLine":67,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1117,"endOffset":1117,"startLine":67,"endLine":67,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1121,"endOffset":1125,"startLine":68,"endLine":68,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1126,"endOffset":1126,"startLine":68,"endLine":68,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1127,"endOffset":1132,"startLine":68,"endLine":68,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1133,"endOffset":1133,"startLine":68,"endLine":68,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1134,"endOffset":1134,"startLine":68,"endLine":68,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1136,"endOffset":1136,"startLine":69,"endLine":69,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1138,"endOffset":1141,"startLine":69,"endLine":69,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"if","startOffset":1143,"endOffset":1144,"startLine":69,"endLine":69,"startColumn":8,"endColumn":9,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1146,"endOffset":1146,"startLine":69,"endLine":69,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1147,"endOffset":1150,"startLine":69,"endLine":69,"startColumn":12,"endColumn":15,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1151,"endOffset":1151,"startLine":69,"endLine":69,"startColumn":16,"endColumn":16,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1153,"endOffset":1153,"startLine":69,"endLine":69,"startColumn":18,"endColumn":18,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1157,"endOffset":1161,"startLine":70,"endLine":70,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1162,"endOffset":1162,"startLine":70,"endLine":70,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1163,"endOffset":1168,"startLine":70,"endLine":70,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1169,"endOffset":1169,"startLine":70,"endLine":70,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1170,"endOffset":1170,"startLine":70,"endLine":70,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1172,"endOffset":1172,"startLine":71,"endLine":71,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1174,"endOffset":1177,"startLine":71,"endLine":71,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"{","startOffset":1179,"endOffset":1179,"startLine":71,"endLine":71,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1183,"endOffset":1187,"startLine":72,"endLine":72,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1188,"endOffset":1188,"startLine":72,"endLine":72,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1189,"endOffset":1194,"startLine":72,"endLine":72,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1195,"endOffset":1195,"startLine":72,"endLine":72,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1196,"endOffset":1196,"startLine":72,"endLine":72,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1198,"endOffset":1198,"startLine":73,"endLine":73,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1199,"endOffset":1199,"startLine":73,"endLine":73,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1202,"endOffset":1203,"startLine":75,"endLine":75,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1205,"endOffset":1205,"startLine":75,"endLine":75,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1206,"endOffset":1209,"startLine":75,"endLine":75,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1210,"endOffset":1210,"startLine":75,"endLine":75,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1212,"endOffset":1212,"startLine":75,"endLine":75,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1216,"endOffset":1220,"startLine":76,"endLine":76,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1221,"endOffset":1221,"startLine":76,"endLine":76,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1222,"endOffset":1227,"startLine":76,"endLine":76,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1228,"endOffset":1228,"startLine":76,"endLine":76,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1229,"endOffset":1229,"startLine":76,"endLine":76,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1231,"endOffset":1231,"startLine":77,"endLine":77,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1233,"endOffset":1236,"startLine":77,"endLine":77,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"print","startOffset":1238,"endOffset":1242,"startLine":77,"endLine":77,"startColumn":8,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1243,"endOffset":1243,"startLine":77,"endLine":77,"startColumn":13,"endColumn":13,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1244,"endOffset":1249,"startLine":77,"endLine":77,"startColumn":14,"endColumn":19,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1250,"endOffset":1250,"startLine":77,"endLine":77,"startColumn":20,"endColumn":20,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1251,"endOffset":1251,"startLine":77,"endLine":77,"startColumn":21,"endColumn":21,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1254,"endOffset":1255,"startLine":79,"endLine":79,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1257,"endOffset":1257,"startLine":79,"endLine":79,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1258,"endOffset":1261,"startLine":79,"endLine":79,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1262,"endOffset":1262,"startLine":79,"endLine":79,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1264,"endOffset":1264,"startLine":79,"endLine":79,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1268,"endOffset":1272,"startLine":80,"endLine":80,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1273,"endOffset":1273,"startLine":80,"endLine":80,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1274,"endOffset":1279,"startLine":80,"endLine":80,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1280,"endOffset":1280,"startLine":80,"endLine":80,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1281,"endOffset":1281,"startLine":80,"endLine":80,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1283,"endOffset":1283,"startLine":81,"endLine":81,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1284,"endOffset":1284,"startLine":81,"endLine":81,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"print","startOffset":1309,"endOffset":1313,"startLine":83,"endLine":83,"startColumn":1,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1314,"endOffset":1314,"startLine":83,"endLine":83,"startColumn":6,"endColumn":6,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1315,"endOffset":1320,"startLine":83,"endLine":83,"startColumn":7,"endColumn":12,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1321,"endOffset":1321,"startLine":83,"endLine":83,"startColumn":13,"endColumn":13,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1322,"endOffset":1322,"startLine":83,"endLine":83,"startColumn":14,"endColumn":14,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"f","startOffset":1324,"endOffset":1324,"startLine":84,"endLine":84,"startColumn":1,"endColumn":1,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1325,"endOffset":1325,"startLine":84,"endLine":84,"startColumn":2,"endColumn":2,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":1326,"endOffset":1326,"startLine":84,"endLine":84,"startColumn":3,"endColumn":3,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1327,"endOffset":1327,"startLine":84,"endLine":84,"startColumn":4,"endColumn":4,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"@wasm.i32.add","startOffset":1329,"endOffset":1341,"startLine":85,"endLine":85,"startColumn":1,"endColumn":13,"tokenTypeIdx":41,"tokenType":"Wasm Instruction Call"},{"image":"(","startOffset":1342,"endOffset":1342,"startLine":85,"endLine":85,"startColumn":14,"endColumn":14,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1n","startOffset":1343,"endOffset":1344,"startLine":85,"endLine":85,"startColumn":15,"endColumn":16,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":1345,"endOffset":1345,"startLine":85,"endLine":85,"startColumn":17,"endColumn":17,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"1n","startOffset":1347,"endOffset":1348,"startLine":85,"endLine":85,"startColumn":19,"endColumn":20,"tokenTypeIdx":33,"tokenType":"I32"},{"image":")","startOffset":1349,"endOffset":1349,"startLine":85,"endLine":85,"startColumn":21,"endColumn":21,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1350,"endOffset":1350,"startLine":85,"endLine":85,"startColumn":22,"endColumn":22,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1382,"endOffset":1384,"startLine":87,"endLine":87,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"c","startOffset":1386,"endOffset":1386,"startLine":87,"endLine":87,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1387,"endOffset":1387,"startLine":87,"endLine":87,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":1389,"endOffset":1394,"startLine":87,"endLine":87,"startColumn":8,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1396,"endOffset":1396,"startLine":87,"endLine":87,"startColumn":15,"endColumn":15,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":1398,"endOffset":1398,"startLine":87,"endLine":87,"startColumn":17,"endColumn":17,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1400,"endOffset":1400,"startLine":87,"endLine":87,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"(","startOffset":1402,"endOffset":1402,"startLine":87,"endLine":87,"startColumn":21,"endColumn":21,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1","startOffset":1403,"endOffset":1403,"startLine":87,"endLine":87,"startColumn":22,"endColumn":22,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1405,"endOffset":1405,"startLine":87,"endLine":87,"startColumn":24,"endColumn":24,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1407,"endOffset":1407,"startLine":87,"endLine":87,"startColumn":26,"endColumn":26,"tokenTypeIdx":39,"tokenType":"Number"},{"image":")","startOffset":1408,"endOffset":1408,"startLine":87,"endLine":87,"startColumn":27,"endColumn":27,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"+","startOffset":1410,"endOffset":1410,"startLine":87,"endLine":87,"startColumn":29,"endColumn":29,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1412,"endOffset":1412,"startLine":87,"endLine":87,"startColumn":31,"endColumn":31,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1414,"endOffset":1414,"startLine":87,"endLine":87,"startColumn":33,"endColumn":33,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1416,"endOffset":1416,"startLine":87,"endLine":87,"startColumn":35,"endColumn":35,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1418,"endOffset":1418,"startLine":87,"endLine":87,"startColumn":37,"endColumn":37,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1420,"endOffset":1420,"startLine":87,"endLine":87,"startColumn":39,"endColumn":39,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":1421,"endOffset":1421,"startLine":87,"endLine":87,"startColumn":40,"endColumn":40,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"c","startOffset":1423,"endOffset":1423,"startLine":88,"endLine":88,"startColumn":1,"endColumn":1,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1425,"endOffset":1425,"startLine":88,"endLine":88,"startColumn":3,"endColumn":3,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":1427,"endOffset":1427,"startLine":88,"endLine":88,"startColumn":5,"endColumn":5,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":1428,"endOffset":1428,"startLine":88,"endLine":88,"startColumn":6,"endColumn":6,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1430,"endOffset":1432,"startLine":89,"endLine":89,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"d","startOffset":1434,"endOffset":1434,"startLine":89,"endLine":89,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1435,"endOffset":1435,"startLine":89,"endLine":89,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":1437,"endOffset":1442,"startLine":89,"endLine":89,"startColumn":8,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1444,"endOffset":1444,"startLine":89,"endLine":89,"startColumn":15,"endColumn":15,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"a","startOffset":1446,"endOffset":1446,"startLine":89,"endLine":89,"startColumn":17,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1447,"endOffset":1447,"startLine":89,"endLine":89,"startColumn":18,"endColumn":18,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1449,"endOffset":1451,"startLine":90,"endLine":90,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"e","startOffset":1453,"endOffset":1453,"startLine":90,"endLine":90,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1454,"endOffset":1454,"startLine":90,"endLine":90,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1456,"endOffset":1458,"startLine":90,"endLine":90,"startColumn":8,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1460,"endOffset":1460,"startLine":90,"endLine":90,"startColumn":12,"endColumn":12,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"objectTest3","startOffset":1462,"endOffset":1472,"startLine":90,"endLine":90,"startColumn":14,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":".","startOffset":1473,"endOffset":1473,"startLine":90,"endLine":90,"startColumn":25,"endColumn":25,"tokenTypeIdx":50,"tokenType":"Period"},{"image":"field3","startOffset":1474,"endOffset":1479,"startLine":90,"endLine":90,"startColumn":26,"endColumn":31,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1480,"endOffset":1480,"startLine":90,"endLine":90,"startColumn":32,"endColumn":32,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1482,"endOffset":1484,"startLine":91,"endLine":91,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"z","startOffset":1486,"endOffset":1486,"startLine":91,"endLine":91,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1487,"endOffset":1487,"startLine":91,"endLine":91,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Function","startOffset":1489,"endOffset":1496,"startLine":91,"endLine":91,"startColumn":8,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1498,"endOffset":1498,"startLine":91,"endLine":91,"startColumn":17,"endColumn":17,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"(","startOffset":1500,"endOffset":1500,"startLine":91,"endLine":91,"startColumn":19,"endColumn":19,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"g","startOffset":1501,"endOffset":1501,"startLine":91,"endLine":91,"startColumn":20,"endColumn":20,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1502,"endOffset":1502,"startLine":91,"endLine":91,"startColumn":21,"endColumn":21,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1504,"endOffset":1506,"startLine":91,"endLine":91,"startColumn":23,"endColumn":25,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1507,"endOffset":1507,"startLine":91,"endLine":91,"startColumn":26,"endColumn":26,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":":","startOffset":1508,"endOffset":1508,"startLine":91,"endLine":91,"startColumn":27,"endColumn":27,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1510,"endOffset":1512,"startLine":91,"endLine":91,"startColumn":29,"endColumn":31,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1514,"endOffset":1515,"startLine":91,"endLine":91,"startColumn":33,"endColumn":34,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"{","startOffset":1517,"endOffset":1517,"startLine":91,"endLine":91,"startColumn":36,"endColumn":36,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"return","startOffset":1521,"endOffset":1526,"startLine":92,"endLine":92,"startColumn":3,"endColumn":8,"tokenTypeIdx":30,"tokenType":"ReturnToken"},{"image":"(","startOffset":1527,"endOffset":1527,"startLine":92,"endLine":92,"startColumn":9,"endColumn":9,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"g","startOffset":1528,"endOffset":1528,"startLine":92,"endLine":92,"startColumn":10,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1529,"endOffset":1529,"startLine":92,"endLine":92,"startColumn":11,"endColumn":11,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1530,"endOffset":1530,"startLine":92,"endLine":92,"startColumn":12,"endColumn":12,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1532,"endOffset":1532,"startLine":93,"endLine":93,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1533,"endOffset":1533,"startLine":93,"endLine":93,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"const","startOffset":1535,"endOffset":1539,"startLine":94,"endLine":94,"startColumn":1,"endColumn":5,"tokenTypeIdx":19,"tokenType":"ConstToken"},{"image":"h","startOffset":1541,"endOffset":1541,"startLine":94,"endLine":94,"startColumn":7,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1542,"endOffset":1542,"startLine":94,"endLine":94,"startColumn":8,"endColumn":8,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":1544,"endOffset":1549,"startLine":94,"endLine":94,"startColumn":10,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1551,"endOffset":1551,"startLine":94,"endLine":94,"startColumn":17,"endColumn":17,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":1553,"endOffset":1553,"startLine":94,"endLine":94,"startColumn":19,"endColumn":19,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":1554,"endOffset":1554,"startLine":94,"endLine":94,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"(","startOffset":1556,"endOffset":1556,"startLine":95,"endLine":95,"startColumn":1,"endColumn":1,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"(","startOffset":1557,"endOffset":1557,"startLine":95,"endLine":95,"startColumn":2,"endColumn":2,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":1558,"endOffset":1558,"startLine":95,"endLine":95,"startColumn":3,"endColumn":3,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":":","startOffset":1559,"endOffset":1559,"startLine":95,"endLine":95,"startColumn":4,"endColumn":4,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1561,"endOffset":1563,"startLine":95,"endLine":95,"startColumn":6,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1565,"endOffset":1566,"startLine":95,"endLine":95,"startColumn":10,"endColumn":11,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"{","startOffset":1568,"endOffset":1568,"startLine":95,"endLine":95,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1572,"endOffset":1576,"startLine":96,"endLine":96,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1577,"endOffset":1577,"startLine":96,"endLine":96,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1578,"endOffset":1583,"startLine":96,"endLine":96,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1584,"endOffset":1584,"startLine":96,"endLine":96,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1585,"endOffset":1585,"startLine":96,"endLine":96,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"return","startOffset":1589,"endOffset":1594,"startLine":97,"endLine":97,"startColumn":3,"endColumn":8,"tokenTypeIdx":30,"tokenType":"ReturnToken"},{"image":"(","startOffset":1595,"endOffset":1595,"startLine":97,"endLine":97,"startColumn":9,"endColumn":9,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1n","startOffset":1596,"endOffset":1597,"startLine":97,"endLine":97,"startColumn":10,"endColumn":11,"tokenTypeIdx":33,"tokenType":"I32"},{"image":")","startOffset":1598,"endOffset":1598,"startLine":97,"endLine":97,"startColumn":12,"endColumn":12,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1599,"endOffset":1599,"startLine":97,"endLine":97,"startColumn":13,"endColumn":13,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1601,"endOffset":1601,"startLine":98,"endLine":98,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":")","startOffset":1602,"endOffset":1602,"startLine":98,"endLine":98,"startColumn":2,"endColumn":2,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"(","startOffset":1603,"endOffset":1603,"startLine":98,"endLine":98,"startColumn":3,"endColumn":3,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":1604,"endOffset":1604,"startLine":98,"endLine":98,"startColumn":4,"endColumn":4,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1605,"endOffset":1605,"startLine":98,"endLine":98,"startColumn":5,"endColumn":5,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":1625,"endOffset":1633,"startLine":100,"endLine":100,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_Has_TestInterface","startOffset":1635,"endOffset":1664,"startLine":100,"endLine":100,"startColumn":11,"endColumn":40,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1665,"endOffset":1665,"startLine":100,"endLine":100,"startColumn":41,"endColumn":41,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1666,"endOffset":1676,"startLine":100,"endLine":100,"startColumn":42,"endColumn":52,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1677,"endOffset":1677,"startLine":100,"endLine":100,"startColumn":53,"endColumn":53,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1679,"endOffset":1679,"startLine":100,"endLine":100,"startColumn":55,"endColumn":55,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"test","startOffset":1683,"endOffset":1686,"startLine":101,"endLine":101,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1687,"endOffset":1687,"startLine":101,"endLine":101,"startColumn":7,"endColumn":7,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1689,"endOffset":1699,"startLine":101,"endLine":101,"startColumn":9,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1700,"endOffset":1700,"startLine":101,"endLine":101,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1702,"endOffset":1702,"startLine":102,"endLine":102,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1703,"endOffset":1703,"startLine":102,"endLine":102,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"enum","startOffset":1705,"endOffset":1708,"startLine":103,"endLine":103,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TknEnum"},{"image":"OptionalSemi_Has_EnumTest","startOffset":1710,"endOffset":1734,"startLine":103,"endLine":103,"startColumn":6,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1735,"endOffset":1735,"startLine":103,"endLine":103,"startColumn":31,"endColumn":31,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1736,"endOffset":1746,"startLine":103,"endLine":103,"startColumn":32,"endColumn":42,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1747,"endOffset":1747,"startLine":103,"endLine":103,"startColumn":43,"endColumn":43,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1749,"endOffset":1749,"startLine":103,"endLine":103,"startColumn":45,"endColumn":45,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1753,"endOffset":1756,"startLine":104,"endLine":104,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1757,"endOffset":1757,"startLine":104,"endLine":104,"startColumn":7,"endColumn":7,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1758,"endOffset":1768,"startLine":104,"endLine":104,"startColumn":8,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1769,"endOffset":1769,"startLine":104,"endLine":104,"startColumn":19,"endColumn":19,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"}","startOffset":1771,"endOffset":1771,"startLine":105,"endLine":105,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1772,"endOffset":1772,"startLine":105,"endLine":105,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":1774,"endOffset":1782,"startLine":106,"endLine":106,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_TestInterface","startOffset":1784,"endOffset":1809,"startLine":106,"endLine":106,"startColumn":11,"endColumn":36,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1810,"endOffset":1810,"startLine":106,"endLine":106,"startColumn":37,"endColumn":37,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1811,"endOffset":1821,"startLine":106,"endLine":106,"startColumn":38,"endColumn":48,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1822,"endOffset":1822,"startLine":106,"endLine":106,"startColumn":49,"endColumn":49,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1824,"endOffset":1824,"startLine":106,"endLine":106,"startColumn":51,"endColumn":51,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"test","startOffset":1828,"endOffset":1831,"startLine":107,"endLine":107,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1832,"endOffset":1832,"startLine":107,"endLine":107,"startColumn":7,"endColumn":7,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1834,"endOffset":1844,"startLine":107,"endLine":107,"startColumn":9,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1845,"endOffset":1845,"startLine":107,"endLine":107,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1847,"endOffset":1847,"startLine":108,"endLine":108,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"enum","startOffset":1849,"endOffset":1852,"startLine":109,"endLine":109,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TknEnum"},{"image":"OptionalSemi_EnumTest","startOffset":1854,"endOffset":1874,"startLine":109,"endLine":109,"startColumn":6,"endColumn":26,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1875,"endOffset":1875,"startLine":109,"endLine":109,"startColumn":27,"endColumn":27,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1876,"endOffset":1886,"startLine":109,"endLine":109,"startColumn":28,"endColumn":38,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1887,"endOffset":1887,"startLine":109,"endLine":109,"startColumn":39,"endColumn":39,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1889,"endOffset":1889,"startLine":109,"endLine":109,"startColumn":41,"endColumn":41,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1893,"endOffset":1896,"startLine":110,"endLine":110,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1897,"endOffset":1897,"startLine":110,"endLine":110,"startColumn":7,"endColumn":7,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1898,"endOffset":1908,"startLine":110,"endLine":110,"startColumn":8,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1909,"endOffset":1909,"startLine":110,"endLine":110,"startColumn":19,"endColumn":19,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"}","startOffset":1911,"endOffset":1911,"startLine":111,"endLine":111,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"type","startOffset":1931,"endOffset":1934,"startLine":113,"endLine":113,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"Generic_TypeTest","startOffset":1936,"endOffset":1951,"startLine":113,"endLine":113,"startColumn":6,"endColumn":21,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1952,"endOffset":1952,"startLine":113,"endLine":113,"startColumn":22,"endColumn":22,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1953,"endOffset":1963,"startLine":113,"endLine":113,"startColumn":23,"endColumn":33,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":1964,"endOffset":1964,"startLine":113,"endLine":113,"startColumn":34,"endColumn":34,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"GenericTest1","startOffset":1966,"endOffset":1977,"startLine":113,"endLine":113,"startColumn":36,"endColumn":47,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1978,"endOffset":1978,"startLine":113,"endLine":113,"startColumn":48,"endColumn":48,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"=","startOffset":1980,"endOffset":1980,"startLine":113,"endLine":113,"startColumn":50,"endColumn":50,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"String","startOffset":1982,"endOffset":1987,"startLine":113,"endLine":113,"startColumn":52,"endColumn":57,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1988,"endOffset":1988,"startLine":113,"endLine":113,"startColumn":58,"endColumn":58,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":1990,"endOffset":1998,"startLine":114,"endLine":114,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"Generic_TestInterface","startOffset":2000,"endOffset":2020,"startLine":114,"endLine":114,"startColumn":11,"endColumn":31,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2021,"endOffset":2021,"startLine":114,"endLine":114,"startColumn":32,"endColumn":32,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":2022,"endOffset":2032,"startLine":114,"endLine":114,"startColumn":33,"endColumn":43,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":2033,"endOffset":2033,"startLine":114,"endLine":114,"startColumn":44,"endColumn":44,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":2035,"endOffset":2035,"startLine":114,"endLine":114,"startColumn":46,"endColumn":46,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"test","startOffset":2039,"endOffset":2042,"startLine":115,"endLine":115,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":2043,"endOffset":2043,"startLine":115,"endLine":115,"startColumn":7,"endColumn":7,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"GenericTest","startOffset":2045,"endOffset":2055,"startLine":115,"endLine":115,"startColumn":9,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":2056,"endOffset":2056,"startLine":115,"endLine":115,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":2058,"endOffset":2058,"startLine":116,"endLine":116,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"enum","startOffset":2060,"endOffset":2063,"startLine":117,"endLine":117,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TknEnum"},{"image":"Generic_EnumTest","startOffset":2065,"endOffset":2080,"startLine":117,"endLine":117,"startColumn":6,"endColumn":21,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2081,"endOffset":2081,"startLine":117,"endLine":117,"startColumn":22,"endColumn":22,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":2082,"endOffset":2092,"startLine":117,"endLine":117,"startColumn":23,"endColumn":33,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":2093,"endOffset":2093,"startLine":117,"endLine":117,"startColumn":34,"endColumn":34,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":2095,"endOffset":2095,"startLine":117,"endLine":117,"startColumn":36,"endColumn":36,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"Test","startOffset":2099,"endOffset":2102,"startLine":118,"endLine":118,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":2103,"endOffset":2103,"startLine":118,"endLine":118,"startColumn":7,"endColumn":7,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":2104,"endOffset":2114,"startLine":118,"endLine":118,"startColumn":8,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":2115,"endOffset":2115,"startLine":118,"endLine":118,"startColumn":19,"endColumn":19,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"}","startOffset":2117,"endOffset":2117,"startLine":119,"endLine":119,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"export","startOffset":2135,"endOffset":2140,"startLine":121,"endLine":121,"startColumn":1,"endColumn":6,"tokenTypeIdx":18,"tokenType":"ExportToken"},{"image":"const","startOffset":2142,"endOffset":2146,"startLine":121,"endLine":121,"startColumn":8,"endColumn":12,"tokenTypeIdx":19,"tokenType":"ConstToken"},{"image":"y","startOffset":2148,"endOffset":2148,"startLine":121,"endLine":121,"startColumn":14,"endColumn":14,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":2149,"endOffset":2149,"startLine":121,"endLine":121,"startColumn":15,"endColumn":15,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":2151,"endOffset":2156,"startLine":121,"endLine":121,"startColumn":17,"endColumn":22,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":2158,"endOffset":2158,"startLine":121,"endLine":121,"startColumn":24,"endColumn":24,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":2160,"endOffset":2160,"startLine":121,"endLine":121,"startColumn":26,"endColumn":26,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":2161,"endOffset":2161,"startLine":121,"endLine":121,"startColumn":27,"endColumn":27,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"export","startOffset":2163,"endOffset":2168,"startLine":122,"endLine":122,"startColumn":1,"endColumn":6,"tokenTypeIdx":18,"tokenType":"ExportToken"},{"image":"h","startOffset":2170,"endOffset":2170,"startLine":122,"endLine":122,"startColumn":8,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":2171,"endOffset":2171,"startLine":122,"endLine":122,"startColumn":9,"endColumn":9,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"export","startOffset":2173,"endOffset":2178,"startLine":123,"endLine":123,"startColumn":1,"endColumn":6,"tokenTypeIdx":18,"tokenType":"ExportToken"},{"image":"{","startOffset":2180,"endOffset":2180,"startLine":123,"endLine":123,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"c","startOffset":2184,"endOffset":2184,"startLine":124,"endLine":124,"startColumn":3,"endColumn":3,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":2185,"endOffset":2185,"startLine":124,"endLine":124,"startColumn":4,"endColumn":4,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"d","startOffset":2189,"endOffset":2189,"startLine":125,"endLine":125,"startColumn":3,"endColumn":3,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":2190,"endOffset":2190,"startLine":125,"endLine":125,"startColumn":4,"endColumn":4,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"z","startOffset":2194,"endOffset":2194,"startLine":126,"endLine":126,"startColumn":3,"endColumn":3,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"}","startOffset":2196,"endOffset":2196,"startLine":127,"endLine":127,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":2197,"endOffset":2197,"startLine":127,"endLine":127,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"}],"groups":{"Reserved":[]},"errors":[]} \ No newline at end of file +{"tokens":[{"image":"import","startOffset":18,"endOffset":23,"startLine":2,"endLine":2,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"a","startOffset":25,"endOffset":25,"startLine":2,"endLine":2,"startColumn":8,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":27,"endOffset":30,"startLine":2,"endLine":2,"startColumn":10,"endColumn":13,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'test'","startOffset":32,"endOffset":37,"startLine":2,"endLine":2,"startColumn":15,"endColumn":20,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":38,"endOffset":38,"startLine":2,"endLine":2,"startColumn":21,"endColumn":21,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"import","startOffset":40,"endOffset":45,"startLine":3,"endLine":3,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"wasm","startOffset":47,"endOffset":50,"startLine":3,"endLine":3,"startColumn":8,"endColumn":11,"tokenTypeIdx":18,"tokenType":"WasmToken"},{"image":"print","startOffset":52,"endOffset":56,"startLine":3,"endLine":3,"startColumn":13,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":57,"endOffset":57,"startLine":3,"endLine":3,"startColumn":18,"endColumn":18,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"(","startOffset":59,"endOffset":59,"startLine":3,"endLine":3,"startColumn":20,"endColumn":20,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"String","startOffset":60,"endOffset":65,"startLine":3,"endLine":3,"startColumn":21,"endColumn":26,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":66,"endOffset":66,"startLine":3,"endLine":3,"startColumn":27,"endColumn":27,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":68,"endOffset":69,"startLine":3,"endLine":3,"startColumn":29,"endColumn":30,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"Void","startOffset":71,"endOffset":74,"startLine":3,"endLine":3,"startColumn":32,"endColumn":35,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":76,"endOffset":79,"startLine":3,"endLine":3,"startColumn":37,"endColumn":40,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'print'","startOffset":81,"endOffset":87,"startLine":3,"endLine":3,"startColumn":42,"endColumn":48,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":88,"endOffset":88,"startLine":3,"endLine":3,"startColumn":49,"endColumn":49,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"import","startOffset":90,"endOffset":95,"startLine":4,"endLine":4,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"wasm","startOffset":97,"endOffset":100,"startLine":4,"endLine":4,"startColumn":8,"endColumn":11,"tokenTypeIdx":18,"tokenType":"WasmToken"},{"image":"f","startOffset":102,"endOffset":102,"startLine":4,"endLine":4,"startColumn":13,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":103,"endOffset":103,"startLine":4,"endLine":4,"startColumn":14,"endColumn":14,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"(","startOffset":105,"endOffset":105,"startLine":4,"endLine":4,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":106,"endOffset":106,"startLine":4,"endLine":4,"startColumn":17,"endColumn":17,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":108,"endOffset":109,"startLine":4,"endLine":4,"startColumn":19,"endColumn":20,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"Void","startOffset":111,"endOffset":114,"startLine":4,"endLine":4,"startColumn":22,"endColumn":25,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":116,"endOffset":119,"startLine":4,"endLine":4,"startColumn":27,"endColumn":30,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'print'","startOffset":121,"endOffset":127,"startLine":4,"endLine":4,"startColumn":32,"endColumn":38,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":128,"endOffset":128,"startLine":4,"endLine":4,"startColumn":39,"endColumn":39,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"import","startOffset":130,"endOffset":135,"startLine":5,"endLine":5,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"wasm","startOffset":137,"endOffset":140,"startLine":5,"endLine":5,"startColumn":8,"endColumn":11,"tokenTypeIdx":18,"tokenType":"WasmToken"},{"image":"b","startOffset":142,"endOffset":142,"startLine":5,"endLine":5,"startColumn":13,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":143,"endOffset":143,"startLine":5,"endLine":5,"startColumn":14,"endColumn":14,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":145,"endOffset":147,"startLine":5,"endLine":5,"startColumn":16,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":149,"endOffset":152,"startLine":5,"endLine":5,"startColumn":20,"endColumn":23,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'test'","startOffset":154,"endOffset":159,"startLine":5,"endLine":5,"startColumn":25,"endColumn":30,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":160,"endOffset":160,"startLine":5,"endLine":5,"startColumn":31,"endColumn":31,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":199,"endOffset":202,"startLine":8,"endLine":8,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"A","startOffset":204,"endOffset":204,"startLine":8,"endLine":8,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":206,"endOffset":206,"startLine":8,"endLine":8,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":208,"endOffset":210,"startLine":8,"endLine":8,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":211,"endOffset":211,"startLine":8,"endLine":8,"startColumn":13,"endColumn":13,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":213,"endOffset":216,"startLine":9,"endLine":9,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"B","startOffset":218,"endOffset":218,"startLine":9,"endLine":9,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":220,"endOffset":220,"startLine":9,"endLine":9,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":222,"endOffset":224,"startLine":9,"endLine":9,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":226,"endOffset":226,"startLine":9,"endLine":9,"startColumn":14,"endColumn":14,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":228,"endOffset":230,"startLine":9,"endLine":9,"startColumn":16,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":232,"endOffset":232,"startLine":9,"endLine":9,"startColumn":20,"endColumn":20,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"u32","startOffset":234,"endOffset":236,"startLine":9,"endLine":9,"startColumn":22,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":238,"endOffset":238,"startLine":9,"endLine":9,"startColumn":26,"endColumn":26,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"u64","startOffset":240,"endOffset":242,"startLine":9,"endLine":9,"startColumn":28,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":244,"endOffset":244,"startLine":9,"endLine":9,"startColumn":32,"endColumn":32,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"f32","startOffset":246,"endOffset":248,"startLine":9,"endLine":9,"startColumn":34,"endColumn":36,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":250,"endOffset":250,"startLine":9,"endLine":9,"startColumn":38,"endColumn":38,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"f64","startOffset":252,"endOffset":254,"startLine":9,"endLine":9,"startColumn":40,"endColumn":42,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":255,"endOffset":255,"startLine":9,"endLine":9,"startColumn":43,"endColumn":43,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":257,"endOffset":260,"startLine":10,"endLine":10,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"C","startOffset":262,"endOffset":262,"startLine":10,"endLine":10,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":264,"endOffset":264,"startLine":10,"endLine":10,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":266,"endOffset":268,"startLine":10,"endLine":10,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":270,"endOffset":270,"startLine":10,"endLine":10,"startColumn":14,"endColumn":14,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"(","startOffset":272,"endOffset":272,"startLine":10,"endLine":10,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"i32","startOffset":273,"endOffset":275,"startLine":10,"endLine":10,"startColumn":17,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":276,"endOffset":276,"startLine":10,"endLine":10,"startColumn":20,"endColumn":20,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"i32","startOffset":278,"endOffset":280,"startLine":10,"endLine":10,"startColumn":22,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":282,"endOffset":282,"startLine":10,"endLine":10,"startColumn":26,"endColumn":26,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":284,"endOffset":286,"startLine":10,"endLine":10,"startColumn":28,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":287,"endOffset":287,"startLine":10,"endLine":10,"startColumn":31,"endColumn":31,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":289,"endOffset":290,"startLine":10,"endLine":10,"startColumn":33,"endColumn":34,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"u32","startOffset":292,"endOffset":294,"startLine":10,"endLine":10,"startColumn":36,"endColumn":38,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":296,"endOffset":296,"startLine":10,"endLine":10,"startColumn":40,"endColumn":40,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":298,"endOffset":300,"startLine":10,"endLine":10,"startColumn":42,"endColumn":44,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":301,"endOffset":301,"startLine":10,"endLine":10,"startColumn":45,"endColumn":45,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":303,"endOffset":306,"startLine":11,"endLine":11,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"D","startOffset":308,"endOffset":308,"startLine":11,"endLine":11,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":310,"endOffset":310,"startLine":11,"endLine":11,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":312,"endOffset":314,"startLine":11,"endLine":11,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":316,"endOffset":316,"startLine":11,"endLine":11,"startColumn":14,"endColumn":14,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"(","startOffset":318,"endOffset":318,"startLine":11,"endLine":11,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"i32","startOffset":319,"endOffset":321,"startLine":11,"endLine":11,"startColumn":17,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":322,"endOffset":322,"startLine":11,"endLine":11,"startColumn":20,"endColumn":20,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"i32","startOffset":324,"endOffset":326,"startLine":11,"endLine":11,"startColumn":22,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":328,"endOffset":328,"startLine":11,"endLine":11,"startColumn":26,"endColumn":26,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":330,"endOffset":332,"startLine":11,"endLine":11,"startColumn":28,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":333,"endOffset":333,"startLine":11,"endLine":11,"startColumn":31,"endColumn":31,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":335,"endOffset":336,"startLine":11,"endLine":11,"startColumn":33,"endColumn":34,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"(","startOffset":338,"endOffset":338,"startLine":11,"endLine":11,"startColumn":36,"endColumn":36,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"u32","startOffset":339,"endOffset":341,"startLine":11,"endLine":11,"startColumn":37,"endColumn":39,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":343,"endOffset":343,"startLine":11,"endLine":11,"startColumn":41,"endColumn":41,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":345,"endOffset":347,"startLine":11,"endLine":11,"startColumn":43,"endColumn":45,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":348,"endOffset":348,"startLine":11,"endLine":11,"startColumn":46,"endColumn":46,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"|","startOffset":350,"endOffset":350,"startLine":11,"endLine":11,"startColumn":48,"endColumn":48,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"f32","startOffset":352,"endOffset":354,"startLine":11,"endLine":11,"startColumn":50,"endColumn":52,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":355,"endOffset":355,"startLine":11,"endLine":11,"startColumn":53,"endColumn":53,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":357,"endOffset":365,"startLine":12,"endLine":12,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"E","startOffset":367,"endOffset":367,"startLine":12,"endLine":12,"startColumn":11,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"{","startOffset":369,"endOffset":369,"startLine":12,"endLine":12,"startColumn":13,"endColumn":13,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":373,"endOffset":378,"startLine":13,"endLine":13,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":379,"endOffset":379,"startLine":13,"endLine":13,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":381,"endOffset":383,"startLine":13,"endLine":13,"startColumn":11,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":384,"endOffset":384,"startLine":13,"endLine":13,"startColumn":14,"endColumn":14,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":388,"endOffset":390,"startLine":14,"endLine":14,"startColumn":3,"endColumn":5,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"field2","startOffset":392,"endOffset":397,"startLine":14,"endLine":14,"startColumn":7,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":398,"endOffset":398,"startLine":14,"endLine":14,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":400,"endOffset":402,"startLine":14,"endLine":14,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":403,"endOffset":403,"startLine":14,"endLine":14,"startColumn":18,"endColumn":18,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"field3","startOffset":407,"endOffset":412,"startLine":15,"endLine":15,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"?","startOffset":413,"endOffset":413,"startLine":15,"endLine":15,"startColumn":9,"endColumn":9,"tokenTypeIdx":64,"tokenType":"TknQuestionMark"},{"image":":","startOffset":414,"endOffset":414,"startLine":15,"endLine":15,"startColumn":10,"endColumn":10,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":416,"endOffset":418,"startLine":15,"endLine":15,"startColumn":12,"endColumn":14,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":419,"endOffset":419,"startLine":15,"endLine":15,"startColumn":15,"endColumn":15,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"field4","startOffset":423,"endOffset":428,"startLine":16,"endLine":16,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":429,"endOffset":429,"startLine":16,"endLine":16,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"{","startOffset":431,"endOffset":431,"startLine":16,"endLine":16,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":437,"endOffset":442,"startLine":17,"endLine":17,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":443,"endOffset":443,"startLine":17,"endLine":17,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":445,"endOffset":447,"startLine":17,"endLine":17,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":448,"endOffset":448,"startLine":17,"endLine":17,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":452,"endOffset":452,"startLine":18,"endLine":18,"startColumn":3,"endColumn":3,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":453,"endOffset":453,"startLine":18,"endLine":18,"startColumn":4,"endColumn":4,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":455,"endOffset":455,"startLine":19,"endLine":19,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":456,"endOffset":456,"startLine":19,"endLine":19,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":483,"endOffset":485,"startLine":21,"endLine":21,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"objectTest","startOffset":487,"endOffset":496,"startLine":21,"endLine":21,"startColumn":5,"endColumn":14,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":497,"endOffset":497,"startLine":21,"endLine":21,"startColumn":15,"endColumn":15,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"E","startOffset":499,"endOffset":499,"startLine":21,"endLine":21,"startColumn":17,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":501,"endOffset":501,"startLine":21,"endLine":21,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"{","startOffset":503,"endOffset":503,"startLine":21,"endLine":21,"startColumn":21,"endColumn":21,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":507,"endOffset":512,"startLine":22,"endLine":22,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":513,"endOffset":513,"startLine":22,"endLine":22,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":515,"endOffset":516,"startLine":22,"endLine":22,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":517,"endOffset":517,"startLine":22,"endLine":22,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field2","startOffset":521,"endOffset":526,"startLine":23,"endLine":23,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":527,"endOffset":527,"startLine":23,"endLine":23,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":529,"endOffset":530,"startLine":23,"endLine":23,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":531,"endOffset":531,"startLine":23,"endLine":23,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field3","startOffset":535,"endOffset":540,"startLine":24,"endLine":24,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":541,"endOffset":541,"startLine":24,"endLine":24,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":543,"endOffset":544,"startLine":24,"endLine":24,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":545,"endOffset":545,"startLine":24,"endLine":24,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field4","startOffset":549,"endOffset":554,"startLine":25,"endLine":25,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":555,"endOffset":555,"startLine":25,"endLine":25,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"{","startOffset":557,"endOffset":557,"startLine":25,"endLine":25,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":563,"endOffset":568,"startLine":26,"endLine":26,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":569,"endOffset":569,"startLine":26,"endLine":26,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":571,"endOffset":572,"startLine":26,"endLine":26,"startColumn":13,"endColumn":14,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"}","startOffset":576,"endOffset":576,"startLine":27,"endLine":27,"startColumn":3,"endColumn":3,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"}","startOffset":578,"endOffset":578,"startLine":28,"endLine":28,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":579,"endOffset":579,"startLine":28,"endLine":28,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":581,"endOffset":583,"startLine":29,"endLine":29,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"objectTest2","startOffset":585,"endOffset":595,"startLine":29,"endLine":29,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":596,"endOffset":596,"startLine":29,"endLine":29,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"E","startOffset":598,"endOffset":598,"startLine":29,"endLine":29,"startColumn":18,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":600,"endOffset":600,"startLine":29,"endLine":29,"startColumn":20,"endColumn":20,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"{","startOffset":602,"endOffset":602,"startLine":29,"endLine":29,"startColumn":22,"endColumn":22,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":606,"endOffset":611,"startLine":30,"endLine":30,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":612,"endOffset":612,"startLine":30,"endLine":30,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":614,"endOffset":615,"startLine":30,"endLine":30,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":616,"endOffset":616,"startLine":30,"endLine":30,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field2","startOffset":620,"endOffset":625,"startLine":31,"endLine":31,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":626,"endOffset":626,"startLine":31,"endLine":31,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":628,"endOffset":629,"startLine":31,"endLine":31,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":630,"endOffset":630,"startLine":31,"endLine":31,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field4","startOffset":634,"endOffset":639,"startLine":32,"endLine":32,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":640,"endOffset":640,"startLine":32,"endLine":32,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"{","startOffset":642,"endOffset":642,"startLine":32,"endLine":32,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":648,"endOffset":653,"startLine":33,"endLine":33,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":654,"endOffset":654,"startLine":33,"endLine":33,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":656,"endOffset":657,"startLine":33,"endLine":33,"startColumn":13,"endColumn":14,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"}","startOffset":661,"endOffset":661,"startLine":34,"endLine":34,"startColumn":3,"endColumn":3,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"}","startOffset":663,"endOffset":663,"startLine":35,"endLine":35,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":664,"endOffset":664,"startLine":35,"endLine":35,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":666,"endOffset":668,"startLine":36,"endLine":36,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"objectTest3","startOffset":670,"endOffset":680,"startLine":36,"endLine":36,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":681,"endOffset":681,"startLine":36,"endLine":36,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"E","startOffset":683,"endOffset":683,"startLine":36,"endLine":36,"startColumn":18,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":685,"endOffset":685,"startLine":36,"endLine":36,"startColumn":20,"endColumn":20,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"{","startOffset":687,"endOffset":687,"startLine":36,"endLine":36,"startColumn":22,"endColumn":22,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"...","startOffset":691,"endOffset":693,"startLine":37,"endLine":37,"startColumn":3,"endColumn":5,"tokenTypeIdx":51,"tokenType":"TknEllipsis"},{"image":"objectTest2","startOffset":694,"endOffset":704,"startLine":37,"endLine":37,"startColumn":6,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":705,"endOffset":705,"startLine":37,"endLine":37,"startColumn":17,"endColumn":17,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field3","startOffset":709,"endOffset":714,"startLine":38,"endLine":38,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":715,"endOffset":715,"startLine":38,"endLine":38,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":717,"endOffset":718,"startLine":38,"endLine":38,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"}","startOffset":720,"endOffset":720,"startLine":39,"endLine":39,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":721,"endOffset":721,"startLine":39,"endLine":39,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"objectTest","startOffset":723,"endOffset":732,"startLine":40,"endLine":40,"startColumn":1,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":734,"endOffset":734,"startLine":40,"endLine":40,"startColumn":12,"endColumn":12,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":736,"endOffset":737,"startLine":40,"endLine":40,"startColumn":14,"endColumn":15,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":738,"endOffset":738,"startLine":40,"endLine":40,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"objectTest","startOffset":740,"endOffset":749,"startLine":41,"endLine":41,"startColumn":1,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":".","startOffset":750,"endOffset":750,"startLine":41,"endLine":41,"startColumn":11,"endColumn":11,"tokenTypeIdx":52,"tokenType":"Period"},{"image":"field2","startOffset":751,"endOffset":756,"startLine":41,"endLine":41,"startColumn":12,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":758,"endOffset":758,"startLine":41,"endLine":41,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"2n","startOffset":760,"endOffset":761,"startLine":41,"endLine":41,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":762,"endOffset":762,"startLine":41,"endLine":41,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":788,"endOffset":789,"startLine":43,"endLine":43,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":791,"endOffset":791,"startLine":43,"endLine":43,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1","startOffset":792,"endOffset":792,"startLine":43,"endLine":43,"startColumn":5,"endColumn":5,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"==","startOffset":794,"endOffset":795,"startLine":43,"endLine":43,"startColumn":7,"endColumn":8,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"1","startOffset":797,"endOffset":797,"startLine":43,"endLine":43,"startColumn":10,"endColumn":10,"tokenTypeIdx":41,"tokenType":"Number"},{"image":")","startOffset":798,"endOffset":798,"startLine":43,"endLine":43,"startColumn":11,"endColumn":11,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":800,"endOffset":800,"startLine":43,"endLine":43,"startColumn":13,"endColumn":13,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":804,"endOffset":808,"startLine":44,"endLine":44,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":809,"endOffset":809,"startLine":44,"endLine":44,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'If Test'","startOffset":810,"endOffset":818,"startLine":44,"endLine":44,"startColumn":9,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":819,"endOffset":819,"startLine":44,"endLine":44,"startColumn":18,"endColumn":18,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":820,"endOffset":820,"startLine":44,"endLine":44,"startColumn":19,"endColumn":19,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":822,"endOffset":822,"startLine":45,"endLine":45,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":824,"endOffset":827,"startLine":45,"endLine":45,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"if","startOffset":829,"endOffset":830,"startLine":45,"endLine":45,"startColumn":8,"endColumn":9,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":832,"endOffset":832,"startLine":45,"endLine":45,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":833,"endOffset":838,"startLine":45,"endLine":45,"startColumn":12,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":"==","startOffset":840,"endOffset":841,"startLine":45,"endLine":45,"startColumn":19,"endColumn":20,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"'test'","startOffset":843,"endOffset":848,"startLine":45,"endLine":45,"startColumn":22,"endColumn":27,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":849,"endOffset":849,"startLine":45,"endLine":45,"startColumn":28,"endColumn":28,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":851,"endOffset":851,"startLine":45,"endLine":45,"startColumn":30,"endColumn":30,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":855,"endOffset":859,"startLine":46,"endLine":46,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":860,"endOffset":860,"startLine":46,"endLine":46,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'Else If Test'","startOffset":861,"endOffset":874,"startLine":46,"endLine":46,"startColumn":9,"endColumn":22,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":875,"endOffset":875,"startLine":46,"endLine":46,"startColumn":23,"endColumn":23,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":876,"endOffset":876,"startLine":46,"endLine":46,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":878,"endOffset":878,"startLine":47,"endLine":47,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":880,"endOffset":883,"startLine":47,"endLine":47,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"{","startOffset":885,"endOffset":885,"startLine":47,"endLine":47,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":889,"endOffset":893,"startLine":48,"endLine":48,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":894,"endOffset":894,"startLine":48,"endLine":48,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'Else Test'","startOffset":895,"endOffset":905,"startLine":48,"endLine":48,"startColumn":9,"endColumn":19,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":906,"endOffset":906,"startLine":48,"endLine":48,"startColumn":20,"endColumn":20,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":907,"endOffset":907,"startLine":48,"endLine":48,"startColumn":21,"endColumn":21,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":909,"endOffset":909,"startLine":49,"endLine":49,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":910,"endOffset":910,"startLine":49,"endLine":49,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":912,"endOffset":913,"startLine":50,"endLine":50,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":915,"endOffset":915,"startLine":50,"endLine":50,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1","startOffset":916,"endOffset":916,"startLine":50,"endLine":50,"startColumn":5,"endColumn":5,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"==","startOffset":918,"endOffset":919,"startLine":50,"endLine":50,"startColumn":7,"endColumn":8,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"1","startOffset":921,"endOffset":921,"startLine":50,"endLine":50,"startColumn":10,"endColumn":10,"tokenTypeIdx":41,"tokenType":"Number"},{"image":")","startOffset":922,"endOffset":922,"startLine":50,"endLine":50,"startColumn":11,"endColumn":11,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"print","startOffset":924,"endOffset":928,"startLine":50,"endLine":50,"startColumn":13,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":929,"endOffset":929,"startLine":50,"endLine":50,"startColumn":18,"endColumn":18,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":930,"endOffset":935,"startLine":50,"endLine":50,"startColumn":19,"endColumn":24,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":936,"endOffset":936,"startLine":50,"endLine":50,"startColumn":25,"endColumn":25,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":937,"endOffset":937,"startLine":50,"endLine":50,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"else","startOffset":939,"endOffset":942,"startLine":51,"endLine":51,"startColumn":1,"endColumn":4,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"print","startOffset":944,"endOffset":948,"startLine":51,"endLine":51,"startColumn":6,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":949,"endOffset":949,"startLine":51,"endLine":51,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":950,"endOffset":955,"startLine":51,"endLine":51,"startColumn":12,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":956,"endOffset":956,"startLine":51,"endLine":51,"startColumn":18,"endColumn":18,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":957,"endOffset":957,"startLine":51,"endLine":51,"startColumn":19,"endColumn":19,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":960,"endOffset":961,"startLine":53,"endLine":53,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":963,"endOffset":963,"startLine":53,"endLine":53,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":964,"endOffset":967,"startLine":53,"endLine":53,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":968,"endOffset":968,"startLine":53,"endLine":53,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":970,"endOffset":970,"startLine":53,"endLine":53,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":974,"endOffset":978,"startLine":54,"endLine":54,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":979,"endOffset":979,"startLine":54,"endLine":54,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'true'","startOffset":980,"endOffset":985,"startLine":54,"endLine":54,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":986,"endOffset":986,"startLine":54,"endLine":54,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":987,"endOffset":987,"startLine":54,"endLine":54,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":989,"endOffset":989,"startLine":55,"endLine":55,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":990,"endOffset":990,"startLine":55,"endLine":55,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":993,"endOffset":994,"startLine":57,"endLine":57,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":996,"endOffset":996,"startLine":57,"endLine":57,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":997,"endOffset":1000,"startLine":57,"endLine":57,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1001,"endOffset":1001,"startLine":57,"endLine":57,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"print","startOffset":1003,"endOffset":1007,"startLine":57,"endLine":57,"startColumn":11,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1008,"endOffset":1008,"startLine":57,"endLine":57,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1009,"endOffset":1014,"startLine":57,"endLine":57,"startColumn":17,"endColumn":22,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1015,"endOffset":1015,"startLine":57,"endLine":57,"startColumn":23,"endColumn":23,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1016,"endOffset":1016,"startLine":57,"endLine":57,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1019,"endOffset":1020,"startLine":59,"endLine":59,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1022,"endOffset":1022,"startLine":59,"endLine":59,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1023,"endOffset":1026,"startLine":59,"endLine":59,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1027,"endOffset":1027,"startLine":59,"endLine":59,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"print","startOffset":1029,"endOffset":1033,"startLine":59,"endLine":59,"startColumn":11,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1034,"endOffset":1034,"startLine":59,"endLine":59,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1035,"endOffset":1040,"startLine":59,"endLine":59,"startColumn":17,"endColumn":22,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1041,"endOffset":1041,"startLine":59,"endLine":59,"startColumn":23,"endColumn":23,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1042,"endOffset":1042,"startLine":59,"endLine":59,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"else","startOffset":1044,"endOffset":1047,"startLine":60,"endLine":60,"startColumn":1,"endColumn":4,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"print","startOffset":1049,"endOffset":1053,"startLine":60,"endLine":60,"startColumn":6,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1054,"endOffset":1054,"startLine":60,"endLine":60,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1055,"endOffset":1060,"startLine":60,"endLine":60,"startColumn":12,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1061,"endOffset":1061,"startLine":60,"endLine":60,"startColumn":18,"endColumn":18,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1062,"endOffset":1062,"startLine":60,"endLine":60,"startColumn":19,"endColumn":19,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1065,"endOffset":1066,"startLine":62,"endLine":62,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1068,"endOffset":1068,"startLine":62,"endLine":62,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1069,"endOffset":1072,"startLine":62,"endLine":62,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1073,"endOffset":1073,"startLine":62,"endLine":62,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1075,"endOffset":1075,"startLine":62,"endLine":62,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1079,"endOffset":1083,"startLine":63,"endLine":63,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1084,"endOffset":1084,"startLine":63,"endLine":63,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1085,"endOffset":1090,"startLine":63,"endLine":63,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1091,"endOffset":1091,"startLine":63,"endLine":63,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1092,"endOffset":1092,"startLine":63,"endLine":63,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1094,"endOffset":1094,"startLine":64,"endLine":64,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1096,"endOffset":1099,"startLine":64,"endLine":64,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"{","startOffset":1101,"endOffset":1101,"startLine":64,"endLine":64,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1105,"endOffset":1109,"startLine":65,"endLine":65,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1110,"endOffset":1110,"startLine":65,"endLine":65,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1111,"endOffset":1116,"startLine":65,"endLine":65,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1117,"endOffset":1117,"startLine":65,"endLine":65,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1118,"endOffset":1118,"startLine":65,"endLine":65,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1120,"endOffset":1120,"startLine":66,"endLine":66,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1121,"endOffset":1121,"startLine":66,"endLine":66,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1124,"endOffset":1125,"startLine":68,"endLine":68,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1127,"endOffset":1127,"startLine":68,"endLine":68,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1128,"endOffset":1131,"startLine":68,"endLine":68,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1132,"endOffset":1132,"startLine":68,"endLine":68,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1134,"endOffset":1134,"startLine":68,"endLine":68,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1138,"endOffset":1142,"startLine":69,"endLine":69,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1143,"endOffset":1143,"startLine":69,"endLine":69,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1144,"endOffset":1149,"startLine":69,"endLine":69,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1150,"endOffset":1150,"startLine":69,"endLine":69,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1151,"endOffset":1151,"startLine":69,"endLine":69,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1153,"endOffset":1153,"startLine":70,"endLine":70,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1155,"endOffset":1158,"startLine":70,"endLine":70,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"if","startOffset":1160,"endOffset":1161,"startLine":70,"endLine":70,"startColumn":8,"endColumn":9,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1163,"endOffset":1163,"startLine":70,"endLine":70,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1164,"endOffset":1167,"startLine":70,"endLine":70,"startColumn":12,"endColumn":15,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1168,"endOffset":1168,"startLine":70,"endLine":70,"startColumn":16,"endColumn":16,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1170,"endOffset":1170,"startLine":70,"endLine":70,"startColumn":18,"endColumn":18,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1174,"endOffset":1178,"startLine":71,"endLine":71,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1179,"endOffset":1179,"startLine":71,"endLine":71,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1180,"endOffset":1185,"startLine":71,"endLine":71,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1186,"endOffset":1186,"startLine":71,"endLine":71,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1187,"endOffset":1187,"startLine":71,"endLine":71,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1189,"endOffset":1189,"startLine":72,"endLine":72,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1191,"endOffset":1194,"startLine":72,"endLine":72,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"{","startOffset":1196,"endOffset":1196,"startLine":72,"endLine":72,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1200,"endOffset":1204,"startLine":73,"endLine":73,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1205,"endOffset":1205,"startLine":73,"endLine":73,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1206,"endOffset":1211,"startLine":73,"endLine":73,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1212,"endOffset":1212,"startLine":73,"endLine":73,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1213,"endOffset":1213,"startLine":73,"endLine":73,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1215,"endOffset":1215,"startLine":74,"endLine":74,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1216,"endOffset":1216,"startLine":74,"endLine":74,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1219,"endOffset":1220,"startLine":76,"endLine":76,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1222,"endOffset":1222,"startLine":76,"endLine":76,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1223,"endOffset":1226,"startLine":76,"endLine":76,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1227,"endOffset":1227,"startLine":76,"endLine":76,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1229,"endOffset":1229,"startLine":76,"endLine":76,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1233,"endOffset":1237,"startLine":77,"endLine":77,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1238,"endOffset":1238,"startLine":77,"endLine":77,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1239,"endOffset":1244,"startLine":77,"endLine":77,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1245,"endOffset":1245,"startLine":77,"endLine":77,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1246,"endOffset":1246,"startLine":77,"endLine":77,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1248,"endOffset":1248,"startLine":78,"endLine":78,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1250,"endOffset":1253,"startLine":78,"endLine":78,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"print","startOffset":1255,"endOffset":1259,"startLine":78,"endLine":78,"startColumn":8,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1260,"endOffset":1260,"startLine":78,"endLine":78,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1261,"endOffset":1266,"startLine":78,"endLine":78,"startColumn":14,"endColumn":19,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1267,"endOffset":1267,"startLine":78,"endLine":78,"startColumn":20,"endColumn":20,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1268,"endOffset":1268,"startLine":78,"endLine":78,"startColumn":21,"endColumn":21,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1271,"endOffset":1272,"startLine":80,"endLine":80,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1274,"endOffset":1274,"startLine":80,"endLine":80,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1275,"endOffset":1278,"startLine":80,"endLine":80,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1279,"endOffset":1279,"startLine":80,"endLine":80,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1281,"endOffset":1281,"startLine":80,"endLine":80,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1285,"endOffset":1289,"startLine":81,"endLine":81,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1290,"endOffset":1290,"startLine":81,"endLine":81,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1291,"endOffset":1296,"startLine":81,"endLine":81,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1297,"endOffset":1297,"startLine":81,"endLine":81,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1298,"endOffset":1298,"startLine":81,"endLine":81,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1300,"endOffset":1300,"startLine":82,"endLine":82,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1301,"endOffset":1301,"startLine":82,"endLine":82,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"print","startOffset":1326,"endOffset":1330,"startLine":84,"endLine":84,"startColumn":1,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1331,"endOffset":1331,"startLine":84,"endLine":84,"startColumn":6,"endColumn":6,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1332,"endOffset":1337,"startLine":84,"endLine":84,"startColumn":7,"endColumn":12,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1338,"endOffset":1338,"startLine":84,"endLine":84,"startColumn":13,"endColumn":13,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1339,"endOffset":1339,"startLine":84,"endLine":84,"startColumn":14,"endColumn":14,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"f","startOffset":1341,"endOffset":1341,"startLine":85,"endLine":85,"startColumn":1,"endColumn":1,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1342,"endOffset":1342,"startLine":85,"endLine":85,"startColumn":2,"endColumn":2,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":1343,"endOffset":1343,"startLine":85,"endLine":85,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1344,"endOffset":1344,"startLine":85,"endLine":85,"startColumn":4,"endColumn":4,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"@wasm.i32.add","startOffset":1346,"endOffset":1358,"startLine":86,"endLine":86,"startColumn":1,"endColumn":13,"tokenTypeIdx":43,"tokenType":"Wasm Instruction Call"},{"image":"(","startOffset":1359,"endOffset":1359,"startLine":86,"endLine":86,"startColumn":14,"endColumn":14,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1n","startOffset":1360,"endOffset":1361,"startLine":86,"endLine":86,"startColumn":15,"endColumn":16,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":1362,"endOffset":1362,"startLine":86,"endLine":86,"startColumn":17,"endColumn":17,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"1n","startOffset":1364,"endOffset":1365,"startLine":86,"endLine":86,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":")","startOffset":1366,"endOffset":1366,"startLine":86,"endLine":86,"startColumn":21,"endColumn":21,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1367,"endOffset":1367,"startLine":86,"endLine":86,"startColumn":22,"endColumn":22,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1399,"endOffset":1401,"startLine":88,"endLine":88,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"c","startOffset":1403,"endOffset":1403,"startLine":88,"endLine":88,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1404,"endOffset":1404,"startLine":88,"endLine":88,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":1406,"endOffset":1411,"startLine":88,"endLine":88,"startColumn":8,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1413,"endOffset":1413,"startLine":88,"endLine":88,"startColumn":15,"endColumn":15,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":1415,"endOffset":1415,"startLine":88,"endLine":88,"startColumn":17,"endColumn":17,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1417,"endOffset":1417,"startLine":88,"endLine":88,"startColumn":19,"endColumn":19,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"(","startOffset":1419,"endOffset":1419,"startLine":88,"endLine":88,"startColumn":21,"endColumn":21,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1","startOffset":1420,"endOffset":1420,"startLine":88,"endLine":88,"startColumn":22,"endColumn":22,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1422,"endOffset":1422,"startLine":88,"endLine":88,"startColumn":24,"endColumn":24,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1424,"endOffset":1424,"startLine":88,"endLine":88,"startColumn":26,"endColumn":26,"tokenTypeIdx":41,"tokenType":"Number"},{"image":")","startOffset":1425,"endOffset":1425,"startLine":88,"endLine":88,"startColumn":27,"endColumn":27,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"+","startOffset":1427,"endOffset":1427,"startLine":88,"endLine":88,"startColumn":29,"endColumn":29,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1429,"endOffset":1429,"startLine":88,"endLine":88,"startColumn":31,"endColumn":31,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1431,"endOffset":1431,"startLine":88,"endLine":88,"startColumn":33,"endColumn":33,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1433,"endOffset":1433,"startLine":88,"endLine":88,"startColumn":35,"endColumn":35,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1435,"endOffset":1435,"startLine":88,"endLine":88,"startColumn":37,"endColumn":37,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1437,"endOffset":1437,"startLine":88,"endLine":88,"startColumn":39,"endColumn":39,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":1438,"endOffset":1438,"startLine":88,"endLine":88,"startColumn":40,"endColumn":40,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"c","startOffset":1440,"endOffset":1440,"startLine":89,"endLine":89,"startColumn":1,"endColumn":1,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1442,"endOffset":1442,"startLine":89,"endLine":89,"startColumn":3,"endColumn":3,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":1444,"endOffset":1444,"startLine":89,"endLine":89,"startColumn":5,"endColumn":5,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":1445,"endOffset":1445,"startLine":89,"endLine":89,"startColumn":6,"endColumn":6,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1447,"endOffset":1449,"startLine":90,"endLine":90,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"d","startOffset":1451,"endOffset":1451,"startLine":90,"endLine":90,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1452,"endOffset":1452,"startLine":90,"endLine":90,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":1454,"endOffset":1459,"startLine":90,"endLine":90,"startColumn":8,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1461,"endOffset":1461,"startLine":90,"endLine":90,"startColumn":15,"endColumn":15,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"a","startOffset":1463,"endOffset":1463,"startLine":90,"endLine":90,"startColumn":17,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1464,"endOffset":1464,"startLine":90,"endLine":90,"startColumn":18,"endColumn":18,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1466,"endOffset":1468,"startLine":91,"endLine":91,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"e","startOffset":1470,"endOffset":1470,"startLine":91,"endLine":91,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1471,"endOffset":1471,"startLine":91,"endLine":91,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1473,"endOffset":1475,"startLine":91,"endLine":91,"startColumn":8,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1477,"endOffset":1477,"startLine":91,"endLine":91,"startColumn":12,"endColumn":12,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"objectTest3","startOffset":1479,"endOffset":1489,"startLine":91,"endLine":91,"startColumn":14,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":".","startOffset":1490,"endOffset":1490,"startLine":91,"endLine":91,"startColumn":25,"endColumn":25,"tokenTypeIdx":52,"tokenType":"Period"},{"image":"field3","startOffset":1491,"endOffset":1496,"startLine":91,"endLine":91,"startColumn":26,"endColumn":31,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1497,"endOffset":1497,"startLine":91,"endLine":91,"startColumn":32,"endColumn":32,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1499,"endOffset":1501,"startLine":92,"endLine":92,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"z","startOffset":1503,"endOffset":1503,"startLine":92,"endLine":92,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1504,"endOffset":1504,"startLine":92,"endLine":92,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Function","startOffset":1506,"endOffset":1513,"startLine":92,"endLine":92,"startColumn":8,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1515,"endOffset":1515,"startLine":92,"endLine":92,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"(","startOffset":1517,"endOffset":1517,"startLine":92,"endLine":92,"startColumn":19,"endColumn":19,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"g","startOffset":1518,"endOffset":1518,"startLine":92,"endLine":92,"startColumn":20,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1519,"endOffset":1519,"startLine":92,"endLine":92,"startColumn":21,"endColumn":21,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1521,"endOffset":1523,"startLine":92,"endLine":92,"startColumn":23,"endColumn":25,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1524,"endOffset":1524,"startLine":92,"endLine":92,"startColumn":26,"endColumn":26,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":":","startOffset":1525,"endOffset":1525,"startLine":92,"endLine":92,"startColumn":27,"endColumn":27,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1527,"endOffset":1529,"startLine":92,"endLine":92,"startColumn":29,"endColumn":31,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1531,"endOffset":1532,"startLine":92,"endLine":92,"startColumn":33,"endColumn":34,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"{","startOffset":1534,"endOffset":1534,"startLine":92,"endLine":92,"startColumn":36,"endColumn":36,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"return","startOffset":1538,"endOffset":1543,"startLine":93,"endLine":93,"startColumn":3,"endColumn":8,"tokenTypeIdx":32,"tokenType":"ReturnToken"},{"image":"(","startOffset":1544,"endOffset":1544,"startLine":93,"endLine":93,"startColumn":9,"endColumn":9,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"g","startOffset":1545,"endOffset":1545,"startLine":93,"endLine":93,"startColumn":10,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1546,"endOffset":1546,"startLine":93,"endLine":93,"startColumn":11,"endColumn":11,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1547,"endOffset":1547,"startLine":93,"endLine":93,"startColumn":12,"endColumn":12,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1549,"endOffset":1549,"startLine":94,"endLine":94,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1550,"endOffset":1550,"startLine":94,"endLine":94,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"const","startOffset":1552,"endOffset":1556,"startLine":95,"endLine":95,"startColumn":1,"endColumn":5,"tokenTypeIdx":21,"tokenType":"ConstToken"},{"image":"h","startOffset":1558,"endOffset":1558,"startLine":95,"endLine":95,"startColumn":7,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1559,"endOffset":1559,"startLine":95,"endLine":95,"startColumn":8,"endColumn":8,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":1561,"endOffset":1566,"startLine":95,"endLine":95,"startColumn":10,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1568,"endOffset":1568,"startLine":95,"endLine":95,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":1570,"endOffset":1570,"startLine":95,"endLine":95,"startColumn":19,"endColumn":19,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":1571,"endOffset":1571,"startLine":95,"endLine":95,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"(","startOffset":1573,"endOffset":1573,"startLine":96,"endLine":96,"startColumn":1,"endColumn":1,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"(","startOffset":1574,"endOffset":1574,"startLine":96,"endLine":96,"startColumn":2,"endColumn":2,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":1575,"endOffset":1575,"startLine":96,"endLine":96,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":":","startOffset":1576,"endOffset":1576,"startLine":96,"endLine":96,"startColumn":4,"endColumn":4,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1578,"endOffset":1580,"startLine":96,"endLine":96,"startColumn":6,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1582,"endOffset":1583,"startLine":96,"endLine":96,"startColumn":10,"endColumn":11,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"{","startOffset":1585,"endOffset":1585,"startLine":96,"endLine":96,"startColumn":13,"endColumn":13,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1589,"endOffset":1593,"startLine":97,"endLine":97,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1594,"endOffset":1594,"startLine":97,"endLine":97,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1595,"endOffset":1600,"startLine":97,"endLine":97,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1601,"endOffset":1601,"startLine":97,"endLine":97,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1602,"endOffset":1602,"startLine":97,"endLine":97,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"return","startOffset":1606,"endOffset":1611,"startLine":98,"endLine":98,"startColumn":3,"endColumn":8,"tokenTypeIdx":32,"tokenType":"ReturnToken"},{"image":"(","startOffset":1612,"endOffset":1612,"startLine":98,"endLine":98,"startColumn":9,"endColumn":9,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1n","startOffset":1613,"endOffset":1614,"startLine":98,"endLine":98,"startColumn":10,"endColumn":11,"tokenTypeIdx":35,"tokenType":"I32"},{"image":")","startOffset":1615,"endOffset":1615,"startLine":98,"endLine":98,"startColumn":12,"endColumn":12,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1616,"endOffset":1616,"startLine":98,"endLine":98,"startColumn":13,"endColumn":13,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1618,"endOffset":1618,"startLine":99,"endLine":99,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":")","startOffset":1619,"endOffset":1619,"startLine":99,"endLine":99,"startColumn":2,"endColumn":2,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"(","startOffset":1620,"endOffset":1620,"startLine":99,"endLine":99,"startColumn":3,"endColumn":3,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":1621,"endOffset":1621,"startLine":99,"endLine":99,"startColumn":4,"endColumn":4,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1622,"endOffset":1622,"startLine":99,"endLine":99,"startColumn":5,"endColumn":5,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":1642,"endOffset":1650,"startLine":101,"endLine":101,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_Has_TestInterface","startOffset":1652,"endOffset":1681,"startLine":101,"endLine":101,"startColumn":11,"endColumn":40,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1682,"endOffset":1682,"startLine":101,"endLine":101,"startColumn":41,"endColumn":41,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1683,"endOffset":1693,"startLine":101,"endLine":101,"startColumn":42,"endColumn":52,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1694,"endOffset":1694,"startLine":101,"endLine":101,"startColumn":53,"endColumn":53,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1696,"endOffset":1696,"startLine":101,"endLine":101,"startColumn":55,"endColumn":55,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"test","startOffset":1700,"endOffset":1703,"startLine":102,"endLine":102,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1704,"endOffset":1704,"startLine":102,"endLine":102,"startColumn":7,"endColumn":7,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1706,"endOffset":1716,"startLine":102,"endLine":102,"startColumn":9,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1717,"endOffset":1717,"startLine":102,"endLine":102,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1719,"endOffset":1719,"startLine":103,"endLine":103,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1720,"endOffset":1720,"startLine":103,"endLine":103,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"enum","startOffset":1722,"endOffset":1725,"startLine":104,"endLine":104,"startColumn":1,"endColumn":4,"tokenTypeIdx":33,"tokenType":"TknEnum"},{"image":"OptionalSemi_Has_EnumTest","startOffset":1727,"endOffset":1751,"startLine":104,"endLine":104,"startColumn":6,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1752,"endOffset":1752,"startLine":104,"endLine":104,"startColumn":31,"endColumn":31,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1753,"endOffset":1763,"startLine":104,"endLine":104,"startColumn":32,"endColumn":42,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1764,"endOffset":1764,"startLine":104,"endLine":104,"startColumn":43,"endColumn":43,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1766,"endOffset":1766,"startLine":104,"endLine":104,"startColumn":45,"endColumn":45,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1770,"endOffset":1773,"startLine":105,"endLine":105,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1774,"endOffset":1774,"startLine":105,"endLine":105,"startColumn":7,"endColumn":7,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1775,"endOffset":1785,"startLine":105,"endLine":105,"startColumn":8,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1786,"endOffset":1786,"startLine":105,"endLine":105,"startColumn":19,"endColumn":19,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"}","startOffset":1788,"endOffset":1788,"startLine":106,"endLine":106,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1789,"endOffset":1789,"startLine":106,"endLine":106,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":1791,"endOffset":1799,"startLine":107,"endLine":107,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_TestInterface","startOffset":1801,"endOffset":1826,"startLine":107,"endLine":107,"startColumn":11,"endColumn":36,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1827,"endOffset":1827,"startLine":107,"endLine":107,"startColumn":37,"endColumn":37,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1828,"endOffset":1838,"startLine":107,"endLine":107,"startColumn":38,"endColumn":48,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1839,"endOffset":1839,"startLine":107,"endLine":107,"startColumn":49,"endColumn":49,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1841,"endOffset":1841,"startLine":107,"endLine":107,"startColumn":51,"endColumn":51,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"test","startOffset":1845,"endOffset":1848,"startLine":108,"endLine":108,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1849,"endOffset":1849,"startLine":108,"endLine":108,"startColumn":7,"endColumn":7,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1851,"endOffset":1861,"startLine":108,"endLine":108,"startColumn":9,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1862,"endOffset":1862,"startLine":108,"endLine":108,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1864,"endOffset":1864,"startLine":109,"endLine":109,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"enum","startOffset":1866,"endOffset":1869,"startLine":110,"endLine":110,"startColumn":1,"endColumn":4,"tokenTypeIdx":33,"tokenType":"TknEnum"},{"image":"OptionalSemi_EnumTest","startOffset":1871,"endOffset":1891,"startLine":110,"endLine":110,"startColumn":6,"endColumn":26,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1892,"endOffset":1892,"startLine":110,"endLine":110,"startColumn":27,"endColumn":27,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1893,"endOffset":1903,"startLine":110,"endLine":110,"startColumn":28,"endColumn":38,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1904,"endOffset":1904,"startLine":110,"endLine":110,"startColumn":39,"endColumn":39,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1906,"endOffset":1906,"startLine":110,"endLine":110,"startColumn":41,"endColumn":41,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1910,"endOffset":1913,"startLine":111,"endLine":111,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1914,"endOffset":1914,"startLine":111,"endLine":111,"startColumn":7,"endColumn":7,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1915,"endOffset":1925,"startLine":111,"endLine":111,"startColumn":8,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1926,"endOffset":1926,"startLine":111,"endLine":111,"startColumn":19,"endColumn":19,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"}","startOffset":1928,"endOffset":1928,"startLine":112,"endLine":112,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"type","startOffset":1948,"endOffset":1951,"startLine":114,"endLine":114,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"Generic_TypeTest","startOffset":1953,"endOffset":1968,"startLine":114,"endLine":114,"startColumn":6,"endColumn":21,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1969,"endOffset":1969,"startLine":114,"endLine":114,"startColumn":22,"endColumn":22,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1970,"endOffset":1980,"startLine":114,"endLine":114,"startColumn":23,"endColumn":33,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":1981,"endOffset":1981,"startLine":114,"endLine":114,"startColumn":34,"endColumn":34,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"GenericTest1","startOffset":1983,"endOffset":1994,"startLine":114,"endLine":114,"startColumn":36,"endColumn":47,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1995,"endOffset":1995,"startLine":114,"endLine":114,"startColumn":48,"endColumn":48,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"=","startOffset":1997,"endOffset":1997,"startLine":114,"endLine":114,"startColumn":50,"endColumn":50,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"String","startOffset":1999,"endOffset":2004,"startLine":114,"endLine":114,"startColumn":52,"endColumn":57,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":2005,"endOffset":2005,"startLine":114,"endLine":114,"startColumn":58,"endColumn":58,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":2007,"endOffset":2015,"startLine":115,"endLine":115,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"Generic_TestInterface","startOffset":2017,"endOffset":2037,"startLine":115,"endLine":115,"startColumn":11,"endColumn":31,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2038,"endOffset":2038,"startLine":115,"endLine":115,"startColumn":32,"endColumn":32,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":2039,"endOffset":2049,"startLine":115,"endLine":115,"startColumn":33,"endColumn":43,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":2050,"endOffset":2050,"startLine":115,"endLine":115,"startColumn":44,"endColumn":44,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":2052,"endOffset":2052,"startLine":115,"endLine":115,"startColumn":46,"endColumn":46,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"test","startOffset":2056,"endOffset":2059,"startLine":116,"endLine":116,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":2060,"endOffset":2060,"startLine":116,"endLine":116,"startColumn":7,"endColumn":7,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"GenericTest","startOffset":2062,"endOffset":2072,"startLine":116,"endLine":116,"startColumn":9,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":2073,"endOffset":2073,"startLine":116,"endLine":116,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":2075,"endOffset":2075,"startLine":117,"endLine":117,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"enum","startOffset":2077,"endOffset":2080,"startLine":118,"endLine":118,"startColumn":1,"endColumn":4,"tokenTypeIdx":33,"tokenType":"TknEnum"},{"image":"Generic_EnumTest","startOffset":2082,"endOffset":2097,"startLine":118,"endLine":118,"startColumn":6,"endColumn":21,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2098,"endOffset":2098,"startLine":118,"endLine":118,"startColumn":22,"endColumn":22,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":2099,"endOffset":2109,"startLine":118,"endLine":118,"startColumn":23,"endColumn":33,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":2110,"endOffset":2110,"startLine":118,"endLine":118,"startColumn":34,"endColumn":34,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":2112,"endOffset":2112,"startLine":118,"endLine":118,"startColumn":36,"endColumn":36,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"Test","startOffset":2116,"endOffset":2119,"startLine":119,"endLine":119,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":2120,"endOffset":2120,"startLine":119,"endLine":119,"startColumn":7,"endColumn":7,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":2121,"endOffset":2131,"startLine":119,"endLine":119,"startColumn":8,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":2132,"endOffset":2132,"startLine":119,"endLine":119,"startColumn":19,"endColumn":19,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"}","startOffset":2134,"endOffset":2134,"startLine":120,"endLine":120,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"export","startOffset":2152,"endOffset":2157,"startLine":122,"endLine":122,"startColumn":1,"endColumn":6,"tokenTypeIdx":20,"tokenType":"ExportToken"},{"image":"const","startOffset":2159,"endOffset":2163,"startLine":122,"endLine":122,"startColumn":8,"endColumn":12,"tokenTypeIdx":21,"tokenType":"ConstToken"},{"image":"y","startOffset":2165,"endOffset":2165,"startLine":122,"endLine":122,"startColumn":14,"endColumn":14,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":2166,"endOffset":2166,"startLine":122,"endLine":122,"startColumn":15,"endColumn":15,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":2168,"endOffset":2173,"startLine":122,"endLine":122,"startColumn":17,"endColumn":22,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":2175,"endOffset":2175,"startLine":122,"endLine":122,"startColumn":24,"endColumn":24,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":2177,"endOffset":2177,"startLine":122,"endLine":122,"startColumn":26,"endColumn":26,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":2178,"endOffset":2178,"startLine":122,"endLine":122,"startColumn":27,"endColumn":27,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"export","startOffset":2180,"endOffset":2185,"startLine":123,"endLine":123,"startColumn":1,"endColumn":6,"tokenTypeIdx":20,"tokenType":"ExportToken"},{"image":"h","startOffset":2187,"endOffset":2187,"startLine":123,"endLine":123,"startColumn":8,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":2188,"endOffset":2188,"startLine":123,"endLine":123,"startColumn":9,"endColumn":9,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"export","startOffset":2190,"endOffset":2195,"startLine":124,"endLine":124,"startColumn":1,"endColumn":6,"tokenTypeIdx":20,"tokenType":"ExportToken"},{"image":"{","startOffset":2197,"endOffset":2197,"startLine":124,"endLine":124,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"c","startOffset":2201,"endOffset":2201,"startLine":125,"endLine":125,"startColumn":3,"endColumn":3,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":2202,"endOffset":2202,"startLine":125,"endLine":125,"startColumn":4,"endColumn":4,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"d","startOffset":2206,"endOffset":2206,"startLine":126,"endLine":126,"startColumn":3,"endColumn":3,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":2207,"endOffset":2207,"startLine":126,"endLine":126,"startColumn":4,"endColumn":4,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"z","startOffset":2211,"endOffset":2211,"startLine":127,"endLine":127,"startColumn":3,"endColumn":3,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"}","startOffset":2213,"endOffset":2213,"startLine":128,"endLine":128,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":2214,"endOffset":2214,"startLine":128,"endLine":128,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"}],"groups":{"Reserved":[]},"errors":[]} \ No newline at end of file diff --git a/__tests__/Data/Parser/Operator_Precedence_Pass.br b/__tests__/Data/Parser/Operator_Precedence_Pass.br new file mode 100644 index 0000000..855796e --- /dev/null +++ b/__tests__/Data/Parser/Operator_Precedence_Pass.br @@ -0,0 +1,32 @@ +// Infix Operators +let aINFIX: i32 = 1n + 1n; +let bINFIX: i32 = 1n - 1n; +let cINFIX: i32 = 1n * 1n; +let dINFIX: i32 = 1n / 1n; +let eINFIX: i32 = 1n % 1n; +let fINFIX: i32 = 1n ^ 1n; +let fINFIX: i32 = 1n == 1n; +// Prefix Operators +let aPREFIX: i32 = +1n; +let bPREFIX: i32 = -1n; +let cPREFIX: i32 = *1n; +let dPREFIX: i32 = /1n; +let ePREFIX: i32 = %1n; +let fPREFIX: i32 = ^1n; +// Postfix Operators +let aPOSTFIX: i32 = 1n+; +let bPOSTFIX: i32 = 1n-; +let cPOSTFIX: i32 = 1n*; +let dPOSTFIX: i32 = 1n/; +let ePOSTFIX: i32 = 1n%; +let fPOSTFIX: i32 = 1n^; + +// Precedence +let aPrecedence: i32 = (1n!) + (1n!); +let bPrecedence: i32 = !1n + !1n; +let cPrecedence: i32 = !1n!; +let dPrecedence: i32 = !1n!!; +let ePrecedence: i32 = !!1n!; +let fPrecedence: i32 = +!1n; +let gPrecedence: i32 = 1n!+; +let hPrecedence: i32 = 1n + 1n ** 1n + 1n * 2n / 3n % 4n - 5n ^ 6n == 7n && 8n < 9n > 10n ? 12n; \ No newline at end of file diff --git a/__tests__/Data/Parser/Operator_Precedence_Pass.json b/__tests__/Data/Parser/Operator_Precedence_Pass.json new file mode 100644 index 0000000..664851c --- /dev/null +++ b/__tests__/Data/Parser/Operator_Precedence_Pass.json @@ -0,0 +1 @@ +{"tokens":[{"image":"let","startOffset":19,"endOffset":21,"startLine":2,"endLine":2,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"aINFIX","startOffset":23,"endOffset":28,"startLine":2,"endLine":2,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":29,"endOffset":29,"startLine":2,"endLine":2,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":31,"endOffset":33,"startLine":2,"endLine":2,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":35,"endOffset":35,"startLine":2,"endLine":2,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":37,"endOffset":38,"startLine":2,"endLine":2,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"+","startOffset":40,"endOffset":40,"startLine":2,"endLine":2,"startColumn":22,"endColumn":22,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1n","startOffset":42,"endOffset":43,"startLine":2,"endLine":2,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":44,"endOffset":44,"startLine":2,"endLine":2,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":46,"endOffset":48,"startLine":3,"endLine":3,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"bINFIX","startOffset":50,"endOffset":55,"startLine":3,"endLine":3,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":56,"endOffset":56,"startLine":3,"endLine":3,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":58,"endOffset":60,"startLine":3,"endLine":3,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":62,"endOffset":62,"startLine":3,"endLine":3,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":64,"endOffset":65,"startLine":3,"endLine":3,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"-","startOffset":67,"endOffset":67,"startLine":3,"endLine":3,"startColumn":22,"endColumn":22,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1n","startOffset":69,"endOffset":70,"startLine":3,"endLine":3,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":71,"endOffset":71,"startLine":3,"endLine":3,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":73,"endOffset":75,"startLine":4,"endLine":4,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"cINFIX","startOffset":77,"endOffset":82,"startLine":4,"endLine":4,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":83,"endOffset":83,"startLine":4,"endLine":4,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":85,"endOffset":87,"startLine":4,"endLine":4,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":89,"endOffset":89,"startLine":4,"endLine":4,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":91,"endOffset":92,"startLine":4,"endLine":4,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"*","startOffset":94,"endOffset":94,"startLine":4,"endLine":4,"startColumn":22,"endColumn":22,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"1n","startOffset":96,"endOffset":97,"startLine":4,"endLine":4,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":98,"endOffset":98,"startLine":4,"endLine":4,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":100,"endOffset":102,"startLine":5,"endLine":5,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"dINFIX","startOffset":104,"endOffset":109,"startLine":5,"endLine":5,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":110,"endOffset":110,"startLine":5,"endLine":5,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":112,"endOffset":114,"startLine":5,"endLine":5,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":116,"endOffset":116,"startLine":5,"endLine":5,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":118,"endOffset":119,"startLine":5,"endLine":5,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"/","startOffset":121,"endOffset":121,"startLine":5,"endLine":5,"startColumn":22,"endColumn":22,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"1n","startOffset":123,"endOffset":124,"startLine":5,"endLine":5,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":125,"endOffset":125,"startLine":5,"endLine":5,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":127,"endOffset":129,"startLine":6,"endLine":6,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"eINFIX","startOffset":131,"endOffset":136,"startLine":6,"endLine":6,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":137,"endOffset":137,"startLine":6,"endLine":6,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":139,"endOffset":141,"startLine":6,"endLine":6,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":143,"endOffset":143,"startLine":6,"endLine":6,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":145,"endOffset":146,"startLine":6,"endLine":6,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"%","startOffset":148,"endOffset":148,"startLine":6,"endLine":6,"startColumn":22,"endColumn":22,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"1n","startOffset":150,"endOffset":151,"startLine":6,"endLine":6,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":152,"endOffset":152,"startLine":6,"endLine":6,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":154,"endOffset":156,"startLine":7,"endLine":7,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"fINFIX","startOffset":158,"endOffset":163,"startLine":7,"endLine":7,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":164,"endOffset":164,"startLine":7,"endLine":7,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":166,"endOffset":168,"startLine":7,"endLine":7,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":170,"endOffset":170,"startLine":7,"endLine":7,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":172,"endOffset":173,"startLine":7,"endLine":7,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"^","startOffset":175,"endOffset":175,"startLine":7,"endLine":7,"startColumn":22,"endColumn":22,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"1n","startOffset":177,"endOffset":178,"startLine":7,"endLine":7,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":179,"endOffset":179,"startLine":7,"endLine":7,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":181,"endOffset":183,"startLine":8,"endLine":8,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"fINFIX","startOffset":185,"endOffset":190,"startLine":8,"endLine":8,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":191,"endOffset":191,"startLine":8,"endLine":8,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":193,"endOffset":195,"startLine":8,"endLine":8,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":197,"endOffset":197,"startLine":8,"endLine":8,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":199,"endOffset":200,"startLine":8,"endLine":8,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"==","startOffset":202,"endOffset":203,"startLine":8,"endLine":8,"startColumn":22,"endColumn":23,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"1n","startOffset":205,"endOffset":206,"startLine":8,"endLine":8,"startColumn":25,"endColumn":26,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":207,"endOffset":207,"startLine":8,"endLine":8,"startColumn":27,"endColumn":27,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":229,"endOffset":231,"startLine":10,"endLine":10,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"aPREFIX","startOffset":233,"endOffset":239,"startLine":10,"endLine":10,"startColumn":5,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":240,"endOffset":240,"startLine":10,"endLine":10,"startColumn":12,"endColumn":12,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":242,"endOffset":244,"startLine":10,"endLine":10,"startColumn":14,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":246,"endOffset":246,"startLine":10,"endLine":10,"startColumn":18,"endColumn":18,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"+","startOffset":248,"endOffset":248,"startLine":10,"endLine":10,"startColumn":20,"endColumn":20,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1n","startOffset":249,"endOffset":250,"startLine":10,"endLine":10,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":251,"endOffset":251,"startLine":10,"endLine":10,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":253,"endOffset":255,"startLine":11,"endLine":11,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"bPREFIX","startOffset":257,"endOffset":263,"startLine":11,"endLine":11,"startColumn":5,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":264,"endOffset":264,"startLine":11,"endLine":11,"startColumn":12,"endColumn":12,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":266,"endOffset":268,"startLine":11,"endLine":11,"startColumn":14,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":270,"endOffset":270,"startLine":11,"endLine":11,"startColumn":18,"endColumn":18,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"-","startOffset":272,"endOffset":272,"startLine":11,"endLine":11,"startColumn":20,"endColumn":20,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1n","startOffset":273,"endOffset":274,"startLine":11,"endLine":11,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":275,"endOffset":275,"startLine":11,"endLine":11,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":277,"endOffset":279,"startLine":12,"endLine":12,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"cPREFIX","startOffset":281,"endOffset":287,"startLine":12,"endLine":12,"startColumn":5,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":288,"endOffset":288,"startLine":12,"endLine":12,"startColumn":12,"endColumn":12,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":290,"endOffset":292,"startLine":12,"endLine":12,"startColumn":14,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":294,"endOffset":294,"startLine":12,"endLine":12,"startColumn":18,"endColumn":18,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"*","startOffset":296,"endOffset":296,"startLine":12,"endLine":12,"startColumn":20,"endColumn":20,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"1n","startOffset":297,"endOffset":298,"startLine":12,"endLine":12,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":299,"endOffset":299,"startLine":12,"endLine":12,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":301,"endOffset":303,"startLine":13,"endLine":13,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"dPREFIX","startOffset":305,"endOffset":311,"startLine":13,"endLine":13,"startColumn":5,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":312,"endOffset":312,"startLine":13,"endLine":13,"startColumn":12,"endColumn":12,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":314,"endOffset":316,"startLine":13,"endLine":13,"startColumn":14,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":318,"endOffset":318,"startLine":13,"endLine":13,"startColumn":18,"endColumn":18,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"/","startOffset":320,"endOffset":320,"startLine":13,"endLine":13,"startColumn":20,"endColumn":20,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"1n","startOffset":321,"endOffset":322,"startLine":13,"endLine":13,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":323,"endOffset":323,"startLine":13,"endLine":13,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":325,"endOffset":327,"startLine":14,"endLine":14,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"ePREFIX","startOffset":329,"endOffset":335,"startLine":14,"endLine":14,"startColumn":5,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":336,"endOffset":336,"startLine":14,"endLine":14,"startColumn":12,"endColumn":12,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":338,"endOffset":340,"startLine":14,"endLine":14,"startColumn":14,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":342,"endOffset":342,"startLine":14,"endLine":14,"startColumn":18,"endColumn":18,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"%","startOffset":344,"endOffset":344,"startLine":14,"endLine":14,"startColumn":20,"endColumn":20,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"1n","startOffset":345,"endOffset":346,"startLine":14,"endLine":14,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":347,"endOffset":347,"startLine":14,"endLine":14,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":349,"endOffset":351,"startLine":15,"endLine":15,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"fPREFIX","startOffset":353,"endOffset":359,"startLine":15,"endLine":15,"startColumn":5,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":360,"endOffset":360,"startLine":15,"endLine":15,"startColumn":12,"endColumn":12,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":362,"endOffset":364,"startLine":15,"endLine":15,"startColumn":14,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":366,"endOffset":366,"startLine":15,"endLine":15,"startColumn":18,"endColumn":18,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"^","startOffset":368,"endOffset":368,"startLine":15,"endLine":15,"startColumn":20,"endColumn":20,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"1n","startOffset":369,"endOffset":370,"startLine":15,"endLine":15,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":371,"endOffset":371,"startLine":15,"endLine":15,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":394,"endOffset":396,"startLine":17,"endLine":17,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"aPOSTFIX","startOffset":398,"endOffset":405,"startLine":17,"endLine":17,"startColumn":5,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":406,"endOffset":406,"startLine":17,"endLine":17,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":408,"endOffset":410,"startLine":17,"endLine":17,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":412,"endOffset":412,"startLine":17,"endLine":17,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":414,"endOffset":415,"startLine":17,"endLine":17,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"+","startOffset":416,"endOffset":416,"startLine":17,"endLine":17,"startColumn":23,"endColumn":23,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":";","startOffset":417,"endOffset":417,"startLine":17,"endLine":17,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":419,"endOffset":421,"startLine":18,"endLine":18,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"bPOSTFIX","startOffset":423,"endOffset":430,"startLine":18,"endLine":18,"startColumn":5,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":431,"endOffset":431,"startLine":18,"endLine":18,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":433,"endOffset":435,"startLine":18,"endLine":18,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":437,"endOffset":437,"startLine":18,"endLine":18,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":439,"endOffset":440,"startLine":18,"endLine":18,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"-","startOffset":441,"endOffset":441,"startLine":18,"endLine":18,"startColumn":23,"endColumn":23,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":";","startOffset":442,"endOffset":442,"startLine":18,"endLine":18,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":444,"endOffset":446,"startLine":19,"endLine":19,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"cPOSTFIX","startOffset":448,"endOffset":455,"startLine":19,"endLine":19,"startColumn":5,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":456,"endOffset":456,"startLine":19,"endLine":19,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":458,"endOffset":460,"startLine":19,"endLine":19,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":462,"endOffset":462,"startLine":19,"endLine":19,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":464,"endOffset":465,"startLine":19,"endLine":19,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"*","startOffset":466,"endOffset":466,"startLine":19,"endLine":19,"startColumn":23,"endColumn":23,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":";","startOffset":467,"endOffset":467,"startLine":19,"endLine":19,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":469,"endOffset":471,"startLine":20,"endLine":20,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"dPOSTFIX","startOffset":473,"endOffset":480,"startLine":20,"endLine":20,"startColumn":5,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":481,"endOffset":481,"startLine":20,"endLine":20,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":483,"endOffset":485,"startLine":20,"endLine":20,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":487,"endOffset":487,"startLine":20,"endLine":20,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":489,"endOffset":490,"startLine":20,"endLine":20,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"/","startOffset":491,"endOffset":491,"startLine":20,"endLine":20,"startColumn":23,"endColumn":23,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":";","startOffset":492,"endOffset":492,"startLine":20,"endLine":20,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":494,"endOffset":496,"startLine":21,"endLine":21,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"ePOSTFIX","startOffset":498,"endOffset":505,"startLine":21,"endLine":21,"startColumn":5,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":506,"endOffset":506,"startLine":21,"endLine":21,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":508,"endOffset":510,"startLine":21,"endLine":21,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":512,"endOffset":512,"startLine":21,"endLine":21,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":514,"endOffset":515,"startLine":21,"endLine":21,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"%","startOffset":516,"endOffset":516,"startLine":21,"endLine":21,"startColumn":23,"endColumn":23,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":";","startOffset":517,"endOffset":517,"startLine":21,"endLine":21,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":519,"endOffset":521,"startLine":22,"endLine":22,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"fPOSTFIX","startOffset":523,"endOffset":530,"startLine":22,"endLine":22,"startColumn":5,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":531,"endOffset":531,"startLine":22,"endLine":22,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":533,"endOffset":535,"startLine":22,"endLine":22,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":537,"endOffset":537,"startLine":22,"endLine":22,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":539,"endOffset":540,"startLine":22,"endLine":22,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"^","startOffset":541,"endOffset":541,"startLine":22,"endLine":22,"startColumn":23,"endColumn":23,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":";","startOffset":542,"endOffset":542,"startLine":22,"endLine":22,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":559,"endOffset":561,"startLine":25,"endLine":25,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"aPrecedence","startOffset":563,"endOffset":573,"startLine":25,"endLine":25,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":574,"endOffset":574,"startLine":25,"endLine":25,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":576,"endOffset":578,"startLine":25,"endLine":25,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":580,"endOffset":580,"startLine":25,"endLine":25,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"(","startOffset":582,"endOffset":582,"startLine":25,"endLine":25,"startColumn":24,"endColumn":24,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1n","startOffset":583,"endOffset":584,"startLine":25,"endLine":25,"startColumn":25,"endColumn":26,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"!","startOffset":585,"endOffset":585,"startLine":25,"endLine":25,"startColumn":27,"endColumn":27,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":")","startOffset":586,"endOffset":586,"startLine":25,"endLine":25,"startColumn":28,"endColumn":28,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"+","startOffset":588,"endOffset":588,"startLine":25,"endLine":25,"startColumn":30,"endColumn":30,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"(","startOffset":590,"endOffset":590,"startLine":25,"endLine":25,"startColumn":32,"endColumn":32,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1n","startOffset":591,"endOffset":592,"startLine":25,"endLine":25,"startColumn":33,"endColumn":34,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"!","startOffset":593,"endOffset":593,"startLine":25,"endLine":25,"startColumn":35,"endColumn":35,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":")","startOffset":594,"endOffset":594,"startLine":25,"endLine":25,"startColumn":36,"endColumn":36,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":595,"endOffset":595,"startLine":25,"endLine":25,"startColumn":37,"endColumn":37,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":597,"endOffset":599,"startLine":26,"endLine":26,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"bPrecedence","startOffset":601,"endOffset":611,"startLine":26,"endLine":26,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":612,"endOffset":612,"startLine":26,"endLine":26,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":614,"endOffset":616,"startLine":26,"endLine":26,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":618,"endOffset":618,"startLine":26,"endLine":26,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"!","startOffset":620,"endOffset":620,"startLine":26,"endLine":26,"startColumn":24,"endColumn":24,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":"1n","startOffset":621,"endOffset":622,"startLine":26,"endLine":26,"startColumn":25,"endColumn":26,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"+","startOffset":624,"endOffset":624,"startLine":26,"endLine":26,"startColumn":28,"endColumn":28,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"!","startOffset":626,"endOffset":626,"startLine":26,"endLine":26,"startColumn":30,"endColumn":30,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":"1n","startOffset":627,"endOffset":628,"startLine":26,"endLine":26,"startColumn":31,"endColumn":32,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":629,"endOffset":629,"startLine":26,"endLine":26,"startColumn":33,"endColumn":33,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":631,"endOffset":633,"startLine":27,"endLine":27,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"cPrecedence","startOffset":635,"endOffset":645,"startLine":27,"endLine":27,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":646,"endOffset":646,"startLine":27,"endLine":27,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":648,"endOffset":650,"startLine":27,"endLine":27,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":652,"endOffset":652,"startLine":27,"endLine":27,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"!","startOffset":654,"endOffset":654,"startLine":27,"endLine":27,"startColumn":24,"endColumn":24,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":"1n","startOffset":655,"endOffset":656,"startLine":27,"endLine":27,"startColumn":25,"endColumn":26,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"!","startOffset":657,"endOffset":657,"startLine":27,"endLine":27,"startColumn":27,"endColumn":27,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":";","startOffset":658,"endOffset":658,"startLine":27,"endLine":27,"startColumn":28,"endColumn":28,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":660,"endOffset":662,"startLine":28,"endLine":28,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"dPrecedence","startOffset":664,"endOffset":674,"startLine":28,"endLine":28,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":675,"endOffset":675,"startLine":28,"endLine":28,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":677,"endOffset":679,"startLine":28,"endLine":28,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":681,"endOffset":681,"startLine":28,"endLine":28,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"!","startOffset":683,"endOffset":683,"startLine":28,"endLine":28,"startColumn":24,"endColumn":24,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":"1n","startOffset":684,"endOffset":685,"startLine":28,"endLine":28,"startColumn":25,"endColumn":26,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"!!","startOffset":686,"endOffset":687,"startLine":28,"endLine":28,"startColumn":27,"endColumn":28,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":";","startOffset":688,"endOffset":688,"startLine":28,"endLine":28,"startColumn":29,"endColumn":29,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":690,"endOffset":692,"startLine":29,"endLine":29,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"ePrecedence","startOffset":694,"endOffset":704,"startLine":29,"endLine":29,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":705,"endOffset":705,"startLine":29,"endLine":29,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":707,"endOffset":709,"startLine":29,"endLine":29,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":711,"endOffset":711,"startLine":29,"endLine":29,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"!!","startOffset":713,"endOffset":714,"startLine":29,"endLine":29,"startColumn":24,"endColumn":25,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":"1n","startOffset":715,"endOffset":716,"startLine":29,"endLine":29,"startColumn":26,"endColumn":27,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"!","startOffset":717,"endOffset":717,"startLine":29,"endLine":29,"startColumn":28,"endColumn":28,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":";","startOffset":718,"endOffset":718,"startLine":29,"endLine":29,"startColumn":29,"endColumn":29,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":720,"endOffset":722,"startLine":30,"endLine":30,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"fPrecedence","startOffset":724,"endOffset":734,"startLine":30,"endLine":30,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":735,"endOffset":735,"startLine":30,"endLine":30,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":737,"endOffset":739,"startLine":30,"endLine":30,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":741,"endOffset":741,"startLine":30,"endLine":30,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"+!","startOffset":743,"endOffset":744,"startLine":30,"endLine":30,"startColumn":24,"endColumn":25,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1n","startOffset":745,"endOffset":746,"startLine":30,"endLine":30,"startColumn":26,"endColumn":27,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":747,"endOffset":747,"startLine":30,"endLine":30,"startColumn":28,"endColumn":28,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":749,"endOffset":751,"startLine":31,"endLine":31,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"gPrecedence","startOffset":753,"endOffset":763,"startLine":31,"endLine":31,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":764,"endOffset":764,"startLine":31,"endLine":31,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":766,"endOffset":768,"startLine":31,"endLine":31,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":770,"endOffset":770,"startLine":31,"endLine":31,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":772,"endOffset":773,"startLine":31,"endLine":31,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"!+","startOffset":774,"endOffset":775,"startLine":31,"endLine":31,"startColumn":26,"endColumn":27,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":";","startOffset":776,"endOffset":776,"startLine":31,"endLine":31,"startColumn":28,"endColumn":28,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":778,"endOffset":780,"startLine":32,"endLine":32,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"hPrecedence","startOffset":782,"endOffset":792,"startLine":32,"endLine":32,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":793,"endOffset":793,"startLine":32,"endLine":32,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":795,"endOffset":797,"startLine":32,"endLine":32,"startColumn":18,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":799,"endOffset":799,"startLine":32,"endLine":32,"startColumn":22,"endColumn":22,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":801,"endOffset":802,"startLine":32,"endLine":32,"startColumn":24,"endColumn":25,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"+","startOffset":804,"endOffset":804,"startLine":32,"endLine":32,"startColumn":27,"endColumn":27,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1n","startOffset":806,"endOffset":807,"startLine":32,"endLine":32,"startColumn":29,"endColumn":30,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"**","startOffset":809,"endOffset":810,"startLine":32,"endLine":32,"startColumn":32,"endColumn":33,"tokenTypeIdx":57,"tokenType":"TknOperator180"},{"image":"1n","startOffset":812,"endOffset":813,"startLine":32,"endLine":32,"startColumn":35,"endColumn":36,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"+","startOffset":815,"endOffset":815,"startLine":32,"endLine":32,"startColumn":38,"endColumn":38,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1n","startOffset":817,"endOffset":818,"startLine":32,"endLine":32,"startColumn":40,"endColumn":41,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"*","startOffset":820,"endOffset":820,"startLine":32,"endLine":32,"startColumn":43,"endColumn":43,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"2n","startOffset":822,"endOffset":823,"startLine":32,"endLine":32,"startColumn":45,"endColumn":46,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"/","startOffset":825,"endOffset":825,"startLine":32,"endLine":32,"startColumn":48,"endColumn":48,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"3n","startOffset":827,"endOffset":828,"startLine":32,"endLine":32,"startColumn":50,"endColumn":51,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"%","startOffset":830,"endOffset":830,"startLine":32,"endLine":32,"startColumn":53,"endColumn":53,"tokenTypeIdx":58,"tokenType":"TknOperator170"},{"image":"4n","startOffset":832,"endOffset":833,"startLine":32,"endLine":32,"startColumn":55,"endColumn":56,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"-","startOffset":835,"endOffset":835,"startLine":32,"endLine":32,"startColumn":58,"endColumn":58,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"5n","startOffset":837,"endOffset":838,"startLine":32,"endLine":32,"startColumn":60,"endColumn":61,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"^","startOffset":840,"endOffset":840,"startLine":32,"endLine":32,"startColumn":63,"endColumn":63,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"6n","startOffset":842,"endOffset":843,"startLine":32,"endLine":32,"startColumn":65,"endColumn":66,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"==","startOffset":845,"endOffset":846,"startLine":32,"endLine":32,"startColumn":68,"endColumn":69,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"7n","startOffset":848,"endOffset":849,"startLine":32,"endLine":32,"startColumn":71,"endColumn":72,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"&&","startOffset":851,"endOffset":852,"startLine":32,"endLine":32,"startColumn":74,"endColumn":75,"tokenTypeIdx":61,"tokenType":"TknOperator140"},{"image":"8n","startOffset":854,"endOffset":855,"startLine":32,"endLine":32,"startColumn":77,"endColumn":78,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"<","startOffset":857,"endOffset":857,"startLine":32,"endLine":32,"startColumn":80,"endColumn":80,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"9n","startOffset":859,"endOffset":860,"startLine":32,"endLine":32,"startColumn":82,"endColumn":83,"tokenTypeIdx":35,"tokenType":"I32"},{"image":">","startOffset":862,"endOffset":862,"startLine":32,"endLine":32,"startColumn":85,"endColumn":85,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"10n","startOffset":864,"endOffset":866,"startLine":32,"endLine":32,"startColumn":87,"endColumn":89,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"?","startOffset":868,"endOffset":868,"startLine":32,"endLine":32,"startColumn":91,"endColumn":91,"tokenTypeIdx":64,"tokenType":"TknQuestionMark"},{"image":"12n","startOffset":870,"endOffset":872,"startLine":32,"endLine":32,"startColumn":93,"endColumn":95,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":873,"endOffset":873,"startLine":32,"endLine":32,"startColumn":96,"endColumn":96,"tokenTypeIdx":54,"tokenType":"Semicolon"}],"groups":{"Reserved":[]},"errors":[]} \ No newline at end of file diff --git a/__tests__/Data/Parser/Parser.ts b/__tests__/Data/Parser/Parser.ts index 8e7ac93..d5e9aea 100644 --- a/__tests__/Data/Parser/Parser.ts +++ b/__tests__/Data/Parser/Parser.ts @@ -1,5738 +1,6091 @@ -import { Lexer, ILexingResult } from 'chevrotain'; +import { ILexingResult, Lexer } from 'chevrotain'; const data: ILexingResult = { - tokens: [{ - image: '\r\n', - startOffset: 17, - endOffset: 18, - startLine: 1, - endLine: 1, - startColumn: 18, - endColumn: 19, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokens: [ + { + image: '\r\n', + startOffset: 17, + endOffset: 18, + startLine: 1, + endLine: 1, + startColumn: 18, + endColumn: 19, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'import', - startOffset: 19, - endOffset: 24, - startLine: 2, - endLine: 2, - startColumn: 1, - endColumn: 6, - tokenTypeIdx: 8, - tokenType: { - name: 'ImportToken', - PATTERN: /import/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'import', + startOffset: 19, + endOffset: 24, + startLine: 2, + endLine: 2, + startColumn: 1, + endColumn: 6, tokenTypeIdx: 8, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Import' - } - }, { - image: ' ', - startOffset: 25, - endOffset: 25, - startLine: 2, - endLine: 2, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ImportToken', + PATTERN: /import/, + tokenTypeIdx: 8, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Import', + }, + }, + { + image: ' ', + startOffset: 25, + endOffset: 25, + startLine: 2, + endLine: 2, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'test', - startOffset: 26, - endOffset: 29, - startLine: 2, - endLine: 2, - startColumn: 8, - endColumn: 11, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'test', + startOffset: 26, + endOffset: 29, + startLine: 2, + endLine: 2, + startColumn: 8, + endColumn: 11, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ' ', - startOffset: 30, - endOffset: 30, - startLine: 2, - endLine: 2, - startColumn: 12, - endColumn: 12, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ' ', + startOffset: 30, + endOffset: 30, + startLine: 2, + endLine: 2, + startColumn: 12, + endColumn: 12, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'from', - startOffset: 31, - endOffset: 34, - startLine: 2, - endLine: 2, - startColumn: 13, - endColumn: 16, - tokenTypeIdx: 10, - tokenType: { - name: 'FromToken', - PATTERN: /from/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'from', + startOffset: 31, + endOffset: 34, + startLine: 2, + endLine: 2, + startColumn: 13, + endColumn: 16, tokenTypeIdx: 10, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'From' - } - }, { - image: ' ', - startOffset: 35, - endOffset: 35, - startLine: 2, - endLine: 2, - startColumn: 17, - endColumn: 17, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'FromToken', + PATTERN: /from/, + tokenTypeIdx: 10, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'From', + }, + }, + { + image: ' ', + startOffset: 35, + endOffset: 35, + startLine: 2, + endLine: 2, + startColumn: 17, + endColumn: 17, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\'test\'', - startOffset: 36, - endOffset: 41, - startLine: 2, - endLine: 2, - startColumn: 18, - endColumn: 23, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: "'test'", + startOffset: 36, + endOffset: 41, + startLine: 2, + endLine: 2, + startColumn: 18, + endColumn: 23, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ';', - startOffset: 42, - endOffset: 42, - startLine: 2, - endLine: 2, - startColumn: 24, - endColumn: 24, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ';', + startOffset: 42, + endOffset: 42, + startLine: 2, + endLine: 2, + startColumn: 24, + endColumn: 24, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 43, - endOffset: 44, - startLine: 2, - endLine: 2, - startColumn: 25, - endColumn: 26, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 43, + endOffset: 44, + startLine: 2, + endLine: 2, + startColumn: 25, + endColumn: 26, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'import', - startOffset: 45, - endOffset: 50, - startLine: 3, - endLine: 3, - startColumn: 1, - endColumn: 6, - tokenTypeIdx: 8, - tokenType: { - name: 'ImportToken', - PATTERN: /import/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'import', + startOffset: 45, + endOffset: 50, + startLine: 3, + endLine: 3, + startColumn: 1, + endColumn: 6, tokenTypeIdx: 8, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Import' - } - }, { - image: ' ', - startOffset: 51, - endOffset: 51, - startLine: 3, - endLine: 3, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ImportToken', + PATTERN: /import/, + tokenTypeIdx: 8, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Import', + }, + }, + { + image: ' ', + startOffset: 51, + endOffset: 51, + startLine: 3, + endLine: 3, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'wasm', - startOffset: 52, - endOffset: 55, - startLine: 3, - endLine: 3, - startColumn: 8, - endColumn: 11, - tokenTypeIdx: 9, - tokenType: { - name: 'WasmToken', - PATTERN: /wasm/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'wasm', + startOffset: 52, + endOffset: 55, + startLine: 3, + endLine: 3, + startColumn: 8, + endColumn: 11, tokenTypeIdx: 9, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Wasm Import Identifier' - } - }, { - image: ' ', - startOffset: 56, - endOffset: 56, - startLine: 3, - endLine: 3, - startColumn: 12, - endColumn: 12, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'WasmToken', + PATTERN: /wasm/, + tokenTypeIdx: 9, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Wasm Import Identifier', + }, + }, + { + image: ' ', + startOffset: 56, + endOffset: 56, + startLine: 3, + endLine: 3, + startColumn: 12, + endColumn: 12, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'test', - startOffset: 57, - endOffset: 60, - startLine: 3, - endLine: 3, - startColumn: 13, - endColumn: 16, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'test', + startOffset: 57, + endOffset: 60, + startLine: 3, + endLine: 3, + startColumn: 13, + endColumn: 16, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ':', - startOffset: 61, - endOffset: 61, - startLine: 3, - endLine: 3, - startColumn: 17, - endColumn: 17, - tokenTypeIdx: 26, - tokenType: { - name: 'Colon', - PATTERN: /:/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ':', + startOffset: 61, + endOffset: 61, + startLine: 3, + endLine: 3, + startColumn: 17, + endColumn: 17, tokenTypeIdx: 26, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Colon' - } - }, { - image: ' ', - startOffset: 62, - endOffset: 62, - startLine: 3, - endLine: 3, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Colon', + PATTERN: /:/, + tokenTypeIdx: 26, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Colon', + }, + }, + { + image: ' ', + startOffset: 62, + endOffset: 62, + startLine: 3, + endLine: 3, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 63, - endOffset: 63, - startLine: 3, - endLine: 3, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 63, + endOffset: 63, + startLine: 3, + endLine: 3, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: 'i32', - startOffset: 64, - endOffset: 66, - startLine: 3, - endLine: 3, - startColumn: 20, - endColumn: 22, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: 'i32', + startOffset: 64, + endOffset: 66, + startLine: 3, + endLine: 3, + startColumn: 20, + endColumn: 22, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ',', - startOffset: 67, - endOffset: 67, - startLine: 3, - endLine: 3, - startColumn: 23, - endColumn: 23, - tokenTypeIdx: 24, - tokenType: { - name: 'Comma', - PATTERN: /,/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ',', + startOffset: 67, + endOffset: 67, + startLine: 3, + endLine: 3, + startColumn: 23, + endColumn: 23, tokenTypeIdx: 24, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Comma' - } - }, { - image: ' ', - startOffset: 68, - endOffset: 68, - startLine: 3, - endLine: 3, - startColumn: 24, - endColumn: 24, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Comma', + PATTERN: /,/, + tokenTypeIdx: 24, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Comma', + }, + }, + { + image: ' ', + startOffset: 68, + endOffset: 68, + startLine: 3, + endLine: 3, + startColumn: 24, + endColumn: 24, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'i32', - startOffset: 69, - endOffset: 71, - startLine: 3, - endLine: 3, - startColumn: 25, - endColumn: 27, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'i32', + startOffset: 69, + endOffset: 71, + startLine: 3, + endLine: 3, + startColumn: 25, + endColumn: 27, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ')', - startOffset: 72, - endOffset: 72, - startLine: 3, - endLine: 3, - startColumn: 28, - endColumn: 28, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ')', + startOffset: 72, + endOffset: 72, + startLine: 3, + endLine: 3, + startColumn: 28, + endColumn: 28, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 73, - endOffset: 73, - startLine: 3, - endLine: 3, - startColumn: 29, - endColumn: 29, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 73, + endOffset: 73, + startLine: 3, + endLine: 3, + startColumn: 29, + endColumn: 29, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '->', - startOffset: 74, - endOffset: 75, - startLine: 3, - endLine: 3, - startColumn: 30, - endColumn: 31, - tokenTypeIdx: 32, - tokenType: { - name: 'TknThinArrow', - PATTERN: /->/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '->', + startOffset: 74, + endOffset: 75, + startLine: 3, + endLine: 3, + startColumn: 30, + endColumn: 31, tokenTypeIdx: 32, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Signature Arrow' - } - }, { - image: ' ', - startOffset: 76, - endOffset: 76, - startLine: 3, - endLine: 3, - startColumn: 32, - endColumn: 32, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknThinArrow', + PATTERN: /->/, + tokenTypeIdx: 32, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Signature Arrow', + }, + }, + { + image: ' ', + startOffset: 76, + endOffset: 76, + startLine: 3, + endLine: 3, + startColumn: 32, + endColumn: 32, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'i32', - startOffset: 77, - endOffset: 79, - startLine: 3, - endLine: 3, - startColumn: 33, - endColumn: 35, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'i32', + startOffset: 77, + endOffset: 79, + startLine: 3, + endLine: 3, + startColumn: 33, + endColumn: 35, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ' ', - startOffset: 80, - endOffset: 80, - startLine: 3, - endLine: 3, - startColumn: 36, - endColumn: 36, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ' ', + startOffset: 80, + endOffset: 80, + startLine: 3, + endLine: 3, + startColumn: 36, + endColumn: 36, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'from', - startOffset: 81, - endOffset: 84, - startLine: 3, - endLine: 3, - startColumn: 37, - endColumn: 40, - tokenTypeIdx: 10, - tokenType: { - name: 'FromToken', - PATTERN: /from/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'from', + startOffset: 81, + endOffset: 84, + startLine: 3, + endLine: 3, + startColumn: 37, + endColumn: 40, tokenTypeIdx: 10, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'From' - } - }, { - image: ' ', - startOffset: 85, - endOffset: 85, - startLine: 3, - endLine: 3, - startColumn: 41, - endColumn: 41, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'FromToken', + PATTERN: /from/, + tokenTypeIdx: 10, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'From', + }, + }, + { + image: ' ', + startOffset: 85, + endOffset: 85, + startLine: 3, + endLine: 3, + startColumn: 41, + endColumn: 41, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\'test\'', - startOffset: 86, - endOffset: 91, - startLine: 3, - endLine: 3, - startColumn: 42, - endColumn: 47, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: "'test'", + startOffset: 86, + endOffset: 91, + startLine: 3, + endLine: 3, + startColumn: 42, + endColumn: 47, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ';', - startOffset: 92, - endOffset: 92, - startLine: 3, - endLine: 3, - startColumn: 48, - endColumn: 48, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ';', + startOffset: 92, + endOffset: 92, + startLine: 3, + endLine: 3, + startColumn: 48, + endColumn: 48, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 93, - endOffset: 94, - startLine: 3, - endLine: 3, - startColumn: 49, - endColumn: 50, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 93, + endOffset: 94, + startLine: 3, + endLine: 3, + startColumn: 49, + endColumn: 50, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'import', - startOffset: 95, - endOffset: 100, - startLine: 4, - endLine: 4, - startColumn: 1, - endColumn: 6, - tokenTypeIdx: 8, - tokenType: { - name: 'ImportToken', - PATTERN: /import/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'import', + startOffset: 95, + endOffset: 100, + startLine: 4, + endLine: 4, + startColumn: 1, + endColumn: 6, tokenTypeIdx: 8, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Import' - } - }, { - image: ' ', - startOffset: 101, - endOffset: 101, - startLine: 4, - endLine: 4, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ImportToken', + PATTERN: /import/, + tokenTypeIdx: 8, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Import', + }, + }, + { + image: ' ', + startOffset: 101, + endOffset: 101, + startLine: 4, + endLine: 4, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'wasm', - startOffset: 102, - endOffset: 105, - startLine: 4, - endLine: 4, - startColumn: 8, - endColumn: 11, - tokenTypeIdx: 9, - tokenType: { - name: 'WasmToken', - PATTERN: /wasm/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'wasm', + startOffset: 102, + endOffset: 105, + startLine: 4, + endLine: 4, + startColumn: 8, + endColumn: 11, tokenTypeIdx: 9, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Wasm Import Identifier' - } - }, { - image: ' ', - startOffset: 106, - endOffset: 106, - startLine: 4, - endLine: 4, - startColumn: 12, - endColumn: 12, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'WasmToken', + PATTERN: /wasm/, + tokenTypeIdx: 9, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Wasm Import Identifier', + }, + }, + { + image: ' ', + startOffset: 106, + endOffset: 106, + startLine: 4, + endLine: 4, + startColumn: 12, + endColumn: 12, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 't', - startOffset: 107, - endOffset: 107, - startLine: 4, - endLine: 4, - startColumn: 13, - endColumn: 13, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 't', + startOffset: 107, + endOffset: 107, + startLine: 4, + endLine: 4, + startColumn: 13, + endColumn: 13, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ':', - startOffset: 108, - endOffset: 108, - startLine: 4, - endLine: 4, - startColumn: 14, - endColumn: 14, - tokenTypeIdx: 26, - tokenType: { - name: 'Colon', - PATTERN: /:/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ':', + startOffset: 108, + endOffset: 108, + startLine: 4, + endLine: 4, + startColumn: 14, + endColumn: 14, tokenTypeIdx: 26, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Colon' - } - }, { - image: ' ', - startOffset: 109, - endOffset: 109, - startLine: 4, - endLine: 4, - startColumn: 15, - endColumn: 15, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Colon', + PATTERN: /:/, + tokenTypeIdx: 26, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Colon', + }, + }, + { + image: ' ', + startOffset: 109, + endOffset: 109, + startLine: 4, + endLine: 4, + startColumn: 15, + endColumn: 15, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'i32', - startOffset: 110, - endOffset: 112, - startLine: 4, - endLine: 4, - startColumn: 16, - endColumn: 18, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'i32', + startOffset: 110, + endOffset: 112, + startLine: 4, + endLine: 4, + startColumn: 16, + endColumn: 18, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ' ', - startOffset: 113, - endOffset: 113, - startLine: 4, - endLine: 4, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ' ', + startOffset: 113, + endOffset: 113, + startLine: 4, + endLine: 4, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'from', - startOffset: 114, - endOffset: 117, - startLine: 4, - endLine: 4, - startColumn: 20, - endColumn: 23, - tokenTypeIdx: 10, - tokenType: { - name: 'FromToken', - PATTERN: /from/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'from', + startOffset: 114, + endOffset: 117, + startLine: 4, + endLine: 4, + startColumn: 20, + endColumn: 23, tokenTypeIdx: 10, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'From' - } - }, { - image: ' ', - startOffset: 118, - endOffset: 118, - startLine: 4, - endLine: 4, - startColumn: 24, - endColumn: 24, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'FromToken', + PATTERN: /from/, + tokenTypeIdx: 10, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'From', + }, + }, + { + image: ' ', + startOffset: 118, + endOffset: 118, + startLine: 4, + endLine: 4, + startColumn: 24, + endColumn: 24, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\'test\'', - startOffset: 119, - endOffset: 124, - startLine: 4, - endLine: 4, - startColumn: 25, - endColumn: 30, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: "'test'", + startOffset: 119, + endOffset: 124, + startLine: 4, + endLine: 4, + startColumn: 25, + endColumn: 30, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ';', - startOffset: 125, - endOffset: 125, - startLine: 4, - endLine: 4, - startColumn: 31, - endColumn: 31, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ';', + startOffset: 125, + endOffset: 125, + startLine: 4, + endLine: 4, + startColumn: 31, + endColumn: 31, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 126, - endOffset: 127, - startLine: 4, - endLine: 4, - startColumn: 32, - endColumn: 33, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 126, + endOffset: 127, + startLine: 4, + endLine: 4, + startColumn: 32, + endColumn: 33, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\r\n', - startOffset: 164, - endOffset: 165, - startLine: 5, - endLine: 5, - startColumn: 37, - endColumn: 38, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '\r\n', + startOffset: 164, + endOffset: 165, + startLine: 5, + endLine: 5, + startColumn: 37, + endColumn: 38, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\r\n', - startOffset: 186, - endOffset: 187, - startLine: 6, - endLine: 6, - startColumn: 21, - endColumn: 22, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '\r\n', + startOffset: 186, + endOffset: 187, + startLine: 6, + endLine: 6, + startColumn: 21, + endColumn: 22, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\r\n', - startOffset: 211, - endOffset: 212, - startLine: 7, - endLine: 7, - startColumn: 24, - endColumn: 25, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '\r\n', + startOffset: 211, + endOffset: 212, + startLine: 7, + endLine: 7, + startColumn: 24, + endColumn: 25, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'if', - startOffset: 213, - endOffset: 214, - startLine: 8, - endLine: 8, - startColumn: 1, - endColumn: 2, - tokenTypeIdx: 14, - tokenType: { - name: 'IfToken', - PATTERN: /if/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'if', + startOffset: 213, + endOffset: 214, + startLine: 8, + endLine: 8, + startColumn: 1, + endColumn: 2, tokenTypeIdx: 14, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'If' - } - }, { - image: ' ', - startOffset: 215, - endOffset: 215, - startLine: 8, - endLine: 8, - startColumn: 3, - endColumn: 3, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'IfToken', + PATTERN: /if/, + tokenTypeIdx: 14, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'If', + }, + }, + { + image: ' ', + startOffset: 215, + endOffset: 215, + startLine: 8, + endLine: 8, + startColumn: 3, + endColumn: 3, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 216, - endOffset: 216, - startLine: 8, - endLine: 8, - startColumn: 4, - endColumn: 4, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 216, + endOffset: 216, + startLine: 8, + endLine: 8, + startColumn: 4, + endColumn: 4, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '1', - startOffset: 217, - endOffset: 217, - startLine: 8, - endLine: 8, - startColumn: 5, - endColumn: 5, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: '1', + startOffset: 217, + endOffset: 217, + startLine: 8, + endLine: 8, + startColumn: 5, + endColumn: 5, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ' ', - startOffset: 218, - endOffset: 218, - startLine: 8, - endLine: 8, - startColumn: 6, - endColumn: 6, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ' ', + startOffset: 218, + endOffset: 218, + startLine: 8, + endLine: 8, + startColumn: 6, + endColumn: 6, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '==', - startOffset: 219, - endOffset: 220, - startLine: 8, - endLine: 8, - startColumn: 7, - endColumn: 8, - tokenTypeIdx: 29, - tokenType: { - name: 'TknComparisonEqual', - PATTERN: /==/, - CATEGORIES: [{ - name: 'ComparisonOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 4, - CATEGORIES: [], - categoryMatches: [29, 30], - categoryMatchesMap: { - '29': true, - '30': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '==', + startOffset: 219, + endOffset: 220, + startLine: 8, + endLine: 8, + startColumn: 7, + endColumn: 8, tokenTypeIdx: 29, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Comparison Equal' - } - }, { - image: ' ', - startOffset: 221, - endOffset: 221, - startLine: 8, - endLine: 8, - startColumn: 9, - endColumn: 9, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknComparisonEqual', + PATTERN: /==/, + CATEGORIES: [ + { + name: 'ComparisonOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 4, + CATEGORIES: [], + categoryMatches: [29, 30], + categoryMatchesMap: { + '29': true, + '30': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 29, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Comparison Equal', + }, + }, + { + image: ' ', + startOffset: 221, + endOffset: 221, + startLine: 8, + endLine: 8, + startColumn: 9, + endColumn: 9, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '1', - startOffset: 222, - endOffset: 222, - startLine: 8, - endLine: 8, - startColumn: 10, - endColumn: 10, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '1', + startOffset: 222, + endOffset: 222, + startLine: 8, + endLine: 8, + startColumn: 10, + endColumn: 10, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ')', - startOffset: 223, - endOffset: 223, - startLine: 8, - endLine: 8, - startColumn: 11, - endColumn: 11, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ')', + startOffset: 223, + endOffset: 223, + startLine: 8, + endLine: 8, + startColumn: 11, + endColumn: 11, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 224, - endOffset: 224, - startLine: 8, - endLine: 8, - startColumn: 12, - endColumn: 12, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 224, + endOffset: 224, + startLine: 8, + endLine: 8, + startColumn: 12, + endColumn: 12, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '{', - startOffset: 225, - endOffset: 225, - startLine: 8, - endLine: 8, - startColumn: 13, - endColumn: 13, - tokenTypeIdx: 18, - tokenType: { - name: 'LeftBrace', - PATTERN: /\{/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '{', + startOffset: 225, + endOffset: 225, + startLine: 8, + endLine: 8, + startColumn: 13, + endColumn: 13, tokenTypeIdx: 18, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Brace' - } - }, { - image: '\r\n ', - startOffset: 226, - endOffset: 229, - startLine: 8, - endLine: 9, - startColumn: 14, - endColumn: 2, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'LeftBrace', + PATTERN: /\{/, + tokenTypeIdx: 18, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Brace', + }, + }, + { + image: '\r\n ', + startOffset: 226, + endOffset: 229, + startLine: 8, + endLine: 9, + startColumn: 14, + endColumn: 2, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 230, - endOffset: 234, - startLine: 9, - endLine: 9, - startColumn: 3, - endColumn: 7, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 230, + endOffset: 234, + startLine: 9, + endLine: 9, + startColumn: 3, + endColumn: 7, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 235, - endOffset: 235, - startLine: 9, - endLine: 9, - startColumn: 8, - endColumn: 8, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 235, + endOffset: 235, + startLine: 9, + endLine: 9, + startColumn: 8, + endColumn: 8, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'If Test\'', - startOffset: 236, - endOffset: 244, - startLine: 9, - endLine: 9, - startColumn: 9, - endColumn: 17, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'If Test'", + startOffset: 236, + endOffset: 244, + startLine: 9, + endLine: 9, + startColumn: 9, + endColumn: 17, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 245, - endOffset: 245, - startLine: 9, - endLine: 9, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 245, + endOffset: 245, + startLine: 9, + endLine: 9, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 246, - endOffset: 246, - startLine: 9, - endLine: 9, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 246, + endOffset: 246, + startLine: 9, + endLine: 9, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 247, - endOffset: 248, - startLine: 9, - endLine: 9, - startColumn: 20, - endColumn: 21, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 247, + endOffset: 248, + startLine: 9, + endLine: 9, + startColumn: 20, + endColumn: 21, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '}', - startOffset: 249, - endOffset: 249, - startLine: 10, - endLine: 10, - startColumn: 1, - endColumn: 1, - tokenTypeIdx: 19, - tokenType: { - name: 'RightBrace', - PATTERN: /\}/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '}', + startOffset: 249, + endOffset: 249, + startLine: 10, + endLine: 10, + startColumn: 1, + endColumn: 1, tokenTypeIdx: 19, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Brace' - } - }, { - image: ' ', - startOffset: 250, - endOffset: 250, - startLine: 10, - endLine: 10, - startColumn: 2, - endColumn: 2, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightBrace', + PATTERN: /\}/, + tokenTypeIdx: 19, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Brace', + }, + }, + { + image: ' ', + startOffset: 250, + endOffset: 250, + startLine: 10, + endLine: 10, + startColumn: 2, + endColumn: 2, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'else', - startOffset: 251, - endOffset: 254, - startLine: 10, - endLine: 10, - startColumn: 3, - endColumn: 6, - tokenTypeIdx: 15, - tokenType: { - name: 'ElseToken', - PATTERN: /else/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'else', + startOffset: 251, + endOffset: 254, + startLine: 10, + endLine: 10, + startColumn: 3, + endColumn: 6, tokenTypeIdx: 15, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Else' - } - }, { - image: ' ', - startOffset: 255, - endOffset: 255, - startLine: 10, - endLine: 10, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ElseToken', + PATTERN: /else/, + tokenTypeIdx: 15, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Else', + }, + }, + { + image: ' ', + startOffset: 255, + endOffset: 255, + startLine: 10, + endLine: 10, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'if', - startOffset: 256, - endOffset: 257, - startLine: 10, - endLine: 10, - startColumn: 8, - endColumn: 9, - tokenTypeIdx: 14, - tokenType: { - name: 'IfToken', - PATTERN: /if/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'if', + startOffset: 256, + endOffset: 257, + startLine: 10, + endLine: 10, + startColumn: 8, + endColumn: 9, tokenTypeIdx: 14, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'If' - } - }, { - image: ' ', - startOffset: 258, - endOffset: 258, - startLine: 10, - endLine: 10, - startColumn: 10, - endColumn: 10, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'IfToken', + PATTERN: /if/, + tokenTypeIdx: 14, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'If', + }, + }, + { + image: ' ', + startOffset: 258, + endOffset: 258, + startLine: 10, + endLine: 10, + startColumn: 10, + endColumn: 10, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 259, - endOffset: 259, - startLine: 10, - endLine: 10, - startColumn: 11, - endColumn: 11, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 259, + endOffset: 259, + startLine: 10, + endLine: 10, + startColumn: 11, + endColumn: 11, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'test\'', - startOffset: 260, - endOffset: 265, - startLine: 10, - endLine: 10, - startColumn: 12, - endColumn: 17, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'test'", + startOffset: 260, + endOffset: 265, + startLine: 10, + endLine: 10, + startColumn: 12, + endColumn: 17, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 266, - endOffset: 266, - startLine: 10, - endLine: 10, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 266, + endOffset: 266, + startLine: 10, + endLine: 10, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 267, - endOffset: 267, - startLine: 10, - endLine: 10, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 267, + endOffset: 267, + startLine: 10, + endLine: 10, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '{', - startOffset: 268, - endOffset: 268, - startLine: 10, - endLine: 10, - startColumn: 20, - endColumn: 20, - tokenTypeIdx: 18, - tokenType: { - name: 'LeftBrace', - PATTERN: /\{/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '{', + startOffset: 268, + endOffset: 268, + startLine: 10, + endLine: 10, + startColumn: 20, + endColumn: 20, tokenTypeIdx: 18, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Brace' - } - }, { - image: '\r\n ', - startOffset: 269, - endOffset: 272, - startLine: 10, - endLine: 11, - startColumn: 21, - endColumn: 2, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'LeftBrace', + PATTERN: /\{/, + tokenTypeIdx: 18, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Brace', + }, + }, + { + image: '\r\n ', + startOffset: 269, + endOffset: 272, + startLine: 10, + endLine: 11, + startColumn: 21, + endColumn: 2, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 273, - endOffset: 277, - startLine: 11, - endLine: 11, - startColumn: 3, - endColumn: 7, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 273, + endOffset: 277, + startLine: 11, + endLine: 11, + startColumn: 3, + endColumn: 7, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 278, - endOffset: 278, - startLine: 11, - endLine: 11, - startColumn: 8, - endColumn: 8, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 278, + endOffset: 278, + startLine: 11, + endLine: 11, + startColumn: 8, + endColumn: 8, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'Else If Test\'', - startOffset: 279, - endOffset: 292, - startLine: 11, - endLine: 11, - startColumn: 9, - endColumn: 22, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'Else If Test'", + startOffset: 279, + endOffset: 292, + startLine: 11, + endLine: 11, + startColumn: 9, + endColumn: 22, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 293, - endOffset: 293, - startLine: 11, - endLine: 11, - startColumn: 23, - endColumn: 23, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 293, + endOffset: 293, + startLine: 11, + endLine: 11, + startColumn: 23, + endColumn: 23, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 294, - endOffset: 294, - startLine: 11, - endLine: 11, - startColumn: 24, - endColumn: 24, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 294, + endOffset: 294, + startLine: 11, + endLine: 11, + startColumn: 24, + endColumn: 24, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 295, - endOffset: 296, - startLine: 11, - endLine: 11, - startColumn: 25, - endColumn: 26, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 295, + endOffset: 296, + startLine: 11, + endLine: 11, + startColumn: 25, + endColumn: 26, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '}', - startOffset: 297, - endOffset: 297, - startLine: 12, - endLine: 12, - startColumn: 1, - endColumn: 1, - tokenTypeIdx: 19, - tokenType: { - name: 'RightBrace', - PATTERN: /\}/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '}', + startOffset: 297, + endOffset: 297, + startLine: 12, + endLine: 12, + startColumn: 1, + endColumn: 1, tokenTypeIdx: 19, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Brace' - } - }, { - image: ' ', - startOffset: 298, - endOffset: 298, - startLine: 12, - endLine: 12, - startColumn: 2, - endColumn: 2, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightBrace', + PATTERN: /\}/, + tokenTypeIdx: 19, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Brace', + }, + }, + { + image: ' ', + startOffset: 298, + endOffset: 298, + startLine: 12, + endLine: 12, + startColumn: 2, + endColumn: 2, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'else', - startOffset: 299, - endOffset: 302, - startLine: 12, - endLine: 12, - startColumn: 3, - endColumn: 6, - tokenTypeIdx: 15, - tokenType: { - name: 'ElseToken', - PATTERN: /else/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'else', + startOffset: 299, + endOffset: 302, + startLine: 12, + endLine: 12, + startColumn: 3, + endColumn: 6, tokenTypeIdx: 15, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Else' - } - }, { - image: ' ', - startOffset: 303, - endOffset: 303, - startLine: 12, - endLine: 12, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ElseToken', + PATTERN: /else/, + tokenTypeIdx: 15, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Else', + }, + }, + { + image: ' ', + startOffset: 303, + endOffset: 303, + startLine: 12, + endLine: 12, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '{', - startOffset: 304, - endOffset: 304, - startLine: 12, - endLine: 12, - startColumn: 8, - endColumn: 8, - tokenTypeIdx: 18, - tokenType: { - name: 'LeftBrace', - PATTERN: /\{/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '{', + startOffset: 304, + endOffset: 304, + startLine: 12, + endLine: 12, + startColumn: 8, + endColumn: 8, tokenTypeIdx: 18, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Brace' - } - }, { - image: '\r\n ', - startOffset: 305, - endOffset: 308, - startLine: 12, - endLine: 13, - startColumn: 9, - endColumn: 2, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'LeftBrace', + PATTERN: /\{/, + tokenTypeIdx: 18, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Brace', + }, + }, + { + image: '\r\n ', + startOffset: 305, + endOffset: 308, + startLine: 12, + endLine: 13, + startColumn: 9, + endColumn: 2, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 309, - endOffset: 313, - startLine: 13, - endLine: 13, - startColumn: 3, - endColumn: 7, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 309, + endOffset: 313, + startLine: 13, + endLine: 13, + startColumn: 3, + endColumn: 7, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 314, - endOffset: 314, - startLine: 13, - endLine: 13, - startColumn: 8, - endColumn: 8, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 314, + endOffset: 314, + startLine: 13, + endLine: 13, + startColumn: 8, + endColumn: 8, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'Else Test\'', - startOffset: 315, - endOffset: 325, - startLine: 13, - endLine: 13, - startColumn: 9, - endColumn: 19, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'Else Test'", + startOffset: 315, + endOffset: 325, + startLine: 13, + endLine: 13, + startColumn: 9, + endColumn: 19, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 326, - endOffset: 326, - startLine: 13, - endLine: 13, - startColumn: 20, - endColumn: 20, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 326, + endOffset: 326, + startLine: 13, + endLine: 13, + startColumn: 20, + endColumn: 20, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 327, - endOffset: 327, - startLine: 13, - endLine: 13, - startColumn: 21, - endColumn: 21, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 327, + endOffset: 327, + startLine: 13, + endLine: 13, + startColumn: 21, + endColumn: 21, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 328, - endOffset: 329, - startLine: 13, - endLine: 13, - startColumn: 22, - endColumn: 23, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 328, + endOffset: 329, + startLine: 13, + endLine: 13, + startColumn: 22, + endColumn: 23, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '}', - startOffset: 330, - endOffset: 330, - startLine: 14, - endLine: 14, - startColumn: 1, - endColumn: 1, - tokenTypeIdx: 19, - tokenType: { - name: 'RightBrace', - PATTERN: /\}/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '}', + startOffset: 330, + endOffset: 330, + startLine: 14, + endLine: 14, + startColumn: 1, + endColumn: 1, tokenTypeIdx: 19, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Brace' - } - }, { - image: ';', - startOffset: 331, - endOffset: 331, - startLine: 14, - endLine: 14, - startColumn: 2, - endColumn: 2, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightBrace', + PATTERN: /\}/, + tokenTypeIdx: 19, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Brace', + }, + }, + { + image: ';', + startOffset: 331, + endOffset: 331, + startLine: 14, + endLine: 14, + startColumn: 2, + endColumn: 2, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 332, - endOffset: 333, - startLine: 14, - endLine: 14, - startColumn: 3, - endColumn: 4, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 332, + endOffset: 333, + startLine: 14, + endLine: 14, + startColumn: 3, + endColumn: 4, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'if', - startOffset: 334, - endOffset: 335, - startLine: 15, - endLine: 15, - startColumn: 1, - endColumn: 2, - tokenTypeIdx: 14, - tokenType: { - name: 'IfToken', - PATTERN: /if/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'if', + startOffset: 334, + endOffset: 335, + startLine: 15, + endLine: 15, + startColumn: 1, + endColumn: 2, tokenTypeIdx: 14, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'If' - } - }, { - image: ' ', - startOffset: 336, - endOffset: 336, - startLine: 15, - endLine: 15, - startColumn: 3, - endColumn: 3, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'IfToken', + PATTERN: /if/, + tokenTypeIdx: 14, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'If', + }, + }, + { + image: ' ', + startOffset: 336, + endOffset: 336, + startLine: 15, + endLine: 15, + startColumn: 3, + endColumn: 3, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 337, - endOffset: 337, - startLine: 15, - endLine: 15, - startColumn: 4, - endColumn: 4, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 337, + endOffset: 337, + startLine: 15, + endLine: 15, + startColumn: 4, + endColumn: 4, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '1', - startOffset: 338, - endOffset: 338, - startLine: 15, - endLine: 15, - startColumn: 5, - endColumn: 5, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: '1', + startOffset: 338, + endOffset: 338, + startLine: 15, + endLine: 15, + startColumn: 5, + endColumn: 5, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ' ', - startOffset: 339, - endOffset: 339, - startLine: 15, - endLine: 15, - startColumn: 6, - endColumn: 6, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ' ', + startOffset: 339, + endOffset: 339, + startLine: 15, + endLine: 15, + startColumn: 6, + endColumn: 6, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '==', - startOffset: 340, - endOffset: 341, - startLine: 15, - endLine: 15, - startColumn: 7, - endColumn: 8, - tokenTypeIdx: 29, - tokenType: { - name: 'TknComparisonEqual', - PATTERN: /==/, - CATEGORIES: [{ - name: 'ComparisonOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 4, - CATEGORIES: [], - categoryMatches: [29, 30], - categoryMatchesMap: { - '29': true, - '30': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '==', + startOffset: 340, + endOffset: 341, + startLine: 15, + endLine: 15, + startColumn: 7, + endColumn: 8, tokenTypeIdx: 29, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Comparison Equal' - } - }, { - image: ' ', - startOffset: 342, - endOffset: 342, - startLine: 15, - endLine: 15, - startColumn: 9, - endColumn: 9, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknComparisonEqual', + PATTERN: /==/, + CATEGORIES: [ + { + name: 'ComparisonOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 4, + CATEGORIES: [], + categoryMatches: [29, 30], + categoryMatchesMap: { + '29': true, + '30': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 29, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Comparison Equal', + }, + }, + { + image: ' ', + startOffset: 342, + endOffset: 342, + startLine: 15, + endLine: 15, + startColumn: 9, + endColumn: 9, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '1', - startOffset: 343, - endOffset: 343, - startLine: 15, - endLine: 15, - startColumn: 10, - endColumn: 10, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '1', + startOffset: 343, + endOffset: 343, + startLine: 15, + endLine: 15, + startColumn: 10, + endColumn: 10, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ')', - startOffset: 344, - endOffset: 344, - startLine: 15, - endLine: 15, - startColumn: 11, - endColumn: 11, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ')', + startOffset: 344, + endOffset: 344, + startLine: 15, + endLine: 15, + startColumn: 11, + endColumn: 11, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 345, - endOffset: 345, - startLine: 15, - endLine: 15, - startColumn: 12, - endColumn: 12, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 345, + endOffset: 345, + startLine: 15, + endLine: 15, + startColumn: 12, + endColumn: 12, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 346, - endOffset: 350, - startLine: 15, - endLine: 15, - startColumn: 13, - endColumn: 17, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 346, + endOffset: 350, + startLine: 15, + endLine: 15, + startColumn: 13, + endColumn: 17, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 351, - endOffset: 351, - startLine: 15, - endLine: 15, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 351, + endOffset: 351, + startLine: 15, + endLine: 15, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'test\'', - startOffset: 352, - endOffset: 357, - startLine: 15, - endLine: 15, - startColumn: 19, - endColumn: 24, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'test'", + startOffset: 352, + endOffset: 357, + startLine: 15, + endLine: 15, + startColumn: 19, + endColumn: 24, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 358, - endOffset: 358, - startLine: 15, - endLine: 15, - startColumn: 25, - endColumn: 25, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 358, + endOffset: 358, + startLine: 15, + endLine: 15, + startColumn: 25, + endColumn: 25, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 359, - endOffset: 359, - startLine: 15, - endLine: 15, - startColumn: 26, - endColumn: 26, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 359, + endOffset: 359, + startLine: 15, + endLine: 15, + startColumn: 26, + endColumn: 26, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 360, - endOffset: 361, - startLine: 15, - endLine: 15, - startColumn: 27, - endColumn: 28, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 360, + endOffset: 361, + startLine: 15, + endLine: 15, + startColumn: 27, + endColumn: 28, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'else', - startOffset: 362, - endOffset: 365, - startLine: 16, - endLine: 16, - startColumn: 1, - endColumn: 4, - tokenTypeIdx: 15, - tokenType: { - name: 'ElseToken', - PATTERN: /else/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'else', + startOffset: 362, + endOffset: 365, + startLine: 16, + endLine: 16, + startColumn: 1, + endColumn: 4, tokenTypeIdx: 15, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Else' - } - }, { - image: ' ', - startOffset: 366, - endOffset: 366, - startLine: 16, - endLine: 16, - startColumn: 5, - endColumn: 5, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ElseToken', + PATTERN: /else/, + tokenTypeIdx: 15, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Else', + }, + }, + { + image: ' ', + startOffset: 366, + endOffset: 366, + startLine: 16, + endLine: 16, + startColumn: 5, + endColumn: 5, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 367, - endOffset: 371, - startLine: 16, - endLine: 16, - startColumn: 6, - endColumn: 10, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 367, + endOffset: 371, + startLine: 16, + endLine: 16, + startColumn: 6, + endColumn: 10, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 372, - endOffset: 372, - startLine: 16, - endLine: 16, - startColumn: 11, - endColumn: 11, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 372, + endOffset: 372, + startLine: 16, + endLine: 16, + startColumn: 11, + endColumn: 11, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'test\'', - startOffset: 373, - endOffset: 378, - startLine: 16, - endLine: 16, - startColumn: 12, - endColumn: 17, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'test'", + startOffset: 373, + endOffset: 378, + startLine: 16, + endLine: 16, + startColumn: 12, + endColumn: 17, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 379, - endOffset: 379, - startLine: 16, - endLine: 16, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 379, + endOffset: 379, + startLine: 16, + endLine: 16, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 380, - endOffset: 380, - startLine: 16, - endLine: 16, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 380, + endOffset: 380, + startLine: 16, + endLine: 16, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n\r\n', - startOffset: 381, - endOffset: 384, - startLine: 16, - endLine: 17, - startColumn: 20, - endColumn: 1, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n\r\n', + startOffset: 381, + endOffset: 384, + startLine: 16, + endLine: 17, + startColumn: 20, + endColumn: 1, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'if', - startOffset: 385, - endOffset: 386, - startLine: 18, - endLine: 18, - startColumn: 1, - endColumn: 2, - tokenTypeIdx: 14, - tokenType: { - name: 'IfToken', - PATTERN: /if/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'if', + startOffset: 385, + endOffset: 386, + startLine: 18, + endLine: 18, + startColumn: 1, + endColumn: 2, tokenTypeIdx: 14, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'If' - } - }, { - image: ' ', - startOffset: 387, - endOffset: 387, - startLine: 18, - endLine: 18, - startColumn: 3, - endColumn: 3, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'IfToken', + PATTERN: /if/, + tokenTypeIdx: 14, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'If', + }, + }, + { + image: ' ', + startOffset: 387, + endOffset: 387, + startLine: 18, + endLine: 18, + startColumn: 3, + endColumn: 3, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 388, - endOffset: 388, - startLine: 18, - endLine: 18, - startColumn: 4, - endColumn: 4, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 388, + endOffset: 388, + startLine: 18, + endLine: 18, + startColumn: 4, + endColumn: 4, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: 'true', - startOffset: 389, - endOffset: 392, - startLine: 18, - endLine: 18, - startColumn: 5, - endColumn: 8, - tokenTypeIdx: 39, - tokenType: { - name: 'Constant', - PATTERN: /(?:true|false|void)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: 'true', + startOffset: 389, + endOffset: 392, + startLine: 18, + endLine: 18, + startColumn: 5, + endColumn: 8, tokenTypeIdx: 39, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Constant Literal' - } - }, { - image: ')', - startOffset: 393, - endOffset: 393, - startLine: 18, - endLine: 18, - startColumn: 9, - endColumn: 9, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'Constant', + PATTERN: /(?:true|false|void)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 39, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Constant Literal', + }, + }, + { + image: ')', + startOffset: 393, + endOffset: 393, + startLine: 18, + endLine: 18, + startColumn: 9, + endColumn: 9, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 394, - endOffset: 394, - startLine: 18, - endLine: 18, - startColumn: 10, - endColumn: 10, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 394, + endOffset: 394, + startLine: 18, + endLine: 18, + startColumn: 10, + endColumn: 10, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '{', - startOffset: 395, - endOffset: 395, - startLine: 18, - endLine: 18, - startColumn: 11, - endColumn: 11, - tokenTypeIdx: 18, - tokenType: { - name: 'LeftBrace', - PATTERN: /\{/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '{', + startOffset: 395, + endOffset: 395, + startLine: 18, + endLine: 18, + startColumn: 11, + endColumn: 11, tokenTypeIdx: 18, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Brace' - } - }, { - image: '\r\n ', - startOffset: 396, - endOffset: 399, - startLine: 18, - endLine: 19, - startColumn: 12, - endColumn: 2, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'LeftBrace', + PATTERN: /\{/, + tokenTypeIdx: 18, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Brace', + }, + }, + { + image: '\r\n ', + startOffset: 396, + endOffset: 399, + startLine: 18, + endLine: 19, + startColumn: 12, + endColumn: 2, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 400, - endOffset: 404, - startLine: 19, - endLine: 19, - startColumn: 3, - endColumn: 7, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 400, + endOffset: 404, + startLine: 19, + endLine: 19, + startColumn: 3, + endColumn: 7, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 405, - endOffset: 405, - startLine: 19, - endLine: 19, - startColumn: 8, - endColumn: 8, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 405, + endOffset: 405, + startLine: 19, + endLine: 19, + startColumn: 8, + endColumn: 8, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'true\'', - startOffset: 406, - endOffset: 411, - startLine: 19, - endLine: 19, - startColumn: 9, - endColumn: 14, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'true'", + startOffset: 406, + endOffset: 411, + startLine: 19, + endLine: 19, + startColumn: 9, + endColumn: 14, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 412, - endOffset: 412, - startLine: 19, - endLine: 19, - startColumn: 15, - endColumn: 15, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 412, + endOffset: 412, + startLine: 19, + endLine: 19, + startColumn: 15, + endColumn: 15, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 413, - endOffset: 413, - startLine: 19, - endLine: 19, - startColumn: 16, - endColumn: 16, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 413, + endOffset: 413, + startLine: 19, + endLine: 19, + startColumn: 16, + endColumn: 16, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 414, - endOffset: 415, - startLine: 19, - endLine: 19, - startColumn: 17, - endColumn: 18, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 414, + endOffset: 415, + startLine: 19, + endLine: 19, + startColumn: 17, + endColumn: 18, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '}', - startOffset: 416, - endOffset: 416, - startLine: 20, - endLine: 20, - startColumn: 1, - endColumn: 1, - tokenTypeIdx: 19, - tokenType: { - name: 'RightBrace', - PATTERN: /\}/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '}', + startOffset: 416, + endOffset: 416, + startLine: 20, + endLine: 20, + startColumn: 1, + endColumn: 1, tokenTypeIdx: 19, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Brace' - } - }, { - image: ';', - startOffset: 417, - endOffset: 417, - startLine: 20, - endLine: 20, - startColumn: 2, - endColumn: 2, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightBrace', + PATTERN: /\}/, + tokenTypeIdx: 19, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Brace', + }, + }, + { + image: ';', + startOffset: 417, + endOffset: 417, + startLine: 20, + endLine: 20, + startColumn: 2, + endColumn: 2, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n\r\n', - startOffset: 418, - endOffset: 421, - startLine: 20, - endLine: 21, - startColumn: 3, - endColumn: 1, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n\r\n', + startOffset: 418, + endOffset: 421, + startLine: 20, + endLine: 21, + startColumn: 3, + endColumn: 1, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'if', - startOffset: 422, - endOffset: 423, - startLine: 22, - endLine: 22, - startColumn: 1, - endColumn: 2, - tokenTypeIdx: 14, - tokenType: { - name: 'IfToken', - PATTERN: /if/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'if', + startOffset: 422, + endOffset: 423, + startLine: 22, + endLine: 22, + startColumn: 1, + endColumn: 2, tokenTypeIdx: 14, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'If' - } - }, { - image: ' ', - startOffset: 424, - endOffset: 424, - startLine: 22, - endLine: 22, - startColumn: 3, - endColumn: 3, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'IfToken', + PATTERN: /if/, + tokenTypeIdx: 14, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'If', + }, + }, + { + image: ' ', + startOffset: 424, + endOffset: 424, + startLine: 22, + endLine: 22, + startColumn: 3, + endColumn: 3, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 425, - endOffset: 425, - startLine: 22, - endLine: 22, - startColumn: 4, - endColumn: 4, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 425, + endOffset: 425, + startLine: 22, + endLine: 22, + startColumn: 4, + endColumn: 4, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: 'false', - startOffset: 426, - endOffset: 430, - startLine: 22, - endLine: 22, - startColumn: 5, - endColumn: 9, - tokenTypeIdx: 39, - tokenType: { - name: 'Constant', - PATTERN: /(?:true|false|void)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: 'false', + startOffset: 426, + endOffset: 430, + startLine: 22, + endLine: 22, + startColumn: 5, + endColumn: 9, tokenTypeIdx: 39, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Constant Literal' - } - }, { - image: ')', - startOffset: 431, - endOffset: 431, - startLine: 22, - endLine: 22, - startColumn: 10, - endColumn: 10, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'Constant', + PATTERN: /(?:true|false|void)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 39, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Constant Literal', + }, + }, + { + image: ')', + startOffset: 431, + endOffset: 431, + startLine: 22, + endLine: 22, + startColumn: 10, + endColumn: 10, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 432, - endOffset: 432, - startLine: 22, - endLine: 22, - startColumn: 11, - endColumn: 11, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 432, + endOffset: 432, + startLine: 22, + endLine: 22, + startColumn: 11, + endColumn: 11, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 433, - endOffset: 437, - startLine: 22, - endLine: 22, - startColumn: 12, - endColumn: 16, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 433, + endOffset: 437, + startLine: 22, + endLine: 22, + startColumn: 12, + endColumn: 16, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 438, - endOffset: 438, - startLine: 22, - endLine: 22, - startColumn: 17, - endColumn: 17, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 438, + endOffset: 438, + startLine: 22, + endLine: 22, + startColumn: 17, + endColumn: 17, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'test\'', - startOffset: 439, - endOffset: 444, - startLine: 22, - endLine: 22, - startColumn: 18, - endColumn: 23, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'test'", + startOffset: 439, + endOffset: 444, + startLine: 22, + endLine: 22, + startColumn: 18, + endColumn: 23, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 445, - endOffset: 445, - startLine: 22, - endLine: 22, - startColumn: 24, - endColumn: 24, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 445, + endOffset: 445, + startLine: 22, + endLine: 22, + startColumn: 24, + endColumn: 24, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 446, - endOffset: 446, - startLine: 22, - endLine: 22, - startColumn: 25, - endColumn: 25, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 446, + endOffset: 446, + startLine: 22, + endLine: 22, + startColumn: 25, + endColumn: 25, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n\r\n', - startOffset: 447, - endOffset: 450, - startLine: 22, - endLine: 23, - startColumn: 26, - endColumn: 1, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n\r\n', + startOffset: 447, + endOffset: 450, + startLine: 22, + endLine: 23, + startColumn: 26, + endColumn: 1, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\r\n', - startOffset: 473, - endOffset: 474, - startLine: 24, - endLine: 24, - startColumn: 23, - endColumn: 24, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '\r\n', + startOffset: 473, + endOffset: 474, + startLine: 24, + endLine: 24, + startColumn: 23, + endColumn: 24, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'print', - startOffset: 475, - endOffset: 479, - startLine: 25, - endLine: 25, - startColumn: 1, - endColumn: 5, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'print', + startOffset: 475, + endOffset: 479, + startLine: 25, + endLine: 25, + startColumn: 1, + endColumn: 5, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 480, - endOffset: 480, - startLine: 25, - endLine: 25, - startColumn: 6, - endColumn: 6, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 480, + endOffset: 480, + startLine: 25, + endLine: 25, + startColumn: 6, + endColumn: 6, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '\'test\'', - startOffset: 481, - endOffset: 486, - startLine: 25, - endLine: 25, - startColumn: 7, - endColumn: 12, - tokenTypeIdx: 37, - tokenType: { - name: 'String', - PATTERN: /'.*'/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: "'test'", + startOffset: 481, + endOffset: 486, + startLine: 25, + endLine: 25, + startColumn: 7, + endColumn: 12, tokenTypeIdx: 37, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'String Literal' - } - }, { - image: ')', - startOffset: 487, - endOffset: 487, - startLine: 25, - endLine: 25, - startColumn: 13, - endColumn: 13, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'String', + PATTERN: /'.*'/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 37, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'String Literal', + }, + }, + { + image: ')', + startOffset: 487, + endOffset: 487, + startLine: 25, + endLine: 25, + startColumn: 13, + endColumn: 13, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 488, - endOffset: 488, - startLine: 25, - endLine: 25, - startColumn: 14, - endColumn: 14, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 488, + endOffset: 488, + startLine: 25, + endLine: 25, + startColumn: 14, + endColumn: 14, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 489, - endOffset: 490, - startLine: 25, - endLine: 25, - startColumn: 15, - endColumn: 16, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 489, + endOffset: 490, + startLine: 25, + endLine: 25, + startColumn: 15, + endColumn: 16, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'f', - startOffset: 491, - endOffset: 491, - startLine: 26, - endLine: 26, - startColumn: 1, - endColumn: 1, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'f', + startOffset: 491, + endOffset: 491, + startLine: 26, + endLine: 26, + startColumn: 1, + endColumn: 1, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 492, - endOffset: 492, - startLine: 26, - endLine: 26, - startColumn: 2, - endColumn: 2, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 492, + endOffset: 492, + startLine: 26, + endLine: 26, + startColumn: 2, + endColumn: 2, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: ')', - startOffset: 493, - endOffset: 493, - startLine: 26, - endLine: 26, - startColumn: 3, - endColumn: 3, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: ')', + startOffset: 493, + endOffset: 493, + startLine: 26, + endLine: 26, + startColumn: 3, + endColumn: 3, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 494, - endOffset: 494, - startLine: 26, - endLine: 26, - startColumn: 4, - endColumn: 4, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 494, + endOffset: 494, + startLine: 26, + endLine: 26, + startColumn: 4, + endColumn: 4, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 495, - endOffset: 496, - startLine: 26, - endLine: 26, - startColumn: 5, - endColumn: 6, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 495, + endOffset: 496, + startLine: 26, + endLine: 26, + startColumn: 5, + endColumn: 6, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '@wasm', - startOffset: 497, - endOffset: 501, - startLine: 27, - endLine: 27, - startColumn: 1, - endColumn: 5, - tokenTypeIdx: 40, - tokenType: { - name: 'Wasm Instruction Call', - PATTERN: /@wasm/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '@wasm', + startOffset: 497, + endOffset: 501, + startLine: 27, + endLine: 27, + startColumn: 1, + endColumn: 5, tokenTypeIdx: 40, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Wasm Call' - } - }, { - image: '.', - startOffset: 502, - endOffset: 502, - startLine: 27, - endLine: 27, - startColumn: 6, - endColumn: 6, - tokenTypeIdx: 25, - tokenType: { - name: 'Period', - PATTERN: /\./, + tokenType: { + name: 'Wasm Instruction Call', + PATTERN: /@wasm/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 40, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Wasm Call', + }, + }, + { + image: '.', + startOffset: 502, + endOffset: 502, + startLine: 27, + endLine: 27, + startColumn: 6, + endColumn: 6, tokenTypeIdx: 25, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Period' - } - }, { - image: 'i32', - startOffset: 503, - endOffset: 505, - startLine: 27, - endLine: 27, - startColumn: 7, - endColumn: 9, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Period', + PATTERN: /\./, + tokenTypeIdx: 25, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Period', + }, + }, + { + image: 'i32', + startOffset: 503, + endOffset: 505, + startLine: 27, + endLine: 27, + startColumn: 7, + endColumn: 9, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '.', - startOffset: 506, - endOffset: 506, - startLine: 27, - endLine: 27, - startColumn: 10, - endColumn: 10, - tokenTypeIdx: 25, - tokenType: { - name: 'Period', - PATTERN: /\./, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '.', + startOffset: 506, + endOffset: 506, + startLine: 27, + endLine: 27, + startColumn: 10, + endColumn: 10, tokenTypeIdx: 25, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Period' - } - }, { - image: 'add', - startOffset: 507, - endOffset: 509, - startLine: 27, - endLine: 27, - startColumn: 11, - endColumn: 13, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Period', + PATTERN: /\./, + tokenTypeIdx: 25, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Period', + }, + }, + { + image: 'add', + startOffset: 507, + endOffset: 509, + startLine: 27, + endLine: 27, + startColumn: 11, + endColumn: 13, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 510, - endOffset: 510, - startLine: 27, - endLine: 27, - startColumn: 14, - endColumn: 14, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 510, + endOffset: 510, + startLine: 27, + endLine: 27, + startColumn: 14, + endColumn: 14, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '1', - startOffset: 511, - endOffset: 511, - startLine: 27, - endLine: 27, - startColumn: 15, - endColumn: 15, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: '1', + startOffset: 511, + endOffset: 511, + startLine: 27, + endLine: 27, + startColumn: 15, + endColumn: 15, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ',', - startOffset: 512, - endOffset: 512, - startLine: 27, - endLine: 27, - startColumn: 16, - endColumn: 16, - tokenTypeIdx: 24, - tokenType: { - name: 'Comma', - PATTERN: /,/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ',', + startOffset: 512, + endOffset: 512, + startLine: 27, + endLine: 27, + startColumn: 16, + endColumn: 16, tokenTypeIdx: 24, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Comma' - } - }, { - image: ' ', - startOffset: 513, - endOffset: 513, - startLine: 27, - endLine: 27, - startColumn: 17, - endColumn: 17, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Comma', + PATTERN: /,/, + tokenTypeIdx: 24, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Comma', + }, + }, + { + image: ' ', + startOffset: 513, + endOffset: 513, + startLine: 27, + endLine: 27, + startColumn: 17, + endColumn: 17, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '1', - startOffset: 514, - endOffset: 514, - startLine: 27, - endLine: 27, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '1', + startOffset: 514, + endOffset: 514, + startLine: 27, + endLine: 27, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ')', - startOffset: 515, - endOffset: 515, - startLine: 27, - endLine: 27, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ')', + startOffset: 515, + endOffset: 515, + startLine: 27, + endLine: 27, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 516, - endOffset: 516, - startLine: 27, - endLine: 27, - startColumn: 20, - endColumn: 20, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 516, + endOffset: 516, + startLine: 27, + endLine: 27, + startColumn: 20, + endColumn: 20, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 517, - endOffset: 518, - startLine: 27, - endLine: 27, - startColumn: 21, - endColumn: 22, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 517, + endOffset: 518, + startLine: 27, + endLine: 27, + startColumn: 21, + endColumn: 22, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\r\n', - startOffset: 548, - endOffset: 549, - startLine: 28, - endLine: 28, - startColumn: 30, - endColumn: 31, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '\r\n', + startOffset: 548, + endOffset: 549, + startLine: 28, + endLine: 28, + startColumn: 30, + endColumn: 31, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'let', - startOffset: 550, - endOffset: 552, - startLine: 29, - endLine: 29, - startColumn: 1, - endColumn: 3, - tokenTypeIdx: 13, - tokenType: { - name: 'LetToken', - PATTERN: /let/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'let', + startOffset: 550, + endOffset: 552, + startLine: 29, + endLine: 29, + startColumn: 1, + endColumn: 3, tokenTypeIdx: 13, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Let' - } - }, { - image: ' ', - startOffset: 553, - endOffset: 553, - startLine: 29, - endLine: 29, - startColumn: 4, - endColumn: 4, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'LetToken', + PATTERN: /let/, + tokenTypeIdx: 13, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Let', + }, + }, + { + image: ' ', + startOffset: 553, + endOffset: 553, + startLine: 29, + endLine: 29, + startColumn: 4, + endColumn: 4, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'a', - startOffset: 554, - endOffset: 554, - startLine: 29, - endLine: 29, - startColumn: 5, - endColumn: 5, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'a', + startOffset: 554, + endOffset: 554, + startLine: 29, + endLine: 29, + startColumn: 5, + endColumn: 5, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ':', - startOffset: 555, - endOffset: 555, - startLine: 29, - endLine: 29, - startColumn: 6, - endColumn: 6, - tokenTypeIdx: 26, - tokenType: { - name: 'Colon', - PATTERN: /:/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ':', + startOffset: 555, + endOffset: 555, + startLine: 29, + endLine: 29, + startColumn: 6, + endColumn: 6, tokenTypeIdx: 26, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Colon' - } - }, { - image: ' ', - startOffset: 556, - endOffset: 556, - startLine: 29, - endLine: 29, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Colon', + PATTERN: /:/, + tokenTypeIdx: 26, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Colon', + }, + }, + { + image: ' ', + startOffset: 556, + endOffset: 556, + startLine: 29, + endLine: 29, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'Number', - startOffset: 557, - endOffset: 562, - startLine: 29, - endLine: 29, - startColumn: 8, - endColumn: 13, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'Number', + startOffset: 557, + endOffset: 562, + startLine: 29, + endLine: 29, + startColumn: 8, + endColumn: 13, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ' ', - startOffset: 563, - endOffset: 563, - startLine: 29, - endLine: 29, - startColumn: 14, - endColumn: 14, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ' ', + startOffset: 563, + endOffset: 563, + startLine: 29, + endLine: 29, + startColumn: 14, + endColumn: 14, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '=', - startOffset: 564, - endOffset: 564, - startLine: 29, - endLine: 29, - startColumn: 15, - endColumn: 15, - tokenTypeIdx: 34, - tokenType: { - name: 'TknEqual', - PATTERN: /=/, - CATEGORIES: [{ - name: 'AssignmentOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 5, - CATEGORIES: [], - categoryMatches: [34], - categoryMatchesMap: { - '34': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '=', + startOffset: 564, + endOffset: 564, + startLine: 29, + endLine: 29, + startColumn: 15, + endColumn: 15, tokenTypeIdx: 34, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Equal' - } - }, { - image: ' ', - startOffset: 565, - endOffset: 565, - startLine: 29, - endLine: 29, - startColumn: 16, - endColumn: 16, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknEqual', + PATTERN: /=/, + CATEGORIES: [ + { + name: 'AssignmentOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 5, + CATEGORIES: [], + categoryMatches: [34], + categoryMatchesMap: { + '34': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 34, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Equal', + }, + }, + { + image: ' ', + startOffset: 565, + endOffset: 565, + startLine: 29, + endLine: 29, + startColumn: 16, + endColumn: 16, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '!', - startOffset: 566, - endOffset: 566, - startLine: 29, - endLine: 29, - startColumn: 17, - endColumn: 17, - tokenTypeIdx: 33, - tokenType: { - name: 'TknNot', - PATTERN: /!/, - CATEGORIES: [{ - name: 'LogicalOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 7, - CATEGORIES: [], - categoryMatches: [33], - categoryMatchesMap: { - '33': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '!', + startOffset: 566, + endOffset: 566, + startLine: 29, + endLine: 29, + startColumn: 17, + endColumn: 17, tokenTypeIdx: 33, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Not' - } - }, { - image: '1', - startOffset: 567, - endOffset: 567, - startLine: 29, - endLine: 29, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'TknNot', + PATTERN: /!/, + CATEGORIES: [ + { + name: 'LogicalOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 7, + CATEGORIES: [], + categoryMatches: [33], + categoryMatchesMap: { + '33': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 33, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Not', + }, + }, + { + image: '1', + startOffset: 567, + endOffset: 567, + startLine: 29, + endLine: 29, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ' ', - startOffset: 568, - endOffset: 568, - startLine: 29, - endLine: 29, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ' ', + startOffset: 568, + endOffset: 568, + startLine: 29, + endLine: 29, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '+', - startOffset: 569, - endOffset: 569, - startLine: 29, - endLine: 29, - startColumn: 20, - endColumn: 20, - tokenTypeIdx: 35, - tokenType: { - name: 'TknAdd', - PATTERN: /\+/, - CATEGORIES: [{ - name: 'ArithmeticOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 6, - CATEGORIES: [], - categoryMatches: [35, 36], - categoryMatchesMap: { - '35': true, - '36': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '+', + startOffset: 569, + endOffset: 569, + startLine: 29, + endLine: 29, + startColumn: 20, + endColumn: 20, tokenTypeIdx: 35, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Add' - } - }, { - image: ' ', - startOffset: 570, - endOffset: 570, - startLine: 29, - endLine: 29, - startColumn: 21, - endColumn: 21, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknAdd', + PATTERN: /\+/, + CATEGORIES: [ + { + name: 'ArithmeticOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 6, + CATEGORIES: [], + categoryMatches: [35, 36], + categoryMatchesMap: { + '35': true, + '36': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 35, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Add', + }, + }, + { + image: ' ', + startOffset: 570, + endOffset: 570, + startLine: 29, + endLine: 29, + startColumn: 21, + endColumn: 21, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 571, - endOffset: 571, - startLine: 29, - endLine: 29, - startColumn: 22, - endColumn: 22, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 571, + endOffset: 571, + startLine: 29, + endLine: 29, + startColumn: 22, + endColumn: 22, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '1', - startOffset: 572, - endOffset: 572, - startLine: 29, - endLine: 29, - startColumn: 23, - endColumn: 23, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: '1', + startOffset: 572, + endOffset: 572, + startLine: 29, + endLine: 29, + startColumn: 23, + endColumn: 23, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ' ', - startOffset: 573, - endOffset: 573, - startLine: 29, - endLine: 29, - startColumn: 24, - endColumn: 24, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ' ', + startOffset: 573, + endOffset: 573, + startLine: 29, + endLine: 29, + startColumn: 24, + endColumn: 24, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '+', - startOffset: 574, - endOffset: 574, - startLine: 29, - endLine: 29, - startColumn: 25, - endColumn: 25, - tokenTypeIdx: 35, - tokenType: { - name: 'TknAdd', - PATTERN: /\+/, - CATEGORIES: [{ - name: 'ArithmeticOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 6, - CATEGORIES: [], - categoryMatches: [35, 36], - categoryMatchesMap: { - '35': true, - '36': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '+', + startOffset: 574, + endOffset: 574, + startLine: 29, + endLine: 29, + startColumn: 25, + endColumn: 25, tokenTypeIdx: 35, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Add' - } - }, { - image: ' ', - startOffset: 575, - endOffset: 575, - startLine: 29, - endLine: 29, - startColumn: 26, - endColumn: 26, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknAdd', + PATTERN: /\+/, + CATEGORIES: [ + { + name: 'ArithmeticOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 6, + CATEGORIES: [], + categoryMatches: [35, 36], + categoryMatchesMap: { + '35': true, + '36': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 35, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Add', + }, + }, + { + image: ' ', + startOffset: 575, + endOffset: 575, + startLine: 29, + endLine: 29, + startColumn: 26, + endColumn: 26, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '1', - startOffset: 576, - endOffset: 576, - startLine: 29, - endLine: 29, - startColumn: 27, - endColumn: 27, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '1', + startOffset: 576, + endOffset: 576, + startLine: 29, + endLine: 29, + startColumn: 27, + endColumn: 27, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ')', - startOffset: 577, - endOffset: 577, - startLine: 29, - endLine: 29, - startColumn: 28, - endColumn: 28, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ')', + startOffset: 577, + endOffset: 577, + startLine: 29, + endLine: 29, + startColumn: 28, + endColumn: 28, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 578, - endOffset: 578, - startLine: 29, - endLine: 29, - startColumn: 29, - endColumn: 29, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 578, + endOffset: 578, + startLine: 29, + endLine: 29, + startColumn: 29, + endColumn: 29, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '+', - startOffset: 579, - endOffset: 579, - startLine: 29, - endLine: 29, - startColumn: 30, - endColumn: 30, - tokenTypeIdx: 35, - tokenType: { - name: 'TknAdd', - PATTERN: /\+/, - CATEGORIES: [{ - name: 'ArithmeticOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 6, - CATEGORIES: [], - categoryMatches: [35, 36], - categoryMatchesMap: { - '35': true, - '36': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '+', + startOffset: 579, + endOffset: 579, + startLine: 29, + endLine: 29, + startColumn: 30, + endColumn: 30, tokenTypeIdx: 35, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Add' - } - }, { - image: ' ', - startOffset: 580, - endOffset: 580, - startLine: 29, - endLine: 29, - startColumn: 31, - endColumn: 31, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknAdd', + PATTERN: /\+/, + CATEGORIES: [ + { + name: 'ArithmeticOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 6, + CATEGORIES: [], + categoryMatches: [35, 36], + categoryMatchesMap: { + '35': true, + '36': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 35, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Add', + }, + }, + { + image: ' ', + startOffset: 580, + endOffset: 580, + startLine: 29, + endLine: 29, + startColumn: 31, + endColumn: 31, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '1', - startOffset: 581, - endOffset: 581, - startLine: 29, - endLine: 29, - startColumn: 32, - endColumn: 32, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '1', + startOffset: 581, + endOffset: 581, + startLine: 29, + endLine: 29, + startColumn: 32, + endColumn: 32, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ' ', - startOffset: 582, - endOffset: 582, - startLine: 29, - endLine: 29, - startColumn: 33, - endColumn: 33, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ' ', + startOffset: 582, + endOffset: 582, + startLine: 29, + endLine: 29, + startColumn: 33, + endColumn: 33, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '+', - startOffset: 583, - endOffset: 583, - startLine: 29, - endLine: 29, - startColumn: 34, - endColumn: 34, - tokenTypeIdx: 35, - tokenType: { - name: 'TknAdd', - PATTERN: /\+/, - CATEGORIES: [{ - name: 'ArithmeticOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 6, - CATEGORIES: [], - categoryMatches: [35, 36], - categoryMatchesMap: { - '35': true, - '36': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '+', + startOffset: 583, + endOffset: 583, + startLine: 29, + endLine: 29, + startColumn: 34, + endColumn: 34, tokenTypeIdx: 35, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Add' - } - }, { - image: ' ', - startOffset: 584, - endOffset: 584, - startLine: 29, - endLine: 29, - startColumn: 35, - endColumn: 35, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknAdd', + PATTERN: /\+/, + CATEGORIES: [ + { + name: 'ArithmeticOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 6, + CATEGORIES: [], + categoryMatches: [35, 36], + categoryMatchesMap: { + '35': true, + '36': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 35, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Add', + }, + }, + { + image: ' ', + startOffset: 584, + endOffset: 584, + startLine: 29, + endLine: 29, + startColumn: 35, + endColumn: 35, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 585, - endOffset: 585, - startLine: 29, - endLine: 29, - startColumn: 36, - endColumn: 36, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 585, + endOffset: 585, + startLine: 29, + endLine: 29, + startColumn: 36, + endColumn: 36, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: '1', - startOffset: 586, - endOffset: 586, - startLine: 29, - endLine: 29, - startColumn: 37, - endColumn: 37, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: '1', + startOffset: 586, + endOffset: 586, + startLine: 29, + endLine: 29, + startColumn: 37, + endColumn: 37, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ' ', - startOffset: 587, - endOffset: 587, - startLine: 29, - endLine: 29, - startColumn: 38, - endColumn: 38, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ' ', + startOffset: 587, + endOffset: 587, + startLine: 29, + endLine: 29, + startColumn: 38, + endColumn: 38, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '==', - startOffset: 588, - endOffset: 589, - startLine: 29, - endLine: 29, - startColumn: 39, - endColumn: 40, - tokenTypeIdx: 29, - tokenType: { - name: 'TknComparisonEqual', - PATTERN: /==/, - CATEGORIES: [{ - name: 'ComparisonOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 4, - CATEGORIES: [], - categoryMatches: [29, 30], - categoryMatchesMap: { - '29': true, - '30': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '==', + startOffset: 588, + endOffset: 589, + startLine: 29, + endLine: 29, + startColumn: 39, + endColumn: 40, tokenTypeIdx: 29, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Comparison Equal' - } - }, { - image: ' ', - startOffset: 590, - endOffset: 590, - startLine: 29, - endLine: 29, - startColumn: 41, - endColumn: 41, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknComparisonEqual', + PATTERN: /==/, + CATEGORIES: [ + { + name: 'ComparisonOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 4, + CATEGORIES: [], + categoryMatches: [29, 30], + categoryMatchesMap: { + '29': true, + '30': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 29, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Comparison Equal', + }, + }, + { + image: ' ', + startOffset: 590, + endOffset: 590, + startLine: 29, + endLine: 29, + startColumn: 41, + endColumn: 41, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '1', - startOffset: 591, - endOffset: 591, - startLine: 29, - endLine: 29, - startColumn: 42, - endColumn: 42, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '1', + startOffset: 591, + endOffset: 591, + startLine: 29, + endLine: 29, + startColumn: 42, + endColumn: 42, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ')', - startOffset: 592, - endOffset: 592, - startLine: 29, - endLine: 29, - startColumn: 43, - endColumn: 43, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ')', + startOffset: 592, + endOffset: 592, + startLine: 29, + endLine: 29, + startColumn: 43, + endColumn: 43, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ' ', - startOffset: 593, - endOffset: 593, - startLine: 29, - endLine: 29, - startColumn: 44, - endColumn: 44, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ' ', + startOffset: 593, + endOffset: 593, + startLine: 29, + endLine: 29, + startColumn: 44, + endColumn: 44, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '+', - startOffset: 594, - endOffset: 594, - startLine: 29, - endLine: 29, - startColumn: 45, - endColumn: 45, - tokenTypeIdx: 35, - tokenType: { - name: 'TknAdd', - PATTERN: /\+/, - CATEGORIES: [{ - name: 'ArithmeticOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 6, - CATEGORIES: [], - categoryMatches: [35, 36], - categoryMatchesMap: { - '35': true, - '36': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '+', + startOffset: 594, + endOffset: 594, + startLine: 29, + endLine: 29, + startColumn: 45, + endColumn: 45, tokenTypeIdx: 35, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Add' - } - }, { - image: ' ', - startOffset: 595, - endOffset: 595, - startLine: 29, - endLine: 29, - startColumn: 46, - endColumn: 46, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknAdd', + PATTERN: /\+/, + CATEGORIES: [ + { + name: 'ArithmeticOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 6, + CATEGORIES: [], + categoryMatches: [35, 36], + categoryMatchesMap: { + '35': true, + '36': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 35, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Add', + }, + }, + { + image: ' ', + startOffset: 595, + endOffset: 595, + startLine: 29, + endLine: 29, + startColumn: 46, + endColumn: 46, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'true', - startOffset: 596, - endOffset: 599, - startLine: 29, - endLine: 29, - startColumn: 47, - endColumn: 50, - tokenTypeIdx: 39, - tokenType: { - name: 'Constant', - PATTERN: /(?:true|false|void)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'true', + startOffset: 596, + endOffset: 599, + startLine: 29, + endLine: 29, + startColumn: 47, + endColumn: 50, tokenTypeIdx: 39, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Constant Literal' - } - }, { - image: ';', - startOffset: 600, - endOffset: 600, - startLine: 29, - endLine: 29, - startColumn: 51, - endColumn: 51, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'Constant', + PATTERN: /(?:true|false|void)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 39, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Constant Literal', + }, + }, + { + image: ';', + startOffset: 600, + endOffset: 600, + startLine: 29, + endLine: 29, + startColumn: 51, + endColumn: 51, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 601, - endOffset: 602, - startLine: 29, - endLine: 29, - startColumn: 52, - endColumn: 53, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 601, + endOffset: 602, + startLine: 29, + endLine: 29, + startColumn: 52, + endColumn: 53, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'let', - startOffset: 603, - endOffset: 605, - startLine: 30, - endLine: 30, - startColumn: 1, - endColumn: 3, - tokenTypeIdx: 13, - tokenType: { - name: 'LetToken', - PATTERN: /let/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'let', + startOffset: 603, + endOffset: 605, + startLine: 30, + endLine: 30, + startColumn: 1, + endColumn: 3, tokenTypeIdx: 13, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Let' - } - }, { - image: ' ', - startOffset: 606, - endOffset: 606, - startLine: 30, - endLine: 30, - startColumn: 4, - endColumn: 4, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'LetToken', + PATTERN: /let/, + tokenTypeIdx: 13, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Let', + }, + }, + { + image: ' ', + startOffset: 606, + endOffset: 606, + startLine: 30, + endLine: 30, + startColumn: 4, + endColumn: 4, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'f', - startOffset: 607, - endOffset: 607, - startLine: 30, - endLine: 30, - startColumn: 5, - endColumn: 5, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'f', + startOffset: 607, + endOffset: 607, + startLine: 30, + endLine: 30, + startColumn: 5, + endColumn: 5, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ':', - startOffset: 608, - endOffset: 608, - startLine: 30, - endLine: 30, - startColumn: 6, - endColumn: 6, - tokenTypeIdx: 26, - tokenType: { - name: 'Colon', - PATTERN: /:/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ':', + startOffset: 608, + endOffset: 608, + startLine: 30, + endLine: 30, + startColumn: 6, + endColumn: 6, tokenTypeIdx: 26, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Colon' - } - }, { - image: ' ', - startOffset: 609, - endOffset: 609, - startLine: 30, - endLine: 30, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Colon', + PATTERN: /:/, + tokenTypeIdx: 26, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Colon', + }, + }, + { + image: ' ', + startOffset: 609, + endOffset: 609, + startLine: 30, + endLine: 30, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'Function', - startOffset: 610, - endOffset: 617, - startLine: 30, - endLine: 30, - startColumn: 8, - endColumn: 15, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'Function', + startOffset: 610, + endOffset: 617, + startLine: 30, + endLine: 30, + startColumn: 8, + endColumn: 15, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ' ', - startOffset: 618, - endOffset: 618, - startLine: 30, - endLine: 30, - startColumn: 16, - endColumn: 16, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ' ', + startOffset: 618, + endOffset: 618, + startLine: 30, + endLine: 30, + startColumn: 16, + endColumn: 16, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '=', - startOffset: 619, - endOffset: 619, - startLine: 30, - endLine: 30, - startColumn: 17, - endColumn: 17, - tokenTypeIdx: 34, - tokenType: { - name: 'TknEqual', - PATTERN: /=/, - CATEGORIES: [{ - name: 'AssignmentOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 5, - CATEGORIES: [], - categoryMatches: [34], - categoryMatchesMap: { - '34': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '=', + startOffset: 619, + endOffset: 619, + startLine: 30, + endLine: 30, + startColumn: 17, + endColumn: 17, tokenTypeIdx: 34, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Equal' - } - }, { - image: ' ', - startOffset: 620, - endOffset: 620, - startLine: 30, - endLine: 30, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknEqual', + PATTERN: /=/, + CATEGORIES: [ + { + name: 'AssignmentOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 5, + CATEGORIES: [], + categoryMatches: [34], + categoryMatchesMap: { + '34': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 34, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Equal', + }, + }, + { + image: ' ', + startOffset: 620, + endOffset: 620, + startLine: 30, + endLine: 30, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '(', - startOffset: 621, - endOffset: 621, - startLine: 30, - endLine: 30, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '(', + startOffset: 621, + endOffset: 621, + startLine: 30, + endLine: 30, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: 'test', - startOffset: 622, - endOffset: 625, - startLine: 30, - endLine: 30, - startColumn: 20, - endColumn: 23, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: 'test', + startOffset: 622, + endOffset: 625, + startLine: 30, + endLine: 30, + startColumn: 20, + endColumn: 23, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ':', - startOffset: 626, - endOffset: 626, - startLine: 30, - endLine: 30, - startColumn: 24, - endColumn: 24, - tokenTypeIdx: 26, - tokenType: { - name: 'Colon', - PATTERN: /:/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ':', + startOffset: 626, + endOffset: 626, + startLine: 30, + endLine: 30, + startColumn: 24, + endColumn: 24, tokenTypeIdx: 26, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Colon' - } - }, { - image: ' ', - startOffset: 627, - endOffset: 627, - startLine: 30, - endLine: 30, - startColumn: 25, - endColumn: 25, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Colon', + PATTERN: /:/, + tokenTypeIdx: 26, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Colon', + }, + }, + { + image: ' ', + startOffset: 627, + endOffset: 627, + startLine: 30, + endLine: 30, + startColumn: 25, + endColumn: 25, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'Number', - startOffset: 628, - endOffset: 633, - startLine: 30, - endLine: 30, - startColumn: 26, - endColumn: 31, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'Number', + startOffset: 628, + endOffset: 633, + startLine: 30, + endLine: 30, + startColumn: 26, + endColumn: 31, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ')', - startOffset: 634, - endOffset: 634, - startLine: 30, - endLine: 30, - startColumn: 32, - endColumn: 32, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ')', + startOffset: 634, + endOffset: 634, + startLine: 30, + endLine: 30, + startColumn: 32, + endColumn: 32, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ':', - startOffset: 635, - endOffset: 635, - startLine: 30, - endLine: 30, - startColumn: 33, - endColumn: 33, - tokenTypeIdx: 26, - tokenType: { - name: 'Colon', - PATTERN: /:/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ':', + startOffset: 635, + endOffset: 635, + startLine: 30, + endLine: 30, + startColumn: 33, + endColumn: 33, tokenTypeIdx: 26, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Colon' - } - }, { - image: ' ', - startOffset: 636, - endOffset: 636, - startLine: 30, - endLine: 30, - startColumn: 34, - endColumn: 34, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Colon', + PATTERN: /:/, + tokenTypeIdx: 26, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Colon', + }, + }, + { + image: ' ', + startOffset: 636, + endOffset: 636, + startLine: 30, + endLine: 30, + startColumn: 34, + endColumn: 34, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'Number', - startOffset: 637, - endOffset: 642, - startLine: 30, - endLine: 30, - startColumn: 35, - endColumn: 40, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'Number', + startOffset: 637, + endOffset: 642, + startLine: 30, + endLine: 30, + startColumn: 35, + endColumn: 40, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ' ', - startOffset: 643, - endOffset: 643, - startLine: 30, - endLine: 30, - startColumn: 41, - endColumn: 41, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ' ', + startOffset: 643, + endOffset: 643, + startLine: 30, + endLine: 30, + startColumn: 41, + endColumn: 41, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '=>', - startOffset: 644, - endOffset: 645, - startLine: 30, - endLine: 30, - startColumn: 42, - endColumn: 43, - tokenTypeIdx: 31, - tokenType: { - name: 'TknArrow', - PATTERN: /=>/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '=>', + startOffset: 644, + endOffset: 645, + startLine: 30, + endLine: 30, + startColumn: 42, + endColumn: 43, tokenTypeIdx: 31, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Arrow' - } - }, { - image: ' ', - startOffset: 646, - endOffset: 646, - startLine: 30, - endLine: 30, - startColumn: 44, - endColumn: 44, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknArrow', + PATTERN: /=>/, + tokenTypeIdx: 31, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Arrow', + }, + }, + { + image: ' ', + startOffset: 646, + endOffset: 646, + startLine: 30, + endLine: 30, + startColumn: 44, + endColumn: 44, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '{', - startOffset: 647, - endOffset: 647, - startLine: 30, - endLine: 30, - startColumn: 45, - endColumn: 45, - tokenTypeIdx: 18, - tokenType: { - name: 'LeftBrace', - PATTERN: /\{/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '{', + startOffset: 647, + endOffset: 647, + startLine: 30, + endLine: 30, + startColumn: 45, + endColumn: 45, tokenTypeIdx: 18, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Brace' - } - }, { - image: '\r\n ', - startOffset: 648, - endOffset: 651, - startLine: 30, - endLine: 31, - startColumn: 46, - endColumn: 2, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'LeftBrace', + PATTERN: /\{/, + tokenTypeIdx: 18, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Brace', + }, + }, + { + image: '\r\n ', + startOffset: 648, + endOffset: 651, + startLine: 30, + endLine: 31, + startColumn: 46, + endColumn: 2, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'return', - startOffset: 652, - endOffset: 657, - startLine: 31, - endLine: 31, - startColumn: 3, - endColumn: 8, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'return', + startOffset: 652, + endOffset: 657, + startLine: 31, + endLine: 31, + startColumn: 3, + endColumn: 8, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: '(', - startOffset: 658, - endOffset: 658, - startLine: 31, - endLine: 31, - startColumn: 9, - endColumn: 9, - tokenTypeIdx: 16, - tokenType: { - name: 'LeftParen', - PATTERN: /\(/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: '(', + startOffset: 658, + endOffset: 658, + startLine: 31, + endLine: 31, + startColumn: 9, + endColumn: 9, tokenTypeIdx: 16, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Left Parenthesis' - } - }, { - image: 'test', - startOffset: 659, - endOffset: 662, - startLine: 31, - endLine: 31, - startColumn: 10, - endColumn: 13, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'LeftParen', + PATTERN: /\(/, + tokenTypeIdx: 16, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Left Parenthesis', + }, + }, + { + image: 'test', + startOffset: 659, + endOffset: 662, + startLine: 31, + endLine: 31, + startColumn: 10, + endColumn: 13, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ')', - startOffset: 663, - endOffset: 663, - startLine: 31, - endLine: 31, - startColumn: 14, - endColumn: 14, - tokenTypeIdx: 17, - tokenType: { - name: 'RightParen', - PATTERN: /\)/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ')', + startOffset: 663, + endOffset: 663, + startLine: 31, + endLine: 31, + startColumn: 14, + endColumn: 14, tokenTypeIdx: 17, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Parenthesis' - } - }, { - image: ';', - startOffset: 664, - endOffset: 664, - startLine: 31, - endLine: 31, - startColumn: 15, - endColumn: 15, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightParen', + PATTERN: /\)/, + tokenTypeIdx: 17, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Parenthesis', + }, + }, + { + image: ';', + startOffset: 664, + endOffset: 664, + startLine: 31, + endLine: 31, + startColumn: 15, + endColumn: 15, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 665, - endOffset: 666, - startLine: 31, - endLine: 31, - startColumn: 16, - endColumn: 17, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 665, + endOffset: 666, + startLine: 31, + endLine: 31, + startColumn: 16, + endColumn: 17, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '}', - startOffset: 667, - endOffset: 667, - startLine: 32, - endLine: 32, - startColumn: 1, - endColumn: 1, - tokenTypeIdx: 19, - tokenType: { - name: 'RightBrace', - PATTERN: /\}/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '}', + startOffset: 667, + endOffset: 667, + startLine: 32, + endLine: 32, + startColumn: 1, + endColumn: 1, tokenTypeIdx: 19, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Right Brace' - } - }, { - image: ';', - startOffset: 668, - endOffset: 668, - startLine: 32, - endLine: 32, - startColumn: 2, - endColumn: 2, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'RightBrace', + PATTERN: /\}/, + tokenTypeIdx: 19, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Right Brace', + }, + }, + { + image: ';', + startOffset: 668, + endOffset: 668, + startLine: 32, + endLine: 32, + startColumn: 2, + endColumn: 2, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n', - startOffset: 669, - endOffset: 670, - startLine: 32, - endLine: 32, - startColumn: 3, - endColumn: 4, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n', + startOffset: 669, + endOffset: 670, + startLine: 32, + endLine: 32, + startColumn: 3, + endColumn: 4, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'const', - startOffset: 671, - endOffset: 675, - startLine: 33, - endLine: 33, - startColumn: 1, - endColumn: 5, - tokenTypeIdx: 12, - tokenType: { - name: 'ConstToken', - PATTERN: /const/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'const', + startOffset: 671, + endOffset: 675, + startLine: 33, + endLine: 33, + startColumn: 1, + endColumn: 5, tokenTypeIdx: 12, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Const' - } - }, { - image: ' ', - startOffset: 676, - endOffset: 676, - startLine: 33, - endLine: 33, - startColumn: 6, - endColumn: 6, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ConstToken', + PATTERN: /const/, + tokenTypeIdx: 12, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Const', + }, + }, + { + image: ' ', + startOffset: 676, + endOffset: 676, + startLine: 33, + endLine: 33, + startColumn: 6, + endColumn: 6, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'a', - startOffset: 677, - endOffset: 677, - startLine: 33, - endLine: 33, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'a', + startOffset: 677, + endOffset: 677, + startLine: 33, + endLine: 33, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ':', - startOffset: 678, - endOffset: 678, - startLine: 33, - endLine: 33, - startColumn: 8, - endColumn: 8, - tokenTypeIdx: 26, - tokenType: { - name: 'Colon', - PATTERN: /:/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ':', + startOffset: 678, + endOffset: 678, + startLine: 33, + endLine: 33, + startColumn: 8, + endColumn: 8, tokenTypeIdx: 26, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Colon' - } - }, { - image: ' ', - startOffset: 679, - endOffset: 679, - startLine: 33, - endLine: 33, - startColumn: 9, - endColumn: 9, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Colon', + PATTERN: /:/, + tokenTypeIdx: 26, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Colon', + }, + }, + { + image: ' ', + startOffset: 679, + endOffset: 679, + startLine: 33, + endLine: 33, + startColumn: 9, + endColumn: 9, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'Number', - startOffset: 680, - endOffset: 685, - startLine: 33, - endLine: 33, - startColumn: 10, - endColumn: 15, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'Number', + startOffset: 680, + endOffset: 685, + startLine: 33, + endLine: 33, + startColumn: 10, + endColumn: 15, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ' ', - startOffset: 686, - endOffset: 686, - startLine: 33, - endLine: 33, - startColumn: 16, - endColumn: 16, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ' ', + startOffset: 686, + endOffset: 686, + startLine: 33, + endLine: 33, + startColumn: 16, + endColumn: 16, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '=', - startOffset: 687, - endOffset: 687, - startLine: 33, - endLine: 33, - startColumn: 17, - endColumn: 17, - tokenTypeIdx: 34, - tokenType: { - name: 'TknEqual', - PATTERN: /=/, - CATEGORIES: [{ - name: 'AssignmentOperators', - PATTERN: Lexer.NA, - tokenTypeIdx: 5, - CATEGORIES: [], - categoryMatches: [34], - categoryMatchesMap: { - '34': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '=', + startOffset: 687, + endOffset: 687, + startLine: 33, + endLine: 33, + startColumn: 17, + endColumn: 17, tokenTypeIdx: 34, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Equal' - } - }, { - image: ' ', - startOffset: 688, - endOffset: 688, - startLine: 33, - endLine: 33, - startColumn: 18, - endColumn: 18, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'TknEqual', + PATTERN: /=/, + CATEGORIES: [ + { + name: 'AssignmentOperators', + PATTERN: Lexer.NA, + tokenTypeIdx: 5, + CATEGORIES: [], + categoryMatches: [34], + categoryMatchesMap: { + '34': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 34, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Equal', + }, + }, + { + image: ' ', + startOffset: 688, + endOffset: 688, + startLine: 33, + endLine: 33, + startColumn: 18, + endColumn: 18, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '1', - startOffset: 689, - endOffset: 689, - startLine: 33, - endLine: 33, - startColumn: 19, - endColumn: 19, - tokenTypeIdx: 38, - tokenType: { - name: 'Number', - PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, - CATEGORIES: [{ - name: 'Literals', - PATTERN: Lexer.NA, - tokenTypeIdx: 3, - CATEGORIES: [], - categoryMatches: [37, 38, 39, 40], - categoryMatchesMap: { - '37': true, - '38': true, - '39': true, - '40': true - }, - isParent: true - }], + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '1', + startOffset: 689, + endOffset: 689, + startLine: 33, + endLine: 33, + startColumn: 19, + endColumn: 19, tokenTypeIdx: 38, - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Number Literal' - } - }, { - image: ';', - startOffset: 690, - endOffset: 690, - startLine: 33, - endLine: 33, - startColumn: 20, - endColumn: 20, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'Number', + PATTERN: /[-|+]?[0-9]*(?:\.?[0-9]+)/, + CATEGORIES: [ + { + name: 'Literals', + PATTERN: Lexer.NA, + tokenTypeIdx: 3, + CATEGORIES: [], + categoryMatches: [37, 38, 39, 40], + categoryMatchesMap: { + '37': true, + '38': true, + '39': true, + '40': true, + }, + isParent: true, + }, + ], + tokenTypeIdx: 38, + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Number Literal', + }, + }, + { + image: ';', + startOffset: 690, + endOffset: 690, + startLine: 33, + endLine: 33, + startColumn: 20, + endColumn: 20, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }, { - image: '\r\n\r\n', - startOffset: 691, - endOffset: 694, - startLine: 33, - endLine: 34, - startColumn: 21, - endColumn: 1, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + { + image: '\r\n\r\n', + startOffset: 691, + endOffset: 694, + startLine: 33, + endLine: 34, + startColumn: 21, + endColumn: 1, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: '\r\n', - startOffset: 710, - endOffset: 711, - startLine: 35, - endLine: 35, - startColumn: 16, - endColumn: 17, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: '\r\n', + startOffset: 710, + endOffset: 711, + startLine: 35, + endLine: 35, + startColumn: 16, + endColumn: 17, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'export', - startOffset: 712, - endOffset: 717, - startLine: 36, - endLine: 36, - startColumn: 1, - endColumn: 6, - tokenTypeIdx: 11, - tokenType: { - name: 'ExportToken', - PATTERN: /export/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'export', + startOffset: 712, + endOffset: 717, + startLine: 36, + endLine: 36, + startColumn: 1, + endColumn: 6, tokenTypeIdx: 11, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Export' - } - }, { - image: ' ', - startOffset: 718, - endOffset: 718, - startLine: 36, - endLine: 36, - startColumn: 7, - endColumn: 7, - tokenTypeIdx: 28, - tokenType: { - name: 'Space', - PATTERN: /[ \t\s\r\n]+/, + tokenType: { + name: 'ExportToken', + PATTERN: /export/, + tokenTypeIdx: 11, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Export', + }, + }, + { + image: ' ', + startOffset: 718, + endOffset: 718, + startLine: 36, + endLine: 36, + startColumn: 7, + endColumn: 7, tokenTypeIdx: 28, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Whitespace', - LINE_BREAKS: true - } - }, { - image: 'f', - startOffset: 719, - endOffset: 719, - startLine: 36, - endLine: 36, - startColumn: 8, - endColumn: 8, - tokenTypeIdx: 43, - tokenType: { - name: 'TknIdentifier', - PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenType: { + name: 'Space', + PATTERN: /[ \t\s\r\n]+/, + tokenTypeIdx: 28, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Whitespace', + LINE_BREAKS: true, + }, + }, + { + image: 'f', + startOffset: 719, + endOffset: 719, + startLine: 36, + endLine: 36, + startColumn: 8, + endColumn: 8, tokenTypeIdx: 43, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Identifier' - } - }, { - image: ';', - startOffset: 720, - endOffset: 720, - startLine: 36, - endLine: 36, - startColumn: 9, - endColumn: 9, - tokenTypeIdx: 27, - tokenType: { - name: 'Semicolon', - PATTERN: /;/, + tokenType: { + name: 'TknIdentifier', + PATTERN: /[a-zA-Z$_][1-9a-zA-Z$_]*/, + tokenTypeIdx: 43, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Identifier', + }, + }, + { + image: ';', + startOffset: 720, + endOffset: 720, + startLine: 36, + endLine: 36, + startColumn: 9, + endColumn: 9, tokenTypeIdx: 27, - CATEGORIES: [], - categoryMatches: [], - categoryMatchesMap: {}, - isParent: false, - LABEL: 'Semicolon' - } - }], + tokenType: { + name: 'Semicolon', + PATTERN: /;/, + tokenTypeIdx: 27, + CATEGORIES: [], + categoryMatches: [], + categoryMatchesMap: {}, + isParent: false, + LABEL: 'Semicolon', + }, + }, + ], groups: {}, - errors: [] + errors: [], }; -export default data; \ No newline at end of file +export default data; diff --git a/__tests__/Data/Parser/Parser_Pass.br b/__tests__/Data/Parser/Parser_Pass.br index e2ec428..c5dbe45 100644 --- a/__tests__/Data/Parser/Parser_Pass.br +++ b/__tests__/Data/Parser/Parser_Pass.br @@ -37,6 +37,7 @@ let objectTest3: E = { ...objectTest2, field3: 1n }; +objectTest = 1n; objectTest.field2 = 2n; // if statement testing if (1 == 1) { diff --git a/__tests__/Data/Parser/Parser_Pass.json b/__tests__/Data/Parser/Parser_Pass.json index 62c7fd9..bda3b6e 100644 --- a/__tests__/Data/Parser/Parser_Pass.json +++ b/__tests__/Data/Parser/Parser_Pass.json @@ -1 +1 @@ -{"tokens":[{"image":"import","startOffset":18,"endOffset":23,"startLine":2,"endLine":2,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"a","startOffset":25,"endOffset":25,"startLine":2,"endLine":2,"startColumn":8,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":27,"endOffset":30,"startLine":2,"endLine":2,"startColumn":10,"endColumn":13,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'test'","startOffset":32,"endOffset":37,"startLine":2,"endLine":2,"startColumn":15,"endColumn":20,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":38,"endOffset":38,"startLine":2,"endLine":2,"startColumn":21,"endColumn":21,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"import","startOffset":40,"endOffset":45,"startLine":3,"endLine":3,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"wasm","startOffset":47,"endOffset":50,"startLine":3,"endLine":3,"startColumn":8,"endColumn":11,"tokenTypeIdx":16,"tokenType":"WasmToken"},{"image":"print","startOffset":52,"endOffset":56,"startLine":3,"endLine":3,"startColumn":13,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":57,"endOffset":57,"startLine":3,"endLine":3,"startColumn":18,"endColumn":18,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"(","startOffset":59,"endOffset":59,"startLine":3,"endLine":3,"startColumn":20,"endColumn":20,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"String","startOffset":60,"endOffset":65,"startLine":3,"endLine":3,"startColumn":21,"endColumn":26,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":66,"endOffset":66,"startLine":3,"endLine":3,"startColumn":27,"endColumn":27,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":68,"endOffset":69,"startLine":3,"endLine":3,"startColumn":29,"endColumn":30,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"Void","startOffset":71,"endOffset":74,"startLine":3,"endLine":3,"startColumn":32,"endColumn":35,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":76,"endOffset":79,"startLine":3,"endLine":3,"startColumn":37,"endColumn":40,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'print'","startOffset":81,"endOffset":87,"startLine":3,"endLine":3,"startColumn":42,"endColumn":48,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":88,"endOffset":88,"startLine":3,"endLine":3,"startColumn":49,"endColumn":49,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"import","startOffset":90,"endOffset":95,"startLine":4,"endLine":4,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"wasm","startOffset":97,"endOffset":100,"startLine":4,"endLine":4,"startColumn":8,"endColumn":11,"tokenTypeIdx":16,"tokenType":"WasmToken"},{"image":"f","startOffset":102,"endOffset":102,"startLine":4,"endLine":4,"startColumn":13,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":103,"endOffset":103,"startLine":4,"endLine":4,"startColumn":14,"endColumn":14,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"(","startOffset":105,"endOffset":105,"startLine":4,"endLine":4,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":106,"endOffset":106,"startLine":4,"endLine":4,"startColumn":17,"endColumn":17,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":108,"endOffset":109,"startLine":4,"endLine":4,"startColumn":19,"endColumn":20,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"Void","startOffset":111,"endOffset":114,"startLine":4,"endLine":4,"startColumn":22,"endColumn":25,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":116,"endOffset":119,"startLine":4,"endLine":4,"startColumn":27,"endColumn":30,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'print'","startOffset":121,"endOffset":127,"startLine":4,"endLine":4,"startColumn":32,"endColumn":38,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":128,"endOffset":128,"startLine":4,"endLine":4,"startColumn":39,"endColumn":39,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"import","startOffset":130,"endOffset":135,"startLine":5,"endLine":5,"startColumn":1,"endColumn":6,"tokenTypeIdx":15,"tokenType":"ImportToken"},{"image":"wasm","startOffset":137,"endOffset":140,"startLine":5,"endLine":5,"startColumn":8,"endColumn":11,"tokenTypeIdx":16,"tokenType":"WasmToken"},{"image":"b","startOffset":142,"endOffset":142,"startLine":5,"endLine":5,"startColumn":13,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":143,"endOffset":143,"startLine":5,"endLine":5,"startColumn":14,"endColumn":14,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":145,"endOffset":147,"startLine":5,"endLine":5,"startColumn":16,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"from","startOffset":149,"endOffset":152,"startLine":5,"endLine":5,"startColumn":20,"endColumn":23,"tokenTypeIdx":17,"tokenType":"FromToken"},{"image":"'test'","startOffset":154,"endOffset":159,"startLine":5,"endLine":5,"startColumn":25,"endColumn":30,"tokenTypeIdx":32,"tokenType":"String"},{"image":";","startOffset":160,"endOffset":160,"startLine":5,"endLine":5,"startColumn":31,"endColumn":31,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":199,"endOffset":202,"startLine":8,"endLine":8,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"A","startOffset":204,"endOffset":204,"startLine":8,"endLine":8,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":206,"endOffset":206,"startLine":8,"endLine":8,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":208,"endOffset":210,"startLine":8,"endLine":8,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":211,"endOffset":211,"startLine":8,"endLine":8,"startColumn":13,"endColumn":13,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":213,"endOffset":216,"startLine":9,"endLine":9,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"B","startOffset":218,"endOffset":218,"startLine":9,"endLine":9,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":220,"endOffset":220,"startLine":9,"endLine":9,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":222,"endOffset":224,"startLine":9,"endLine":9,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":226,"endOffset":226,"startLine":9,"endLine":9,"startColumn":14,"endColumn":14,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":228,"endOffset":230,"startLine":9,"endLine":9,"startColumn":16,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":232,"endOffset":232,"startLine":9,"endLine":9,"startColumn":20,"endColumn":20,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"u32","startOffset":234,"endOffset":236,"startLine":9,"endLine":9,"startColumn":22,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":238,"endOffset":238,"startLine":9,"endLine":9,"startColumn":26,"endColumn":26,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"u64","startOffset":240,"endOffset":242,"startLine":9,"endLine":9,"startColumn":28,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":244,"endOffset":244,"startLine":9,"endLine":9,"startColumn":32,"endColumn":32,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"f32","startOffset":246,"endOffset":248,"startLine":9,"endLine":9,"startColumn":34,"endColumn":36,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":250,"endOffset":250,"startLine":9,"endLine":9,"startColumn":38,"endColumn":38,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"f64","startOffset":252,"endOffset":254,"startLine":9,"endLine":9,"startColumn":40,"endColumn":42,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":255,"endOffset":255,"startLine":9,"endLine":9,"startColumn":43,"endColumn":43,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":257,"endOffset":260,"startLine":10,"endLine":10,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"C","startOffset":262,"endOffset":262,"startLine":10,"endLine":10,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":264,"endOffset":264,"startLine":10,"endLine":10,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":266,"endOffset":268,"startLine":10,"endLine":10,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":270,"endOffset":270,"startLine":10,"endLine":10,"startColumn":14,"endColumn":14,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"(","startOffset":272,"endOffset":272,"startLine":10,"endLine":10,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"i32","startOffset":273,"endOffset":275,"startLine":10,"endLine":10,"startColumn":17,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":276,"endOffset":276,"startLine":10,"endLine":10,"startColumn":20,"endColumn":20,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"i32","startOffset":278,"endOffset":280,"startLine":10,"endLine":10,"startColumn":22,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":282,"endOffset":282,"startLine":10,"endLine":10,"startColumn":26,"endColumn":26,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":284,"endOffset":286,"startLine":10,"endLine":10,"startColumn":28,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":287,"endOffset":287,"startLine":10,"endLine":10,"startColumn":31,"endColumn":31,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":289,"endOffset":290,"startLine":10,"endLine":10,"startColumn":33,"endColumn":34,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"u32","startOffset":292,"endOffset":294,"startLine":10,"endLine":10,"startColumn":36,"endColumn":38,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":296,"endOffset":296,"startLine":10,"endLine":10,"startColumn":40,"endColumn":40,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":298,"endOffset":300,"startLine":10,"endLine":10,"startColumn":42,"endColumn":44,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":301,"endOffset":301,"startLine":10,"endLine":10,"startColumn":45,"endColumn":45,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"type","startOffset":303,"endOffset":306,"startLine":11,"endLine":11,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"D","startOffset":308,"endOffset":308,"startLine":11,"endLine":11,"startColumn":6,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":310,"endOffset":310,"startLine":11,"endLine":11,"startColumn":8,"endColumn":8,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"i32","startOffset":312,"endOffset":314,"startLine":11,"endLine":11,"startColumn":10,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":316,"endOffset":316,"startLine":11,"endLine":11,"startColumn":14,"endColumn":14,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"(","startOffset":318,"endOffset":318,"startLine":11,"endLine":11,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"i32","startOffset":319,"endOffset":321,"startLine":11,"endLine":11,"startColumn":17,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":322,"endOffset":322,"startLine":11,"endLine":11,"startColumn":20,"endColumn":20,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"i32","startOffset":324,"endOffset":326,"startLine":11,"endLine":11,"startColumn":22,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":328,"endOffset":328,"startLine":11,"endLine":11,"startColumn":26,"endColumn":26,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":330,"endOffset":332,"startLine":11,"endLine":11,"startColumn":28,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":333,"endOffset":333,"startLine":11,"endLine":11,"startColumn":31,"endColumn":31,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"=>","startOffset":335,"endOffset":336,"startLine":11,"endLine":11,"startColumn":33,"endColumn":34,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"(","startOffset":338,"endOffset":338,"startLine":11,"endLine":11,"startColumn":36,"endColumn":36,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"u32","startOffset":339,"endOffset":341,"startLine":11,"endLine":11,"startColumn":37,"endColumn":39,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"|","startOffset":343,"endOffset":343,"startLine":11,"endLine":11,"startColumn":41,"endColumn":41,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"i64","startOffset":345,"endOffset":347,"startLine":11,"endLine":11,"startColumn":43,"endColumn":45,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":348,"endOffset":348,"startLine":11,"endLine":11,"startColumn":46,"endColumn":46,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"|","startOffset":350,"endOffset":350,"startLine":11,"endLine":11,"startColumn":48,"endColumn":48,"tokenTypeIdx":72,"tokenType":"TypeUnion"},{"image":"f32","startOffset":352,"endOffset":354,"startLine":11,"endLine":11,"startColumn":50,"endColumn":52,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":355,"endOffset":355,"startLine":11,"endLine":11,"startColumn":53,"endColumn":53,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":357,"endOffset":365,"startLine":12,"endLine":12,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"E","startOffset":367,"endOffset":367,"startLine":12,"endLine":12,"startColumn":11,"endColumn":11,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"{","startOffset":369,"endOffset":369,"startLine":12,"endLine":12,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":373,"endOffset":378,"startLine":13,"endLine":13,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":379,"endOffset":379,"startLine":13,"endLine":13,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":381,"endOffset":383,"startLine":13,"endLine":13,"startColumn":11,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":384,"endOffset":384,"startLine":13,"endLine":13,"startColumn":14,"endColumn":14,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":388,"endOffset":390,"startLine":14,"endLine":14,"startColumn":3,"endColumn":5,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"field2","startOffset":392,"endOffset":397,"startLine":14,"endLine":14,"startColumn":7,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":398,"endOffset":398,"startLine":14,"endLine":14,"startColumn":13,"endColumn":13,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":400,"endOffset":402,"startLine":14,"endLine":14,"startColumn":15,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":403,"endOffset":403,"startLine":14,"endLine":14,"startColumn":18,"endColumn":18,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"field3","startOffset":407,"endOffset":412,"startLine":15,"endLine":15,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"?","startOffset":413,"endOffset":413,"startLine":15,"endLine":15,"startColumn":9,"endColumn":9,"tokenTypeIdx":73,"tokenType":"TknQuestionMark"},{"image":":","startOffset":414,"endOffset":414,"startLine":15,"endLine":15,"startColumn":10,"endColumn":10,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":416,"endOffset":418,"startLine":15,"endLine":15,"startColumn":12,"endColumn":14,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":419,"endOffset":419,"startLine":15,"endLine":15,"startColumn":15,"endColumn":15,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"field4","startOffset":423,"endOffset":428,"startLine":16,"endLine":16,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":429,"endOffset":429,"startLine":16,"endLine":16,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"{","startOffset":431,"endOffset":431,"startLine":16,"endLine":16,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":437,"endOffset":442,"startLine":17,"endLine":17,"startColumn":5,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":443,"endOffset":443,"startLine":17,"endLine":17,"startColumn":11,"endColumn":11,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":445,"endOffset":447,"startLine":17,"endLine":17,"startColumn":13,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":448,"endOffset":448,"startLine":17,"endLine":17,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":452,"endOffset":452,"startLine":18,"endLine":18,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":453,"endOffset":453,"startLine":18,"endLine":18,"startColumn":4,"endColumn":4,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":455,"endOffset":455,"startLine":19,"endLine":19,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":456,"endOffset":456,"startLine":19,"endLine":19,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":483,"endOffset":485,"startLine":21,"endLine":21,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"objectTest","startOffset":487,"endOffset":496,"startLine":21,"endLine":21,"startColumn":5,"endColumn":14,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":497,"endOffset":497,"startLine":21,"endLine":21,"startColumn":15,"endColumn":15,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"E","startOffset":499,"endOffset":499,"startLine":21,"endLine":21,"startColumn":17,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":501,"endOffset":501,"startLine":21,"endLine":21,"startColumn":19,"endColumn":19,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"{","startOffset":503,"endOffset":503,"startLine":21,"endLine":21,"startColumn":21,"endColumn":21,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":507,"endOffset":512,"startLine":22,"endLine":22,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":513,"endOffset":513,"startLine":22,"endLine":22,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":515,"endOffset":516,"startLine":22,"endLine":22,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":517,"endOffset":517,"startLine":22,"endLine":22,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field2","startOffset":521,"endOffset":526,"startLine":23,"endLine":23,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":527,"endOffset":527,"startLine":23,"endLine":23,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":529,"endOffset":530,"startLine":23,"endLine":23,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":531,"endOffset":531,"startLine":23,"endLine":23,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field3","startOffset":535,"endOffset":540,"startLine":24,"endLine":24,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":541,"endOffset":541,"startLine":24,"endLine":24,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":543,"endOffset":544,"startLine":24,"endLine":24,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":545,"endOffset":545,"startLine":24,"endLine":24,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field4","startOffset":549,"endOffset":554,"startLine":25,"endLine":25,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":555,"endOffset":555,"startLine":25,"endLine":25,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"{","startOffset":557,"endOffset":557,"startLine":25,"endLine":25,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":563,"endOffset":568,"startLine":26,"endLine":26,"startColumn":5,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":569,"endOffset":569,"startLine":26,"endLine":26,"startColumn":11,"endColumn":11,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":571,"endOffset":572,"startLine":26,"endLine":26,"startColumn":13,"endColumn":14,"tokenTypeIdx":33,"tokenType":"I32"},{"image":"}","startOffset":576,"endOffset":576,"startLine":27,"endLine":27,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"}","startOffset":578,"endOffset":578,"startLine":28,"endLine":28,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":579,"endOffset":579,"startLine":28,"endLine":28,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":581,"endOffset":583,"startLine":29,"endLine":29,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"objectTest2","startOffset":585,"endOffset":595,"startLine":29,"endLine":29,"startColumn":5,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":596,"endOffset":596,"startLine":29,"endLine":29,"startColumn":16,"endColumn":16,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"E","startOffset":598,"endOffset":598,"startLine":29,"endLine":29,"startColumn":18,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":600,"endOffset":600,"startLine":29,"endLine":29,"startColumn":20,"endColumn":20,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"{","startOffset":602,"endOffset":602,"startLine":29,"endLine":29,"startColumn":22,"endColumn":22,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":606,"endOffset":611,"startLine":30,"endLine":30,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":612,"endOffset":612,"startLine":30,"endLine":30,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":614,"endOffset":615,"startLine":30,"endLine":30,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":616,"endOffset":616,"startLine":30,"endLine":30,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field2","startOffset":620,"endOffset":625,"startLine":31,"endLine":31,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":626,"endOffset":626,"startLine":31,"endLine":31,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":628,"endOffset":629,"startLine":31,"endLine":31,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":630,"endOffset":630,"startLine":31,"endLine":31,"startColumn":13,"endColumn":13,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field4","startOffset":634,"endOffset":639,"startLine":32,"endLine":32,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":640,"endOffset":640,"startLine":32,"endLine":32,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"{","startOffset":642,"endOffset":642,"startLine":32,"endLine":32,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"field1","startOffset":648,"endOffset":653,"startLine":33,"endLine":33,"startColumn":5,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":654,"endOffset":654,"startLine":33,"endLine":33,"startColumn":11,"endColumn":11,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":656,"endOffset":657,"startLine":33,"endLine":33,"startColumn":13,"endColumn":14,"tokenTypeIdx":33,"tokenType":"I32"},{"image":"}","startOffset":661,"endOffset":661,"startLine":34,"endLine":34,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"}","startOffset":663,"endOffset":663,"startLine":35,"endLine":35,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":664,"endOffset":664,"startLine":35,"endLine":35,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":666,"endOffset":668,"startLine":36,"endLine":36,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"objectTest3","startOffset":670,"endOffset":680,"startLine":36,"endLine":36,"startColumn":5,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":681,"endOffset":681,"startLine":36,"endLine":36,"startColumn":16,"endColumn":16,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"E","startOffset":683,"endOffset":683,"startLine":36,"endLine":36,"startColumn":18,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":685,"endOffset":685,"startLine":36,"endLine":36,"startColumn":20,"endColumn":20,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"{","startOffset":687,"endOffset":687,"startLine":36,"endLine":36,"startColumn":22,"endColumn":22,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"...","startOffset":691,"endOffset":693,"startLine":37,"endLine":37,"startColumn":3,"endColumn":5,"tokenTypeIdx":49,"tokenType":"TknEllipsis"},{"image":"objectTest2","startOffset":694,"endOffset":704,"startLine":37,"endLine":37,"startColumn":6,"endColumn":16,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":705,"endOffset":705,"startLine":37,"endLine":37,"startColumn":17,"endColumn":17,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"field3","startOffset":709,"endOffset":714,"startLine":38,"endLine":38,"startColumn":3,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":715,"endOffset":715,"startLine":38,"endLine":38,"startColumn":9,"endColumn":9,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"1n","startOffset":717,"endOffset":718,"startLine":38,"endLine":38,"startColumn":11,"endColumn":12,"tokenTypeIdx":33,"tokenType":"I32"},{"image":"}","startOffset":720,"endOffset":720,"startLine":39,"endLine":39,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":721,"endOffset":721,"startLine":39,"endLine":39,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"objectTest","startOffset":723,"endOffset":732,"startLine":40,"endLine":40,"startColumn":1,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":".","startOffset":733,"endOffset":733,"startLine":40,"endLine":40,"startColumn":11,"endColumn":11,"tokenTypeIdx":50,"tokenType":"Period"},{"image":"field2","startOffset":734,"endOffset":739,"startLine":40,"endLine":40,"startColumn":12,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":741,"endOffset":741,"startLine":40,"endLine":40,"startColumn":19,"endColumn":19,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"2n","startOffset":743,"endOffset":744,"startLine":40,"endLine":40,"startColumn":21,"endColumn":22,"tokenTypeIdx":33,"tokenType":"I32"},{"image":";","startOffset":745,"endOffset":745,"startLine":40,"endLine":40,"startColumn":23,"endColumn":23,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":771,"endOffset":772,"startLine":42,"endLine":42,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":774,"endOffset":774,"startLine":42,"endLine":42,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1","startOffset":775,"endOffset":775,"startLine":42,"endLine":42,"startColumn":5,"endColumn":5,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"==","startOffset":777,"endOffset":778,"startLine":42,"endLine":42,"startColumn":7,"endColumn":8,"tokenTypeIdx":56,"tokenType":"TknComparisonEqual"},{"image":"1","startOffset":780,"endOffset":780,"startLine":42,"endLine":42,"startColumn":10,"endColumn":10,"tokenTypeIdx":39,"tokenType":"Number"},{"image":")","startOffset":781,"endOffset":781,"startLine":42,"endLine":42,"startColumn":11,"endColumn":11,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":783,"endOffset":783,"startLine":42,"endLine":42,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":787,"endOffset":791,"startLine":43,"endLine":43,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":792,"endOffset":792,"startLine":43,"endLine":43,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'If Test'","startOffset":793,"endOffset":801,"startLine":43,"endLine":43,"startColumn":9,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":802,"endOffset":802,"startLine":43,"endLine":43,"startColumn":18,"endColumn":18,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":803,"endOffset":803,"startLine":43,"endLine":43,"startColumn":19,"endColumn":19,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":805,"endOffset":805,"startLine":44,"endLine":44,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":807,"endOffset":810,"startLine":44,"endLine":44,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"if","startOffset":812,"endOffset":813,"startLine":44,"endLine":44,"startColumn":8,"endColumn":9,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":815,"endOffset":815,"startLine":44,"endLine":44,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":816,"endOffset":821,"startLine":44,"endLine":44,"startColumn":12,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":"==","startOffset":823,"endOffset":824,"startLine":44,"endLine":44,"startColumn":19,"endColumn":20,"tokenTypeIdx":56,"tokenType":"TknComparisonEqual"},{"image":"'test'","startOffset":826,"endOffset":831,"startLine":44,"endLine":44,"startColumn":22,"endColumn":27,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":832,"endOffset":832,"startLine":44,"endLine":44,"startColumn":28,"endColumn":28,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":834,"endOffset":834,"startLine":44,"endLine":44,"startColumn":30,"endColumn":30,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":838,"endOffset":842,"startLine":45,"endLine":45,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":843,"endOffset":843,"startLine":45,"endLine":45,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'Else If Test'","startOffset":844,"endOffset":857,"startLine":45,"endLine":45,"startColumn":9,"endColumn":22,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":858,"endOffset":858,"startLine":45,"endLine":45,"startColumn":23,"endColumn":23,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":859,"endOffset":859,"startLine":45,"endLine":45,"startColumn":24,"endColumn":24,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":861,"endOffset":861,"startLine":46,"endLine":46,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":863,"endOffset":866,"startLine":46,"endLine":46,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"{","startOffset":868,"endOffset":868,"startLine":46,"endLine":46,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":872,"endOffset":876,"startLine":47,"endLine":47,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":877,"endOffset":877,"startLine":47,"endLine":47,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'Else Test'","startOffset":878,"endOffset":888,"startLine":47,"endLine":47,"startColumn":9,"endColumn":19,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":889,"endOffset":889,"startLine":47,"endLine":47,"startColumn":20,"endColumn":20,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":890,"endOffset":890,"startLine":47,"endLine":47,"startColumn":21,"endColumn":21,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":892,"endOffset":892,"startLine":48,"endLine":48,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":893,"endOffset":893,"startLine":48,"endLine":48,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":895,"endOffset":896,"startLine":49,"endLine":49,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":898,"endOffset":898,"startLine":49,"endLine":49,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1","startOffset":899,"endOffset":899,"startLine":49,"endLine":49,"startColumn":5,"endColumn":5,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"==","startOffset":901,"endOffset":902,"startLine":49,"endLine":49,"startColumn":7,"endColumn":8,"tokenTypeIdx":56,"tokenType":"TknComparisonEqual"},{"image":"1","startOffset":904,"endOffset":904,"startLine":49,"endLine":49,"startColumn":10,"endColumn":10,"tokenTypeIdx":39,"tokenType":"Number"},{"image":")","startOffset":905,"endOffset":905,"startLine":49,"endLine":49,"startColumn":11,"endColumn":11,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"print","startOffset":907,"endOffset":911,"startLine":49,"endLine":49,"startColumn":13,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":912,"endOffset":912,"startLine":49,"endLine":49,"startColumn":18,"endColumn":18,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":913,"endOffset":918,"startLine":49,"endLine":49,"startColumn":19,"endColumn":24,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":919,"endOffset":919,"startLine":49,"endLine":49,"startColumn":25,"endColumn":25,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":920,"endOffset":920,"startLine":49,"endLine":49,"startColumn":26,"endColumn":26,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"else","startOffset":922,"endOffset":925,"startLine":50,"endLine":50,"startColumn":1,"endColumn":4,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"print","startOffset":927,"endOffset":931,"startLine":50,"endLine":50,"startColumn":6,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":932,"endOffset":932,"startLine":50,"endLine":50,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":933,"endOffset":938,"startLine":50,"endLine":50,"startColumn":12,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":939,"endOffset":939,"startLine":50,"endLine":50,"startColumn":18,"endColumn":18,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":940,"endOffset":940,"startLine":50,"endLine":50,"startColumn":19,"endColumn":19,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":943,"endOffset":944,"startLine":52,"endLine":52,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":946,"endOffset":946,"startLine":52,"endLine":52,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":947,"endOffset":950,"startLine":52,"endLine":52,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":951,"endOffset":951,"startLine":52,"endLine":52,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":953,"endOffset":953,"startLine":52,"endLine":52,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":957,"endOffset":961,"startLine":53,"endLine":53,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":962,"endOffset":962,"startLine":53,"endLine":53,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'true'","startOffset":963,"endOffset":968,"startLine":53,"endLine":53,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":969,"endOffset":969,"startLine":53,"endLine":53,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":970,"endOffset":970,"startLine":53,"endLine":53,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":972,"endOffset":972,"startLine":54,"endLine":54,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":973,"endOffset":973,"startLine":54,"endLine":54,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":976,"endOffset":977,"startLine":56,"endLine":56,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":979,"endOffset":979,"startLine":56,"endLine":56,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":980,"endOffset":983,"startLine":56,"endLine":56,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":984,"endOffset":984,"startLine":56,"endLine":56,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"print","startOffset":986,"endOffset":990,"startLine":56,"endLine":56,"startColumn":11,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":991,"endOffset":991,"startLine":56,"endLine":56,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":992,"endOffset":997,"startLine":56,"endLine":56,"startColumn":17,"endColumn":22,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":998,"endOffset":998,"startLine":56,"endLine":56,"startColumn":23,"endColumn":23,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":999,"endOffset":999,"startLine":56,"endLine":56,"startColumn":24,"endColumn":24,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1002,"endOffset":1003,"startLine":58,"endLine":58,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1005,"endOffset":1005,"startLine":58,"endLine":58,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1006,"endOffset":1009,"startLine":58,"endLine":58,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1010,"endOffset":1010,"startLine":58,"endLine":58,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"print","startOffset":1012,"endOffset":1016,"startLine":58,"endLine":58,"startColumn":11,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1017,"endOffset":1017,"startLine":58,"endLine":58,"startColumn":16,"endColumn":16,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1018,"endOffset":1023,"startLine":58,"endLine":58,"startColumn":17,"endColumn":22,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1024,"endOffset":1024,"startLine":58,"endLine":58,"startColumn":23,"endColumn":23,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1025,"endOffset":1025,"startLine":58,"endLine":58,"startColumn":24,"endColumn":24,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"else","startOffset":1027,"endOffset":1030,"startLine":59,"endLine":59,"startColumn":1,"endColumn":4,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"print","startOffset":1032,"endOffset":1036,"startLine":59,"endLine":59,"startColumn":6,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1037,"endOffset":1037,"startLine":59,"endLine":59,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1038,"endOffset":1043,"startLine":59,"endLine":59,"startColumn":12,"endColumn":17,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1044,"endOffset":1044,"startLine":59,"endLine":59,"startColumn":18,"endColumn":18,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1045,"endOffset":1045,"startLine":59,"endLine":59,"startColumn":19,"endColumn":19,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1048,"endOffset":1049,"startLine":61,"endLine":61,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1051,"endOffset":1051,"startLine":61,"endLine":61,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1052,"endOffset":1055,"startLine":61,"endLine":61,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1056,"endOffset":1056,"startLine":61,"endLine":61,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1058,"endOffset":1058,"startLine":61,"endLine":61,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1062,"endOffset":1066,"startLine":62,"endLine":62,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1067,"endOffset":1067,"startLine":62,"endLine":62,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1068,"endOffset":1073,"startLine":62,"endLine":62,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1074,"endOffset":1074,"startLine":62,"endLine":62,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1075,"endOffset":1075,"startLine":62,"endLine":62,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1077,"endOffset":1077,"startLine":63,"endLine":63,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1079,"endOffset":1082,"startLine":63,"endLine":63,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"{","startOffset":1084,"endOffset":1084,"startLine":63,"endLine":63,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1088,"endOffset":1092,"startLine":64,"endLine":64,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1093,"endOffset":1093,"startLine":64,"endLine":64,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1094,"endOffset":1099,"startLine":64,"endLine":64,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1100,"endOffset":1100,"startLine":64,"endLine":64,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1101,"endOffset":1101,"startLine":64,"endLine":64,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1103,"endOffset":1103,"startLine":65,"endLine":65,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1104,"endOffset":1104,"startLine":65,"endLine":65,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1107,"endOffset":1108,"startLine":67,"endLine":67,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1110,"endOffset":1110,"startLine":67,"endLine":67,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1111,"endOffset":1114,"startLine":67,"endLine":67,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1115,"endOffset":1115,"startLine":67,"endLine":67,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1117,"endOffset":1117,"startLine":67,"endLine":67,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1121,"endOffset":1125,"startLine":68,"endLine":68,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1126,"endOffset":1126,"startLine":68,"endLine":68,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1127,"endOffset":1132,"startLine":68,"endLine":68,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1133,"endOffset":1133,"startLine":68,"endLine":68,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1134,"endOffset":1134,"startLine":68,"endLine":68,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1136,"endOffset":1136,"startLine":69,"endLine":69,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1138,"endOffset":1141,"startLine":69,"endLine":69,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"if","startOffset":1143,"endOffset":1144,"startLine":69,"endLine":69,"startColumn":8,"endColumn":9,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1146,"endOffset":1146,"startLine":69,"endLine":69,"startColumn":11,"endColumn":11,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1147,"endOffset":1150,"startLine":69,"endLine":69,"startColumn":12,"endColumn":15,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1151,"endOffset":1151,"startLine":69,"endLine":69,"startColumn":16,"endColumn":16,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1153,"endOffset":1153,"startLine":69,"endLine":69,"startColumn":18,"endColumn":18,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1157,"endOffset":1161,"startLine":70,"endLine":70,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1162,"endOffset":1162,"startLine":70,"endLine":70,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1163,"endOffset":1168,"startLine":70,"endLine":70,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1169,"endOffset":1169,"startLine":70,"endLine":70,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1170,"endOffset":1170,"startLine":70,"endLine":70,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1172,"endOffset":1172,"startLine":71,"endLine":71,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1174,"endOffset":1177,"startLine":71,"endLine":71,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"{","startOffset":1179,"endOffset":1179,"startLine":71,"endLine":71,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1183,"endOffset":1187,"startLine":72,"endLine":72,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1188,"endOffset":1188,"startLine":72,"endLine":72,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1189,"endOffset":1194,"startLine":72,"endLine":72,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1195,"endOffset":1195,"startLine":72,"endLine":72,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1196,"endOffset":1196,"startLine":72,"endLine":72,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1198,"endOffset":1198,"startLine":73,"endLine":73,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1199,"endOffset":1199,"startLine":73,"endLine":73,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1202,"endOffset":1203,"startLine":75,"endLine":75,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1205,"endOffset":1205,"startLine":75,"endLine":75,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1206,"endOffset":1209,"startLine":75,"endLine":75,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1210,"endOffset":1210,"startLine":75,"endLine":75,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1212,"endOffset":1212,"startLine":75,"endLine":75,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1216,"endOffset":1220,"startLine":76,"endLine":76,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1221,"endOffset":1221,"startLine":76,"endLine":76,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1222,"endOffset":1227,"startLine":76,"endLine":76,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1228,"endOffset":1228,"startLine":76,"endLine":76,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1229,"endOffset":1229,"startLine":76,"endLine":76,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1231,"endOffset":1231,"startLine":77,"endLine":77,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"else","startOffset":1233,"endOffset":1236,"startLine":77,"endLine":77,"startColumn":3,"endColumn":6,"tokenTypeIdx":22,"tokenType":"ElseToken"},{"image":"print","startOffset":1238,"endOffset":1242,"startLine":77,"endLine":77,"startColumn":8,"endColumn":12,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1243,"endOffset":1243,"startLine":77,"endLine":77,"startColumn":13,"endColumn":13,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1244,"endOffset":1249,"startLine":77,"endLine":77,"startColumn":14,"endColumn":19,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1250,"endOffset":1250,"startLine":77,"endLine":77,"startColumn":20,"endColumn":20,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1251,"endOffset":1251,"startLine":77,"endLine":77,"startColumn":21,"endColumn":21,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"if","startOffset":1254,"endOffset":1255,"startLine":79,"endLine":79,"startColumn":1,"endColumn":2,"tokenTypeIdx":21,"tokenType":"IfToken"},{"image":"(","startOffset":1257,"endOffset":1257,"startLine":79,"endLine":79,"startColumn":4,"endColumn":4,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"true","startOffset":1258,"endOffset":1261,"startLine":79,"endLine":79,"startColumn":5,"endColumn":8,"tokenTypeIdx":40,"tokenType":"Constant"},{"image":")","startOffset":1262,"endOffset":1262,"startLine":79,"endLine":79,"startColumn":9,"endColumn":9,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"{","startOffset":1264,"endOffset":1264,"startLine":79,"endLine":79,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1268,"endOffset":1272,"startLine":80,"endLine":80,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1273,"endOffset":1273,"startLine":80,"endLine":80,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1274,"endOffset":1279,"startLine":80,"endLine":80,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1280,"endOffset":1280,"startLine":80,"endLine":80,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1281,"endOffset":1281,"startLine":80,"endLine":80,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1283,"endOffset":1283,"startLine":81,"endLine":81,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1284,"endOffset":1284,"startLine":81,"endLine":81,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"print","startOffset":1309,"endOffset":1313,"startLine":83,"endLine":83,"startColumn":1,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1314,"endOffset":1314,"startLine":83,"endLine":83,"startColumn":6,"endColumn":6,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1315,"endOffset":1320,"startLine":83,"endLine":83,"startColumn":7,"endColumn":12,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1321,"endOffset":1321,"startLine":83,"endLine":83,"startColumn":13,"endColumn":13,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1322,"endOffset":1322,"startLine":83,"endLine":83,"startColumn":14,"endColumn":14,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"f","startOffset":1324,"endOffset":1324,"startLine":84,"endLine":84,"startColumn":1,"endColumn":1,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1325,"endOffset":1325,"startLine":84,"endLine":84,"startColumn":2,"endColumn":2,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":1326,"endOffset":1326,"startLine":84,"endLine":84,"startColumn":3,"endColumn":3,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1327,"endOffset":1327,"startLine":84,"endLine":84,"startColumn":4,"endColumn":4,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"@wasm.i32.add","startOffset":1329,"endOffset":1341,"startLine":85,"endLine":85,"startColumn":1,"endColumn":13,"tokenTypeIdx":41,"tokenType":"Wasm Instruction Call"},{"image":"(","startOffset":1342,"endOffset":1342,"startLine":85,"endLine":85,"startColumn":14,"endColumn":14,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1n","startOffset":1343,"endOffset":1344,"startLine":85,"endLine":85,"startColumn":15,"endColumn":16,"tokenTypeIdx":33,"tokenType":"I32"},{"image":",","startOffset":1345,"endOffset":1345,"startLine":85,"endLine":85,"startColumn":17,"endColumn":17,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"1n","startOffset":1347,"endOffset":1348,"startLine":85,"endLine":85,"startColumn":19,"endColumn":20,"tokenTypeIdx":33,"tokenType":"I32"},{"image":")","startOffset":1349,"endOffset":1349,"startLine":85,"endLine":85,"startColumn":21,"endColumn":21,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1350,"endOffset":1350,"startLine":85,"endLine":85,"startColumn":22,"endColumn":22,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1382,"endOffset":1384,"startLine":87,"endLine":87,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"c","startOffset":1386,"endOffset":1386,"startLine":87,"endLine":87,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1387,"endOffset":1387,"startLine":87,"endLine":87,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":1389,"endOffset":1394,"startLine":87,"endLine":87,"startColumn":8,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1396,"endOffset":1396,"startLine":87,"endLine":87,"startColumn":15,"endColumn":15,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":1398,"endOffset":1398,"startLine":87,"endLine":87,"startColumn":17,"endColumn":17,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1400,"endOffset":1400,"startLine":87,"endLine":87,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"(","startOffset":1402,"endOffset":1402,"startLine":87,"endLine":87,"startColumn":21,"endColumn":21,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1","startOffset":1403,"endOffset":1403,"startLine":87,"endLine":87,"startColumn":22,"endColumn":22,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1405,"endOffset":1405,"startLine":87,"endLine":87,"startColumn":24,"endColumn":24,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1407,"endOffset":1407,"startLine":87,"endLine":87,"startColumn":26,"endColumn":26,"tokenTypeIdx":39,"tokenType":"Number"},{"image":")","startOffset":1408,"endOffset":1408,"startLine":87,"endLine":87,"startColumn":27,"endColumn":27,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"+","startOffset":1410,"endOffset":1410,"startLine":87,"endLine":87,"startColumn":29,"endColumn":29,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1412,"endOffset":1412,"startLine":87,"endLine":87,"startColumn":31,"endColumn":31,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1414,"endOffset":1414,"startLine":87,"endLine":87,"startColumn":33,"endColumn":33,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1416,"endOffset":1416,"startLine":87,"endLine":87,"startColumn":35,"endColumn":35,"tokenTypeIdx":39,"tokenType":"Number"},{"image":"+","startOffset":1418,"endOffset":1418,"startLine":87,"endLine":87,"startColumn":37,"endColumn":37,"tokenTypeIdx":67,"tokenType":"TknAdd"},{"image":"1","startOffset":1420,"endOffset":1420,"startLine":87,"endLine":87,"startColumn":39,"endColumn":39,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":1421,"endOffset":1421,"startLine":87,"endLine":87,"startColumn":40,"endColumn":40,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"c","startOffset":1423,"endOffset":1423,"startLine":88,"endLine":88,"startColumn":1,"endColumn":1,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1425,"endOffset":1425,"startLine":88,"endLine":88,"startColumn":3,"endColumn":3,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":1427,"endOffset":1427,"startLine":88,"endLine":88,"startColumn":5,"endColumn":5,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":1428,"endOffset":1428,"startLine":88,"endLine":88,"startColumn":6,"endColumn":6,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1430,"endOffset":1432,"startLine":89,"endLine":89,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"d","startOffset":1434,"endOffset":1434,"startLine":89,"endLine":89,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1435,"endOffset":1435,"startLine":89,"endLine":89,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":1437,"endOffset":1442,"startLine":89,"endLine":89,"startColumn":8,"endColumn":13,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1444,"endOffset":1444,"startLine":89,"endLine":89,"startColumn":15,"endColumn":15,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"a","startOffset":1446,"endOffset":1446,"startLine":89,"endLine":89,"startColumn":17,"endColumn":17,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1447,"endOffset":1447,"startLine":89,"endLine":89,"startColumn":18,"endColumn":18,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1449,"endOffset":1451,"startLine":90,"endLine":90,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"e","startOffset":1453,"endOffset":1453,"startLine":90,"endLine":90,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1454,"endOffset":1454,"startLine":90,"endLine":90,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1456,"endOffset":1458,"startLine":90,"endLine":90,"startColumn":8,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1460,"endOffset":1460,"startLine":90,"endLine":90,"startColumn":12,"endColumn":12,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"objectTest3","startOffset":1462,"endOffset":1472,"startLine":90,"endLine":90,"startColumn":14,"endColumn":24,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":".","startOffset":1473,"endOffset":1473,"startLine":90,"endLine":90,"startColumn":25,"endColumn":25,"tokenTypeIdx":50,"tokenType":"Period"},{"image":"field3","startOffset":1474,"endOffset":1479,"startLine":90,"endLine":90,"startColumn":26,"endColumn":31,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1480,"endOffset":1480,"startLine":90,"endLine":90,"startColumn":32,"endColumn":32,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"let","startOffset":1482,"endOffset":1484,"startLine":91,"endLine":91,"startColumn":1,"endColumn":3,"tokenTypeIdx":20,"tokenType":"LetToken"},{"image":"z","startOffset":1486,"endOffset":1486,"startLine":91,"endLine":91,"startColumn":5,"endColumn":5,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1487,"endOffset":1487,"startLine":91,"endLine":91,"startColumn":6,"endColumn":6,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Function","startOffset":1489,"endOffset":1496,"startLine":91,"endLine":91,"startColumn":8,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1498,"endOffset":1498,"startLine":91,"endLine":91,"startColumn":17,"endColumn":17,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"(","startOffset":1500,"endOffset":1500,"startLine":91,"endLine":91,"startColumn":19,"endColumn":19,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"g","startOffset":1501,"endOffset":1501,"startLine":91,"endLine":91,"startColumn":20,"endColumn":20,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1502,"endOffset":1502,"startLine":91,"endLine":91,"startColumn":21,"endColumn":21,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1504,"endOffset":1506,"startLine":91,"endLine":91,"startColumn":23,"endColumn":25,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1507,"endOffset":1507,"startLine":91,"endLine":91,"startColumn":26,"endColumn":26,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":":","startOffset":1508,"endOffset":1508,"startLine":91,"endLine":91,"startColumn":27,"endColumn":27,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1510,"endOffset":1512,"startLine":91,"endLine":91,"startColumn":29,"endColumn":31,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1514,"endOffset":1515,"startLine":91,"endLine":91,"startColumn":33,"endColumn":34,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"{","startOffset":1517,"endOffset":1517,"startLine":91,"endLine":91,"startColumn":36,"endColumn":36,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"return","startOffset":1521,"endOffset":1526,"startLine":92,"endLine":92,"startColumn":3,"endColumn":8,"tokenTypeIdx":30,"tokenType":"ReturnToken"},{"image":"(","startOffset":1527,"endOffset":1527,"startLine":92,"endLine":92,"startColumn":9,"endColumn":9,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"g","startOffset":1528,"endOffset":1528,"startLine":92,"endLine":92,"startColumn":10,"endColumn":10,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1529,"endOffset":1529,"startLine":92,"endLine":92,"startColumn":11,"endColumn":11,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1530,"endOffset":1530,"startLine":92,"endLine":92,"startColumn":12,"endColumn":12,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1532,"endOffset":1532,"startLine":93,"endLine":93,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1533,"endOffset":1533,"startLine":93,"endLine":93,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"const","startOffset":1535,"endOffset":1539,"startLine":94,"endLine":94,"startColumn":1,"endColumn":5,"tokenTypeIdx":19,"tokenType":"ConstToken"},{"image":"h","startOffset":1541,"endOffset":1541,"startLine":94,"endLine":94,"startColumn":7,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1542,"endOffset":1542,"startLine":94,"endLine":94,"startColumn":8,"endColumn":8,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":1544,"endOffset":1549,"startLine":94,"endLine":94,"startColumn":10,"endColumn":15,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1551,"endOffset":1551,"startLine":94,"endLine":94,"startColumn":17,"endColumn":17,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":1553,"endOffset":1553,"startLine":94,"endLine":94,"startColumn":19,"endColumn":19,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":1554,"endOffset":1554,"startLine":94,"endLine":94,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"(","startOffset":1556,"endOffset":1556,"startLine":95,"endLine":95,"startColumn":1,"endColumn":1,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"(","startOffset":1557,"endOffset":1557,"startLine":95,"endLine":95,"startColumn":2,"endColumn":2,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":1558,"endOffset":1558,"startLine":95,"endLine":95,"startColumn":3,"endColumn":3,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":":","startOffset":1559,"endOffset":1559,"startLine":95,"endLine":95,"startColumn":4,"endColumn":4,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"i32","startOffset":1561,"endOffset":1563,"startLine":95,"endLine":95,"startColumn":6,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1565,"endOffset":1566,"startLine":95,"endLine":95,"startColumn":10,"endColumn":11,"tokenTypeIdx":64,"tokenType":"TknArrow"},{"image":"{","startOffset":1568,"endOffset":1568,"startLine":95,"endLine":95,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"print","startOffset":1572,"endOffset":1576,"startLine":96,"endLine":96,"startColumn":3,"endColumn":7,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1577,"endOffset":1577,"startLine":96,"endLine":96,"startColumn":8,"endColumn":8,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1578,"endOffset":1583,"startLine":96,"endLine":96,"startColumn":9,"endColumn":14,"tokenTypeIdx":32,"tokenType":"String"},{"image":")","startOffset":1584,"endOffset":1584,"startLine":96,"endLine":96,"startColumn":15,"endColumn":15,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1585,"endOffset":1585,"startLine":96,"endLine":96,"startColumn":16,"endColumn":16,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"return","startOffset":1589,"endOffset":1594,"startLine":97,"endLine":97,"startColumn":3,"endColumn":8,"tokenTypeIdx":30,"tokenType":"ReturnToken"},{"image":"(","startOffset":1595,"endOffset":1595,"startLine":97,"endLine":97,"startColumn":9,"endColumn":9,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"1n","startOffset":1596,"endOffset":1597,"startLine":97,"endLine":97,"startColumn":10,"endColumn":11,"tokenTypeIdx":33,"tokenType":"I32"},{"image":")","startOffset":1598,"endOffset":1598,"startLine":97,"endLine":97,"startColumn":12,"endColumn":12,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1599,"endOffset":1599,"startLine":97,"endLine":97,"startColumn":13,"endColumn":13,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1601,"endOffset":1601,"startLine":98,"endLine":98,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":")","startOffset":1602,"endOffset":1602,"startLine":98,"endLine":98,"startColumn":2,"endColumn":2,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"(","startOffset":1603,"endOffset":1603,"startLine":98,"endLine":98,"startColumn":3,"endColumn":3,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":")","startOffset":1604,"endOffset":1604,"startLine":98,"endLine":98,"startColumn":4,"endColumn":4,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":";","startOffset":1605,"endOffset":1605,"startLine":98,"endLine":98,"startColumn":5,"endColumn":5,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":1625,"endOffset":1633,"startLine":100,"endLine":100,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_Has_TestInterface","startOffset":1635,"endOffset":1664,"startLine":100,"endLine":100,"startColumn":11,"endColumn":40,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1665,"endOffset":1665,"startLine":100,"endLine":100,"startColumn":41,"endColumn":41,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1666,"endOffset":1676,"startLine":100,"endLine":100,"startColumn":42,"endColumn":52,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1677,"endOffset":1677,"startLine":100,"endLine":100,"startColumn":53,"endColumn":53,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1679,"endOffset":1679,"startLine":100,"endLine":100,"startColumn":55,"endColumn":55,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"test","startOffset":1683,"endOffset":1686,"startLine":101,"endLine":101,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1687,"endOffset":1687,"startLine":101,"endLine":101,"startColumn":7,"endColumn":7,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1689,"endOffset":1699,"startLine":101,"endLine":101,"startColumn":9,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1700,"endOffset":1700,"startLine":101,"endLine":101,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1702,"endOffset":1702,"startLine":102,"endLine":102,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1703,"endOffset":1703,"startLine":102,"endLine":102,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"enum","startOffset":1705,"endOffset":1708,"startLine":103,"endLine":103,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TknEnum"},{"image":"OptionalSemi_Has_EnumTest","startOffset":1710,"endOffset":1734,"startLine":103,"endLine":103,"startColumn":6,"endColumn":30,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1735,"endOffset":1735,"startLine":103,"endLine":103,"startColumn":31,"endColumn":31,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1736,"endOffset":1746,"startLine":103,"endLine":103,"startColumn":32,"endColumn":42,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1747,"endOffset":1747,"startLine":103,"endLine":103,"startColumn":43,"endColumn":43,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1749,"endOffset":1749,"startLine":103,"endLine":103,"startColumn":45,"endColumn":45,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1753,"endOffset":1756,"startLine":104,"endLine":104,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1757,"endOffset":1757,"startLine":104,"endLine":104,"startColumn":7,"endColumn":7,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1758,"endOffset":1768,"startLine":104,"endLine":104,"startColumn":8,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1769,"endOffset":1769,"startLine":104,"endLine":104,"startColumn":19,"endColumn":19,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"}","startOffset":1771,"endOffset":1771,"startLine":105,"endLine":105,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":1772,"endOffset":1772,"startLine":105,"endLine":105,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":1774,"endOffset":1782,"startLine":106,"endLine":106,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_TestInterface","startOffset":1784,"endOffset":1809,"startLine":106,"endLine":106,"startColumn":11,"endColumn":36,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1810,"endOffset":1810,"startLine":106,"endLine":106,"startColumn":37,"endColumn":37,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1811,"endOffset":1821,"startLine":106,"endLine":106,"startColumn":38,"endColumn":48,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1822,"endOffset":1822,"startLine":106,"endLine":106,"startColumn":49,"endColumn":49,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1824,"endOffset":1824,"startLine":106,"endLine":106,"startColumn":51,"endColumn":51,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"test","startOffset":1828,"endOffset":1831,"startLine":107,"endLine":107,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":1832,"endOffset":1832,"startLine":107,"endLine":107,"startColumn":7,"endColumn":7,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1834,"endOffset":1844,"startLine":107,"endLine":107,"startColumn":9,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1845,"endOffset":1845,"startLine":107,"endLine":107,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":1847,"endOffset":1847,"startLine":108,"endLine":108,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"enum","startOffset":1849,"endOffset":1852,"startLine":109,"endLine":109,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TknEnum"},{"image":"OptionalSemi_EnumTest","startOffset":1854,"endOffset":1874,"startLine":109,"endLine":109,"startColumn":6,"endColumn":26,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1875,"endOffset":1875,"startLine":109,"endLine":109,"startColumn":27,"endColumn":27,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1876,"endOffset":1886,"startLine":109,"endLine":109,"startColumn":28,"endColumn":38,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1887,"endOffset":1887,"startLine":109,"endLine":109,"startColumn":39,"endColumn":39,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":1889,"endOffset":1889,"startLine":109,"endLine":109,"startColumn":41,"endColumn":41,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1893,"endOffset":1896,"startLine":110,"endLine":110,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1897,"endOffset":1897,"startLine":110,"endLine":110,"startColumn":7,"endColumn":7,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1898,"endOffset":1908,"startLine":110,"endLine":110,"startColumn":8,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":1909,"endOffset":1909,"startLine":110,"endLine":110,"startColumn":19,"endColumn":19,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"}","startOffset":1911,"endOffset":1911,"startLine":111,"endLine":111,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"type","startOffset":1931,"endOffset":1934,"startLine":113,"endLine":113,"startColumn":1,"endColumn":4,"tokenTypeIdx":29,"tokenType":"TypeToken"},{"image":"Generic_TypeTest","startOffset":1936,"endOffset":1951,"startLine":113,"endLine":113,"startColumn":6,"endColumn":21,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1952,"endOffset":1952,"startLine":113,"endLine":113,"startColumn":22,"endColumn":22,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":1953,"endOffset":1963,"startLine":113,"endLine":113,"startColumn":23,"endColumn":33,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":1964,"endOffset":1964,"startLine":113,"endLine":113,"startColumn":34,"endColumn":34,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"GenericTest1","startOffset":1966,"endOffset":1977,"startLine":113,"endLine":113,"startColumn":36,"endColumn":47,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":1978,"endOffset":1978,"startLine":113,"endLine":113,"startColumn":48,"endColumn":48,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"=","startOffset":1980,"endOffset":1980,"startLine":113,"endLine":113,"startColumn":50,"endColumn":50,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"String","startOffset":1982,"endOffset":1987,"startLine":113,"endLine":113,"startColumn":52,"endColumn":57,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":1988,"endOffset":1988,"startLine":113,"endLine":113,"startColumn":58,"endColumn":58,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"interface","startOffset":1990,"endOffset":1998,"startLine":114,"endLine":114,"startColumn":1,"endColumn":9,"tokenTypeIdx":28,"tokenType":"InterfaceToken"},{"image":"Generic_TestInterface","startOffset":2000,"endOffset":2020,"startLine":114,"endLine":114,"startColumn":11,"endColumn":31,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2021,"endOffset":2021,"startLine":114,"endLine":114,"startColumn":32,"endColumn":32,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":2022,"endOffset":2032,"startLine":114,"endLine":114,"startColumn":33,"endColumn":43,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":2033,"endOffset":2033,"startLine":114,"endLine":114,"startColumn":44,"endColumn":44,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":2035,"endOffset":2035,"startLine":114,"endLine":114,"startColumn":46,"endColumn":46,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"test","startOffset":2039,"endOffset":2042,"startLine":115,"endLine":115,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":2043,"endOffset":2043,"startLine":115,"endLine":115,"startColumn":7,"endColumn":7,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"GenericTest","startOffset":2045,"endOffset":2055,"startLine":115,"endLine":115,"startColumn":9,"endColumn":19,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":2056,"endOffset":2056,"startLine":115,"endLine":115,"startColumn":20,"endColumn":20,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"}","startOffset":2058,"endOffset":2058,"startLine":116,"endLine":116,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"enum","startOffset":2060,"endOffset":2063,"startLine":117,"endLine":117,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TknEnum"},{"image":"Generic_EnumTest","startOffset":2065,"endOffset":2080,"startLine":117,"endLine":117,"startColumn":6,"endColumn":21,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2081,"endOffset":2081,"startLine":117,"endLine":117,"startColumn":22,"endColumn":22,"tokenTypeIdx":61,"tokenType":"TknComparisonLessThan"},{"image":"GenericTest","startOffset":2082,"endOffset":2092,"startLine":117,"endLine":117,"startColumn":23,"endColumn":33,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":">","startOffset":2093,"endOffset":2093,"startLine":117,"endLine":117,"startColumn":34,"endColumn":34,"tokenTypeIdx":60,"tokenType":"TknComparisonGreaterThan"},{"image":"{","startOffset":2095,"endOffset":2095,"startLine":117,"endLine":117,"startColumn":36,"endColumn":36,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"Test","startOffset":2099,"endOffset":2102,"startLine":118,"endLine":118,"startColumn":3,"endColumn":6,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"(","startOffset":2103,"endOffset":2103,"startLine":118,"endLine":118,"startColumn":7,"endColumn":7,"tokenTypeIdx":42,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":2104,"endOffset":2114,"startLine":118,"endLine":118,"startColumn":8,"endColumn":18,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":")","startOffset":2115,"endOffset":2115,"startLine":118,"endLine":118,"startColumn":19,"endColumn":19,"tokenTypeIdx":43,"tokenType":"RightParen"},{"image":"}","startOffset":2117,"endOffset":2117,"startLine":119,"endLine":119,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":"export","startOffset":2135,"endOffset":2140,"startLine":121,"endLine":121,"startColumn":1,"endColumn":6,"tokenTypeIdx":18,"tokenType":"ExportToken"},{"image":"const","startOffset":2142,"endOffset":2146,"startLine":121,"endLine":121,"startColumn":8,"endColumn":12,"tokenTypeIdx":19,"tokenType":"ConstToken"},{"image":"y","startOffset":2148,"endOffset":2148,"startLine":121,"endLine":121,"startColumn":14,"endColumn":14,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":":","startOffset":2149,"endOffset":2149,"startLine":121,"endLine":121,"startColumn":15,"endColumn":15,"tokenTypeIdx":51,"tokenType":"Colon"},{"image":"Number","startOffset":2151,"endOffset":2156,"startLine":121,"endLine":121,"startColumn":17,"endColumn":22,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"=","startOffset":2158,"endOffset":2158,"startLine":121,"endLine":121,"startColumn":24,"endColumn":24,"tokenTypeIdx":66,"tokenType":"TknEqual"},{"image":"1","startOffset":2160,"endOffset":2160,"startLine":121,"endLine":121,"startColumn":26,"endColumn":26,"tokenTypeIdx":39,"tokenType":"Number"},{"image":";","startOffset":2161,"endOffset":2161,"startLine":121,"endLine":121,"startColumn":27,"endColumn":27,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"export","startOffset":2163,"endOffset":2168,"startLine":122,"endLine":122,"startColumn":1,"endColumn":6,"tokenTypeIdx":18,"tokenType":"ExportToken"},{"image":"h","startOffset":2170,"endOffset":2170,"startLine":122,"endLine":122,"startColumn":8,"endColumn":8,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":";","startOffset":2171,"endOffset":2171,"startLine":122,"endLine":122,"startColumn":9,"endColumn":9,"tokenTypeIdx":52,"tokenType":"Semicolon"},{"image":"export","startOffset":2173,"endOffset":2178,"startLine":123,"endLine":123,"startColumn":1,"endColumn":6,"tokenTypeIdx":18,"tokenType":"ExportToken"},{"image":"{","startOffset":2180,"endOffset":2180,"startLine":123,"endLine":123,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftBrace"},{"image":"c","startOffset":2184,"endOffset":2184,"startLine":124,"endLine":124,"startColumn":3,"endColumn":3,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":2185,"endOffset":2185,"startLine":124,"endLine":124,"startColumn":4,"endColumn":4,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"d","startOffset":2189,"endOffset":2189,"startLine":125,"endLine":125,"startColumn":3,"endColumn":3,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":",","startOffset":2190,"endOffset":2190,"startLine":125,"endLine":125,"startColumn":4,"endColumn":4,"tokenTypeIdx":48,"tokenType":"Comma"},{"image":"z","startOffset":2194,"endOffset":2194,"startLine":126,"endLine":126,"startColumn":3,"endColumn":3,"tokenTypeIdx":82,"tokenType":"TknIdentifier"},{"image":"}","startOffset":2196,"endOffset":2196,"startLine":127,"endLine":127,"startColumn":1,"endColumn":1,"tokenTypeIdx":45,"tokenType":"RightBrace"},{"image":";","startOffset":2197,"endOffset":2197,"startLine":127,"endLine":127,"startColumn":2,"endColumn":2,"tokenTypeIdx":52,"tokenType":"Semicolon"}],"groups":{"Reserved":[]},"errors":[]} \ No newline at end of file +{"tokens":[{"image":"import","startOffset":18,"endOffset":23,"startLine":2,"endLine":2,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"a","startOffset":25,"endOffset":25,"startLine":2,"endLine":2,"startColumn":8,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":27,"endOffset":30,"startLine":2,"endLine":2,"startColumn":10,"endColumn":13,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'test'","startOffset":32,"endOffset":37,"startLine":2,"endLine":2,"startColumn":15,"endColumn":20,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":38,"endOffset":38,"startLine":2,"endLine":2,"startColumn":21,"endColumn":21,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"import","startOffset":40,"endOffset":45,"startLine":3,"endLine":3,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"wasm","startOffset":47,"endOffset":50,"startLine":3,"endLine":3,"startColumn":8,"endColumn":11,"tokenTypeIdx":18,"tokenType":"WasmToken"},{"image":"print","startOffset":52,"endOffset":56,"startLine":3,"endLine":3,"startColumn":13,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":57,"endOffset":57,"startLine":3,"endLine":3,"startColumn":18,"endColumn":18,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"(","startOffset":59,"endOffset":59,"startLine":3,"endLine":3,"startColumn":20,"endColumn":20,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"String","startOffset":60,"endOffset":65,"startLine":3,"endLine":3,"startColumn":21,"endColumn":26,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":66,"endOffset":66,"startLine":3,"endLine":3,"startColumn":27,"endColumn":27,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":68,"endOffset":69,"startLine":3,"endLine":3,"startColumn":29,"endColumn":30,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"Void","startOffset":71,"endOffset":74,"startLine":3,"endLine":3,"startColumn":32,"endColumn":35,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":76,"endOffset":79,"startLine":3,"endLine":3,"startColumn":37,"endColumn":40,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'print'","startOffset":81,"endOffset":87,"startLine":3,"endLine":3,"startColumn":42,"endColumn":48,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":88,"endOffset":88,"startLine":3,"endLine":3,"startColumn":49,"endColumn":49,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"import","startOffset":90,"endOffset":95,"startLine":4,"endLine":4,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"wasm","startOffset":97,"endOffset":100,"startLine":4,"endLine":4,"startColumn":8,"endColumn":11,"tokenTypeIdx":18,"tokenType":"WasmToken"},{"image":"f","startOffset":102,"endOffset":102,"startLine":4,"endLine":4,"startColumn":13,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":103,"endOffset":103,"startLine":4,"endLine":4,"startColumn":14,"endColumn":14,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"(","startOffset":105,"endOffset":105,"startLine":4,"endLine":4,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":106,"endOffset":106,"startLine":4,"endLine":4,"startColumn":17,"endColumn":17,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":108,"endOffset":109,"startLine":4,"endLine":4,"startColumn":19,"endColumn":20,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"Void","startOffset":111,"endOffset":114,"startLine":4,"endLine":4,"startColumn":22,"endColumn":25,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":116,"endOffset":119,"startLine":4,"endLine":4,"startColumn":27,"endColumn":30,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'print'","startOffset":121,"endOffset":127,"startLine":4,"endLine":4,"startColumn":32,"endColumn":38,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":128,"endOffset":128,"startLine":4,"endLine":4,"startColumn":39,"endColumn":39,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"import","startOffset":130,"endOffset":135,"startLine":5,"endLine":5,"startColumn":1,"endColumn":6,"tokenTypeIdx":17,"tokenType":"ImportToken"},{"image":"wasm","startOffset":137,"endOffset":140,"startLine":5,"endLine":5,"startColumn":8,"endColumn":11,"tokenTypeIdx":18,"tokenType":"WasmToken"},{"image":"b","startOffset":142,"endOffset":142,"startLine":5,"endLine":5,"startColumn":13,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":143,"endOffset":143,"startLine":5,"endLine":5,"startColumn":14,"endColumn":14,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":145,"endOffset":147,"startLine":5,"endLine":5,"startColumn":16,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"from","startOffset":149,"endOffset":152,"startLine":5,"endLine":5,"startColumn":20,"endColumn":23,"tokenTypeIdx":19,"tokenType":"FromToken"},{"image":"'test'","startOffset":154,"endOffset":159,"startLine":5,"endLine":5,"startColumn":25,"endColumn":30,"tokenTypeIdx":34,"tokenType":"String"},{"image":";","startOffset":160,"endOffset":160,"startLine":5,"endLine":5,"startColumn":31,"endColumn":31,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":199,"endOffset":202,"startLine":8,"endLine":8,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"A","startOffset":204,"endOffset":204,"startLine":8,"endLine":8,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":206,"endOffset":206,"startLine":8,"endLine":8,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":208,"endOffset":210,"startLine":8,"endLine":8,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":211,"endOffset":211,"startLine":8,"endLine":8,"startColumn":13,"endColumn":13,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":213,"endOffset":216,"startLine":9,"endLine":9,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"B","startOffset":218,"endOffset":218,"startLine":9,"endLine":9,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":220,"endOffset":220,"startLine":9,"endLine":9,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":222,"endOffset":224,"startLine":9,"endLine":9,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":226,"endOffset":226,"startLine":9,"endLine":9,"startColumn":14,"endColumn":14,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":228,"endOffset":230,"startLine":9,"endLine":9,"startColumn":16,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":232,"endOffset":232,"startLine":9,"endLine":9,"startColumn":20,"endColumn":20,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"u32","startOffset":234,"endOffset":236,"startLine":9,"endLine":9,"startColumn":22,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":238,"endOffset":238,"startLine":9,"endLine":9,"startColumn":26,"endColumn":26,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"u64","startOffset":240,"endOffset":242,"startLine":9,"endLine":9,"startColumn":28,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":244,"endOffset":244,"startLine":9,"endLine":9,"startColumn":32,"endColumn":32,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"f32","startOffset":246,"endOffset":248,"startLine":9,"endLine":9,"startColumn":34,"endColumn":36,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":250,"endOffset":250,"startLine":9,"endLine":9,"startColumn":38,"endColumn":38,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"f64","startOffset":252,"endOffset":254,"startLine":9,"endLine":9,"startColumn":40,"endColumn":42,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":255,"endOffset":255,"startLine":9,"endLine":9,"startColumn":43,"endColumn":43,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":257,"endOffset":260,"startLine":10,"endLine":10,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"C","startOffset":262,"endOffset":262,"startLine":10,"endLine":10,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":264,"endOffset":264,"startLine":10,"endLine":10,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":266,"endOffset":268,"startLine":10,"endLine":10,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":270,"endOffset":270,"startLine":10,"endLine":10,"startColumn":14,"endColumn":14,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"(","startOffset":272,"endOffset":272,"startLine":10,"endLine":10,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"i32","startOffset":273,"endOffset":275,"startLine":10,"endLine":10,"startColumn":17,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":276,"endOffset":276,"startLine":10,"endLine":10,"startColumn":20,"endColumn":20,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"i32","startOffset":278,"endOffset":280,"startLine":10,"endLine":10,"startColumn":22,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":282,"endOffset":282,"startLine":10,"endLine":10,"startColumn":26,"endColumn":26,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":284,"endOffset":286,"startLine":10,"endLine":10,"startColumn":28,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":287,"endOffset":287,"startLine":10,"endLine":10,"startColumn":31,"endColumn":31,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":289,"endOffset":290,"startLine":10,"endLine":10,"startColumn":33,"endColumn":34,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"u32","startOffset":292,"endOffset":294,"startLine":10,"endLine":10,"startColumn":36,"endColumn":38,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":296,"endOffset":296,"startLine":10,"endLine":10,"startColumn":40,"endColumn":40,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":298,"endOffset":300,"startLine":10,"endLine":10,"startColumn":42,"endColumn":44,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":301,"endOffset":301,"startLine":10,"endLine":10,"startColumn":45,"endColumn":45,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"type","startOffset":303,"endOffset":306,"startLine":11,"endLine":11,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"D","startOffset":308,"endOffset":308,"startLine":11,"endLine":11,"startColumn":6,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":310,"endOffset":310,"startLine":11,"endLine":11,"startColumn":8,"endColumn":8,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"i32","startOffset":312,"endOffset":314,"startLine":11,"endLine":11,"startColumn":10,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":316,"endOffset":316,"startLine":11,"endLine":11,"startColumn":14,"endColumn":14,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"(","startOffset":318,"endOffset":318,"startLine":11,"endLine":11,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"i32","startOffset":319,"endOffset":321,"startLine":11,"endLine":11,"startColumn":17,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":322,"endOffset":322,"startLine":11,"endLine":11,"startColumn":20,"endColumn":20,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"i32","startOffset":324,"endOffset":326,"startLine":11,"endLine":11,"startColumn":22,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":328,"endOffset":328,"startLine":11,"endLine":11,"startColumn":26,"endColumn":26,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":330,"endOffset":332,"startLine":11,"endLine":11,"startColumn":28,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":333,"endOffset":333,"startLine":11,"endLine":11,"startColumn":31,"endColumn":31,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"=>","startOffset":335,"endOffset":336,"startLine":11,"endLine":11,"startColumn":33,"endColumn":34,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"(","startOffset":338,"endOffset":338,"startLine":11,"endLine":11,"startColumn":36,"endColumn":36,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"u32","startOffset":339,"endOffset":341,"startLine":11,"endLine":11,"startColumn":37,"endColumn":39,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"|","startOffset":343,"endOffset":343,"startLine":11,"endLine":11,"startColumn":41,"endColumn":41,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"i64","startOffset":345,"endOffset":347,"startLine":11,"endLine":11,"startColumn":43,"endColumn":45,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":348,"endOffset":348,"startLine":11,"endLine":11,"startColumn":46,"endColumn":46,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"|","startOffset":350,"endOffset":350,"startLine":11,"endLine":11,"startColumn":48,"endColumn":48,"tokenTypeIdx":65,"tokenType":"TknUnion"},{"image":"f32","startOffset":352,"endOffset":354,"startLine":11,"endLine":11,"startColumn":50,"endColumn":52,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":355,"endOffset":355,"startLine":11,"endLine":11,"startColumn":53,"endColumn":53,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":357,"endOffset":365,"startLine":12,"endLine":12,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"E","startOffset":367,"endOffset":367,"startLine":12,"endLine":12,"startColumn":11,"endColumn":11,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"{","startOffset":369,"endOffset":369,"startLine":12,"endLine":12,"startColumn":13,"endColumn":13,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":373,"endOffset":378,"startLine":13,"endLine":13,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":379,"endOffset":379,"startLine":13,"endLine":13,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":381,"endOffset":383,"startLine":13,"endLine":13,"startColumn":11,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":384,"endOffset":384,"startLine":13,"endLine":13,"startColumn":14,"endColumn":14,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":388,"endOffset":390,"startLine":14,"endLine":14,"startColumn":3,"endColumn":5,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"field2","startOffset":392,"endOffset":397,"startLine":14,"endLine":14,"startColumn":7,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":398,"endOffset":398,"startLine":14,"endLine":14,"startColumn":13,"endColumn":13,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":400,"endOffset":402,"startLine":14,"endLine":14,"startColumn":15,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":403,"endOffset":403,"startLine":14,"endLine":14,"startColumn":18,"endColumn":18,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"field3","startOffset":407,"endOffset":412,"startLine":15,"endLine":15,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"?","startOffset":413,"endOffset":413,"startLine":15,"endLine":15,"startColumn":9,"endColumn":9,"tokenTypeIdx":64,"tokenType":"TknQuestionMark"},{"image":":","startOffset":414,"endOffset":414,"startLine":15,"endLine":15,"startColumn":10,"endColumn":10,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":416,"endOffset":418,"startLine":15,"endLine":15,"startColumn":12,"endColumn":14,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":419,"endOffset":419,"startLine":15,"endLine":15,"startColumn":15,"endColumn":15,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"field4","startOffset":423,"endOffset":428,"startLine":16,"endLine":16,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":429,"endOffset":429,"startLine":16,"endLine":16,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"{","startOffset":431,"endOffset":431,"startLine":16,"endLine":16,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":437,"endOffset":442,"startLine":17,"endLine":17,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":443,"endOffset":443,"startLine":17,"endLine":17,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":445,"endOffset":447,"startLine":17,"endLine":17,"startColumn":13,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":448,"endOffset":448,"startLine":17,"endLine":17,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":452,"endOffset":452,"startLine":18,"endLine":18,"startColumn":3,"endColumn":3,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":453,"endOffset":453,"startLine":18,"endLine":18,"startColumn":4,"endColumn":4,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":455,"endOffset":455,"startLine":19,"endLine":19,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":456,"endOffset":456,"startLine":19,"endLine":19,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":483,"endOffset":485,"startLine":21,"endLine":21,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"objectTest","startOffset":487,"endOffset":496,"startLine":21,"endLine":21,"startColumn":5,"endColumn":14,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":497,"endOffset":497,"startLine":21,"endLine":21,"startColumn":15,"endColumn":15,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"E","startOffset":499,"endOffset":499,"startLine":21,"endLine":21,"startColumn":17,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":501,"endOffset":501,"startLine":21,"endLine":21,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"{","startOffset":503,"endOffset":503,"startLine":21,"endLine":21,"startColumn":21,"endColumn":21,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":507,"endOffset":512,"startLine":22,"endLine":22,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":513,"endOffset":513,"startLine":22,"endLine":22,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":515,"endOffset":516,"startLine":22,"endLine":22,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":517,"endOffset":517,"startLine":22,"endLine":22,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field2","startOffset":521,"endOffset":526,"startLine":23,"endLine":23,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":527,"endOffset":527,"startLine":23,"endLine":23,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":529,"endOffset":530,"startLine":23,"endLine":23,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":531,"endOffset":531,"startLine":23,"endLine":23,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field3","startOffset":535,"endOffset":540,"startLine":24,"endLine":24,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":541,"endOffset":541,"startLine":24,"endLine":24,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":543,"endOffset":544,"startLine":24,"endLine":24,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":545,"endOffset":545,"startLine":24,"endLine":24,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field4","startOffset":549,"endOffset":554,"startLine":25,"endLine":25,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":555,"endOffset":555,"startLine":25,"endLine":25,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"{","startOffset":557,"endOffset":557,"startLine":25,"endLine":25,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":563,"endOffset":568,"startLine":26,"endLine":26,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":569,"endOffset":569,"startLine":26,"endLine":26,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":571,"endOffset":572,"startLine":26,"endLine":26,"startColumn":13,"endColumn":14,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"}","startOffset":576,"endOffset":576,"startLine":27,"endLine":27,"startColumn":3,"endColumn":3,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"}","startOffset":578,"endOffset":578,"startLine":28,"endLine":28,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":579,"endOffset":579,"startLine":28,"endLine":28,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":581,"endOffset":583,"startLine":29,"endLine":29,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"objectTest2","startOffset":585,"endOffset":595,"startLine":29,"endLine":29,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":596,"endOffset":596,"startLine":29,"endLine":29,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"E","startOffset":598,"endOffset":598,"startLine":29,"endLine":29,"startColumn":18,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":600,"endOffset":600,"startLine":29,"endLine":29,"startColumn":20,"endColumn":20,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"{","startOffset":602,"endOffset":602,"startLine":29,"endLine":29,"startColumn":22,"endColumn":22,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":606,"endOffset":611,"startLine":30,"endLine":30,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":612,"endOffset":612,"startLine":30,"endLine":30,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":614,"endOffset":615,"startLine":30,"endLine":30,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":616,"endOffset":616,"startLine":30,"endLine":30,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field2","startOffset":620,"endOffset":625,"startLine":31,"endLine":31,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":626,"endOffset":626,"startLine":31,"endLine":31,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":628,"endOffset":629,"startLine":31,"endLine":31,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":630,"endOffset":630,"startLine":31,"endLine":31,"startColumn":13,"endColumn":13,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field4","startOffset":634,"endOffset":639,"startLine":32,"endLine":32,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":640,"endOffset":640,"startLine":32,"endLine":32,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"{","startOffset":642,"endOffset":642,"startLine":32,"endLine":32,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"field1","startOffset":648,"endOffset":653,"startLine":33,"endLine":33,"startColumn":5,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":654,"endOffset":654,"startLine":33,"endLine":33,"startColumn":11,"endColumn":11,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":656,"endOffset":657,"startLine":33,"endLine":33,"startColumn":13,"endColumn":14,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"}","startOffset":661,"endOffset":661,"startLine":34,"endLine":34,"startColumn":3,"endColumn":3,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"}","startOffset":663,"endOffset":663,"startLine":35,"endLine":35,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":664,"endOffset":664,"startLine":35,"endLine":35,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":666,"endOffset":668,"startLine":36,"endLine":36,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"objectTest3","startOffset":670,"endOffset":680,"startLine":36,"endLine":36,"startColumn":5,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":681,"endOffset":681,"startLine":36,"endLine":36,"startColumn":16,"endColumn":16,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"E","startOffset":683,"endOffset":683,"startLine":36,"endLine":36,"startColumn":18,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":685,"endOffset":685,"startLine":36,"endLine":36,"startColumn":20,"endColumn":20,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"{","startOffset":687,"endOffset":687,"startLine":36,"endLine":36,"startColumn":22,"endColumn":22,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"...","startOffset":691,"endOffset":693,"startLine":37,"endLine":37,"startColumn":3,"endColumn":5,"tokenTypeIdx":51,"tokenType":"TknEllipsis"},{"image":"objectTest2","startOffset":694,"endOffset":704,"startLine":37,"endLine":37,"startColumn":6,"endColumn":16,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":705,"endOffset":705,"startLine":37,"endLine":37,"startColumn":17,"endColumn":17,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"field3","startOffset":709,"endOffset":714,"startLine":38,"endLine":38,"startColumn":3,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":715,"endOffset":715,"startLine":38,"endLine":38,"startColumn":9,"endColumn":9,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"1n","startOffset":717,"endOffset":718,"startLine":38,"endLine":38,"startColumn":11,"endColumn":12,"tokenTypeIdx":35,"tokenType":"I32"},{"image":"}","startOffset":720,"endOffset":720,"startLine":39,"endLine":39,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":721,"endOffset":721,"startLine":39,"endLine":39,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"objectTest","startOffset":723,"endOffset":732,"startLine":40,"endLine":40,"startColumn":1,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":734,"endOffset":734,"startLine":40,"endLine":40,"startColumn":12,"endColumn":12,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1n","startOffset":736,"endOffset":737,"startLine":40,"endLine":40,"startColumn":14,"endColumn":15,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":738,"endOffset":738,"startLine":40,"endLine":40,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"objectTest","startOffset":740,"endOffset":749,"startLine":41,"endLine":41,"startColumn":1,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":".","startOffset":750,"endOffset":750,"startLine":41,"endLine":41,"startColumn":11,"endColumn":11,"tokenTypeIdx":52,"tokenType":"Period"},{"image":"field2","startOffset":751,"endOffset":756,"startLine":41,"endLine":41,"startColumn":12,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":758,"endOffset":758,"startLine":41,"endLine":41,"startColumn":19,"endColumn":19,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"2n","startOffset":760,"endOffset":761,"startLine":41,"endLine":41,"startColumn":21,"endColumn":22,"tokenTypeIdx":35,"tokenType":"I32"},{"image":";","startOffset":762,"endOffset":762,"startLine":41,"endLine":41,"startColumn":23,"endColumn":23,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":788,"endOffset":789,"startLine":43,"endLine":43,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":791,"endOffset":791,"startLine":43,"endLine":43,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1","startOffset":792,"endOffset":792,"startLine":43,"endLine":43,"startColumn":5,"endColumn":5,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"==","startOffset":794,"endOffset":795,"startLine":43,"endLine":43,"startColumn":7,"endColumn":8,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"1","startOffset":797,"endOffset":797,"startLine":43,"endLine":43,"startColumn":10,"endColumn":10,"tokenTypeIdx":41,"tokenType":"Number"},{"image":")","startOffset":798,"endOffset":798,"startLine":43,"endLine":43,"startColumn":11,"endColumn":11,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":800,"endOffset":800,"startLine":43,"endLine":43,"startColumn":13,"endColumn":13,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":804,"endOffset":808,"startLine":44,"endLine":44,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":809,"endOffset":809,"startLine":44,"endLine":44,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'If Test'","startOffset":810,"endOffset":818,"startLine":44,"endLine":44,"startColumn":9,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":819,"endOffset":819,"startLine":44,"endLine":44,"startColumn":18,"endColumn":18,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":820,"endOffset":820,"startLine":44,"endLine":44,"startColumn":19,"endColumn":19,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":822,"endOffset":822,"startLine":45,"endLine":45,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":824,"endOffset":827,"startLine":45,"endLine":45,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"if","startOffset":829,"endOffset":830,"startLine":45,"endLine":45,"startColumn":8,"endColumn":9,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":832,"endOffset":832,"startLine":45,"endLine":45,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":833,"endOffset":838,"startLine":45,"endLine":45,"startColumn":12,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":"==","startOffset":840,"endOffset":841,"startLine":45,"endLine":45,"startColumn":19,"endColumn":20,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"'test'","startOffset":843,"endOffset":848,"startLine":45,"endLine":45,"startColumn":22,"endColumn":27,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":849,"endOffset":849,"startLine":45,"endLine":45,"startColumn":28,"endColumn":28,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":851,"endOffset":851,"startLine":45,"endLine":45,"startColumn":30,"endColumn":30,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":855,"endOffset":859,"startLine":46,"endLine":46,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":860,"endOffset":860,"startLine":46,"endLine":46,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'Else If Test'","startOffset":861,"endOffset":874,"startLine":46,"endLine":46,"startColumn":9,"endColumn":22,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":875,"endOffset":875,"startLine":46,"endLine":46,"startColumn":23,"endColumn":23,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":876,"endOffset":876,"startLine":46,"endLine":46,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":878,"endOffset":878,"startLine":47,"endLine":47,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":880,"endOffset":883,"startLine":47,"endLine":47,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"{","startOffset":885,"endOffset":885,"startLine":47,"endLine":47,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":889,"endOffset":893,"startLine":48,"endLine":48,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":894,"endOffset":894,"startLine":48,"endLine":48,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'Else Test'","startOffset":895,"endOffset":905,"startLine":48,"endLine":48,"startColumn":9,"endColumn":19,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":906,"endOffset":906,"startLine":48,"endLine":48,"startColumn":20,"endColumn":20,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":907,"endOffset":907,"startLine":48,"endLine":48,"startColumn":21,"endColumn":21,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":909,"endOffset":909,"startLine":49,"endLine":49,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":910,"endOffset":910,"startLine":49,"endLine":49,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":912,"endOffset":913,"startLine":50,"endLine":50,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":915,"endOffset":915,"startLine":50,"endLine":50,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1","startOffset":916,"endOffset":916,"startLine":50,"endLine":50,"startColumn":5,"endColumn":5,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"==","startOffset":918,"endOffset":919,"startLine":50,"endLine":50,"startColumn":7,"endColumn":8,"tokenTypeIdx":60,"tokenType":"TknOperator150"},{"image":"1","startOffset":921,"endOffset":921,"startLine":50,"endLine":50,"startColumn":10,"endColumn":10,"tokenTypeIdx":41,"tokenType":"Number"},{"image":")","startOffset":922,"endOffset":922,"startLine":50,"endLine":50,"startColumn":11,"endColumn":11,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"print","startOffset":924,"endOffset":928,"startLine":50,"endLine":50,"startColumn":13,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":929,"endOffset":929,"startLine":50,"endLine":50,"startColumn":18,"endColumn":18,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":930,"endOffset":935,"startLine":50,"endLine":50,"startColumn":19,"endColumn":24,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":936,"endOffset":936,"startLine":50,"endLine":50,"startColumn":25,"endColumn":25,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":937,"endOffset":937,"startLine":50,"endLine":50,"startColumn":26,"endColumn":26,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"else","startOffset":939,"endOffset":942,"startLine":51,"endLine":51,"startColumn":1,"endColumn":4,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"print","startOffset":944,"endOffset":948,"startLine":51,"endLine":51,"startColumn":6,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":949,"endOffset":949,"startLine":51,"endLine":51,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":950,"endOffset":955,"startLine":51,"endLine":51,"startColumn":12,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":956,"endOffset":956,"startLine":51,"endLine":51,"startColumn":18,"endColumn":18,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":957,"endOffset":957,"startLine":51,"endLine":51,"startColumn":19,"endColumn":19,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":960,"endOffset":961,"startLine":53,"endLine":53,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":963,"endOffset":963,"startLine":53,"endLine":53,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":964,"endOffset":967,"startLine":53,"endLine":53,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":968,"endOffset":968,"startLine":53,"endLine":53,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":970,"endOffset":970,"startLine":53,"endLine":53,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":974,"endOffset":978,"startLine":54,"endLine":54,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":979,"endOffset":979,"startLine":54,"endLine":54,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'true'","startOffset":980,"endOffset":985,"startLine":54,"endLine":54,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":986,"endOffset":986,"startLine":54,"endLine":54,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":987,"endOffset":987,"startLine":54,"endLine":54,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":989,"endOffset":989,"startLine":55,"endLine":55,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":990,"endOffset":990,"startLine":55,"endLine":55,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":993,"endOffset":994,"startLine":57,"endLine":57,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":996,"endOffset":996,"startLine":57,"endLine":57,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":997,"endOffset":1000,"startLine":57,"endLine":57,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1001,"endOffset":1001,"startLine":57,"endLine":57,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"print","startOffset":1003,"endOffset":1007,"startLine":57,"endLine":57,"startColumn":11,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1008,"endOffset":1008,"startLine":57,"endLine":57,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1009,"endOffset":1014,"startLine":57,"endLine":57,"startColumn":17,"endColumn":22,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1015,"endOffset":1015,"startLine":57,"endLine":57,"startColumn":23,"endColumn":23,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1016,"endOffset":1016,"startLine":57,"endLine":57,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1019,"endOffset":1020,"startLine":59,"endLine":59,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1022,"endOffset":1022,"startLine":59,"endLine":59,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1023,"endOffset":1026,"startLine":59,"endLine":59,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1027,"endOffset":1027,"startLine":59,"endLine":59,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"print","startOffset":1029,"endOffset":1033,"startLine":59,"endLine":59,"startColumn":11,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1034,"endOffset":1034,"startLine":59,"endLine":59,"startColumn":16,"endColumn":16,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1035,"endOffset":1040,"startLine":59,"endLine":59,"startColumn":17,"endColumn":22,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1041,"endOffset":1041,"startLine":59,"endLine":59,"startColumn":23,"endColumn":23,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1042,"endOffset":1042,"startLine":59,"endLine":59,"startColumn":24,"endColumn":24,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"else","startOffset":1044,"endOffset":1047,"startLine":60,"endLine":60,"startColumn":1,"endColumn":4,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"print","startOffset":1049,"endOffset":1053,"startLine":60,"endLine":60,"startColumn":6,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1054,"endOffset":1054,"startLine":60,"endLine":60,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1055,"endOffset":1060,"startLine":60,"endLine":60,"startColumn":12,"endColumn":17,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1061,"endOffset":1061,"startLine":60,"endLine":60,"startColumn":18,"endColumn":18,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1062,"endOffset":1062,"startLine":60,"endLine":60,"startColumn":19,"endColumn":19,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1065,"endOffset":1066,"startLine":62,"endLine":62,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1068,"endOffset":1068,"startLine":62,"endLine":62,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1069,"endOffset":1072,"startLine":62,"endLine":62,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1073,"endOffset":1073,"startLine":62,"endLine":62,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1075,"endOffset":1075,"startLine":62,"endLine":62,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1079,"endOffset":1083,"startLine":63,"endLine":63,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1084,"endOffset":1084,"startLine":63,"endLine":63,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1085,"endOffset":1090,"startLine":63,"endLine":63,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1091,"endOffset":1091,"startLine":63,"endLine":63,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1092,"endOffset":1092,"startLine":63,"endLine":63,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1094,"endOffset":1094,"startLine":64,"endLine":64,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1096,"endOffset":1099,"startLine":64,"endLine":64,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"{","startOffset":1101,"endOffset":1101,"startLine":64,"endLine":64,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1105,"endOffset":1109,"startLine":65,"endLine":65,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1110,"endOffset":1110,"startLine":65,"endLine":65,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1111,"endOffset":1116,"startLine":65,"endLine":65,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1117,"endOffset":1117,"startLine":65,"endLine":65,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1118,"endOffset":1118,"startLine":65,"endLine":65,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1120,"endOffset":1120,"startLine":66,"endLine":66,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1121,"endOffset":1121,"startLine":66,"endLine":66,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1124,"endOffset":1125,"startLine":68,"endLine":68,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1127,"endOffset":1127,"startLine":68,"endLine":68,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1128,"endOffset":1131,"startLine":68,"endLine":68,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1132,"endOffset":1132,"startLine":68,"endLine":68,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1134,"endOffset":1134,"startLine":68,"endLine":68,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1138,"endOffset":1142,"startLine":69,"endLine":69,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1143,"endOffset":1143,"startLine":69,"endLine":69,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1144,"endOffset":1149,"startLine":69,"endLine":69,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1150,"endOffset":1150,"startLine":69,"endLine":69,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1151,"endOffset":1151,"startLine":69,"endLine":69,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1153,"endOffset":1153,"startLine":70,"endLine":70,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1155,"endOffset":1158,"startLine":70,"endLine":70,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"if","startOffset":1160,"endOffset":1161,"startLine":70,"endLine":70,"startColumn":8,"endColumn":9,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1163,"endOffset":1163,"startLine":70,"endLine":70,"startColumn":11,"endColumn":11,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1164,"endOffset":1167,"startLine":70,"endLine":70,"startColumn":12,"endColumn":15,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1168,"endOffset":1168,"startLine":70,"endLine":70,"startColumn":16,"endColumn":16,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1170,"endOffset":1170,"startLine":70,"endLine":70,"startColumn":18,"endColumn":18,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1174,"endOffset":1178,"startLine":71,"endLine":71,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1179,"endOffset":1179,"startLine":71,"endLine":71,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1180,"endOffset":1185,"startLine":71,"endLine":71,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1186,"endOffset":1186,"startLine":71,"endLine":71,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1187,"endOffset":1187,"startLine":71,"endLine":71,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1189,"endOffset":1189,"startLine":72,"endLine":72,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1191,"endOffset":1194,"startLine":72,"endLine":72,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"{","startOffset":1196,"endOffset":1196,"startLine":72,"endLine":72,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1200,"endOffset":1204,"startLine":73,"endLine":73,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1205,"endOffset":1205,"startLine":73,"endLine":73,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1206,"endOffset":1211,"startLine":73,"endLine":73,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1212,"endOffset":1212,"startLine":73,"endLine":73,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1213,"endOffset":1213,"startLine":73,"endLine":73,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1215,"endOffset":1215,"startLine":74,"endLine":74,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1216,"endOffset":1216,"startLine":74,"endLine":74,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1219,"endOffset":1220,"startLine":76,"endLine":76,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1222,"endOffset":1222,"startLine":76,"endLine":76,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1223,"endOffset":1226,"startLine":76,"endLine":76,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1227,"endOffset":1227,"startLine":76,"endLine":76,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1229,"endOffset":1229,"startLine":76,"endLine":76,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1233,"endOffset":1237,"startLine":77,"endLine":77,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1238,"endOffset":1238,"startLine":77,"endLine":77,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1239,"endOffset":1244,"startLine":77,"endLine":77,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1245,"endOffset":1245,"startLine":77,"endLine":77,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1246,"endOffset":1246,"startLine":77,"endLine":77,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1248,"endOffset":1248,"startLine":78,"endLine":78,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"else","startOffset":1250,"endOffset":1253,"startLine":78,"endLine":78,"startColumn":3,"endColumn":6,"tokenTypeIdx":24,"tokenType":"ElseToken"},{"image":"print","startOffset":1255,"endOffset":1259,"startLine":78,"endLine":78,"startColumn":8,"endColumn":12,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1260,"endOffset":1260,"startLine":78,"endLine":78,"startColumn":13,"endColumn":13,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1261,"endOffset":1266,"startLine":78,"endLine":78,"startColumn":14,"endColumn":19,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1267,"endOffset":1267,"startLine":78,"endLine":78,"startColumn":20,"endColumn":20,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1268,"endOffset":1268,"startLine":78,"endLine":78,"startColumn":21,"endColumn":21,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"if","startOffset":1271,"endOffset":1272,"startLine":80,"endLine":80,"startColumn":1,"endColumn":2,"tokenTypeIdx":23,"tokenType":"IfToken"},{"image":"(","startOffset":1274,"endOffset":1274,"startLine":80,"endLine":80,"startColumn":4,"endColumn":4,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"true","startOffset":1275,"endOffset":1278,"startLine":80,"endLine":80,"startColumn":5,"endColumn":8,"tokenTypeIdx":42,"tokenType":"Constant"},{"image":")","startOffset":1279,"endOffset":1279,"startLine":80,"endLine":80,"startColumn":9,"endColumn":9,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"{","startOffset":1281,"endOffset":1281,"startLine":80,"endLine":80,"startColumn":11,"endColumn":11,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1285,"endOffset":1289,"startLine":81,"endLine":81,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1290,"endOffset":1290,"startLine":81,"endLine":81,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1291,"endOffset":1296,"startLine":81,"endLine":81,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1297,"endOffset":1297,"startLine":81,"endLine":81,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1298,"endOffset":1298,"startLine":81,"endLine":81,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1300,"endOffset":1300,"startLine":82,"endLine":82,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1301,"endOffset":1301,"startLine":82,"endLine":82,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"print","startOffset":1326,"endOffset":1330,"startLine":84,"endLine":84,"startColumn":1,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1331,"endOffset":1331,"startLine":84,"endLine":84,"startColumn":6,"endColumn":6,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1332,"endOffset":1337,"startLine":84,"endLine":84,"startColumn":7,"endColumn":12,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1338,"endOffset":1338,"startLine":84,"endLine":84,"startColumn":13,"endColumn":13,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1339,"endOffset":1339,"startLine":84,"endLine":84,"startColumn":14,"endColumn":14,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"f","startOffset":1341,"endOffset":1341,"startLine":85,"endLine":85,"startColumn":1,"endColumn":1,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1342,"endOffset":1342,"startLine":85,"endLine":85,"startColumn":2,"endColumn":2,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":1343,"endOffset":1343,"startLine":85,"endLine":85,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1344,"endOffset":1344,"startLine":85,"endLine":85,"startColumn":4,"endColumn":4,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"@wasm.i32.add","startOffset":1346,"endOffset":1358,"startLine":86,"endLine":86,"startColumn":1,"endColumn":13,"tokenTypeIdx":43,"tokenType":"Wasm Instruction Call"},{"image":"(","startOffset":1359,"endOffset":1359,"startLine":86,"endLine":86,"startColumn":14,"endColumn":14,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1n","startOffset":1360,"endOffset":1361,"startLine":86,"endLine":86,"startColumn":15,"endColumn":16,"tokenTypeIdx":35,"tokenType":"I32"},{"image":",","startOffset":1362,"endOffset":1362,"startLine":86,"endLine":86,"startColumn":17,"endColumn":17,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"1n","startOffset":1364,"endOffset":1365,"startLine":86,"endLine":86,"startColumn":19,"endColumn":20,"tokenTypeIdx":35,"tokenType":"I32"},{"image":")","startOffset":1366,"endOffset":1366,"startLine":86,"endLine":86,"startColumn":21,"endColumn":21,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1367,"endOffset":1367,"startLine":86,"endLine":86,"startColumn":22,"endColumn":22,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1399,"endOffset":1401,"startLine":88,"endLine":88,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"c","startOffset":1403,"endOffset":1403,"startLine":88,"endLine":88,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1404,"endOffset":1404,"startLine":88,"endLine":88,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":1406,"endOffset":1411,"startLine":88,"endLine":88,"startColumn":8,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1413,"endOffset":1413,"startLine":88,"endLine":88,"startColumn":15,"endColumn":15,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":1415,"endOffset":1415,"startLine":88,"endLine":88,"startColumn":17,"endColumn":17,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1417,"endOffset":1417,"startLine":88,"endLine":88,"startColumn":19,"endColumn":19,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"(","startOffset":1419,"endOffset":1419,"startLine":88,"endLine":88,"startColumn":21,"endColumn":21,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1","startOffset":1420,"endOffset":1420,"startLine":88,"endLine":88,"startColumn":22,"endColumn":22,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1422,"endOffset":1422,"startLine":88,"endLine":88,"startColumn":24,"endColumn":24,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1424,"endOffset":1424,"startLine":88,"endLine":88,"startColumn":26,"endColumn":26,"tokenTypeIdx":41,"tokenType":"Number"},{"image":")","startOffset":1425,"endOffset":1425,"startLine":88,"endLine":88,"startColumn":27,"endColumn":27,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"+","startOffset":1427,"endOffset":1427,"startLine":88,"endLine":88,"startColumn":29,"endColumn":29,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1429,"endOffset":1429,"startLine":88,"endLine":88,"startColumn":31,"endColumn":31,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1431,"endOffset":1431,"startLine":88,"endLine":88,"startColumn":33,"endColumn":33,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1433,"endOffset":1433,"startLine":88,"endLine":88,"startColumn":35,"endColumn":35,"tokenTypeIdx":41,"tokenType":"Number"},{"image":"+","startOffset":1435,"endOffset":1435,"startLine":88,"endLine":88,"startColumn":37,"endColumn":37,"tokenTypeIdx":59,"tokenType":"TknOperator160"},{"image":"1","startOffset":1437,"endOffset":1437,"startLine":88,"endLine":88,"startColumn":39,"endColumn":39,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":1438,"endOffset":1438,"startLine":88,"endLine":88,"startColumn":40,"endColumn":40,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"c","startOffset":1440,"endOffset":1440,"startLine":89,"endLine":89,"startColumn":1,"endColumn":1,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1442,"endOffset":1442,"startLine":89,"endLine":89,"startColumn":3,"endColumn":3,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":1444,"endOffset":1444,"startLine":89,"endLine":89,"startColumn":5,"endColumn":5,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":1445,"endOffset":1445,"startLine":89,"endLine":89,"startColumn":6,"endColumn":6,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1447,"endOffset":1449,"startLine":90,"endLine":90,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"d","startOffset":1451,"endOffset":1451,"startLine":90,"endLine":90,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1452,"endOffset":1452,"startLine":90,"endLine":90,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":1454,"endOffset":1459,"startLine":90,"endLine":90,"startColumn":8,"endColumn":13,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1461,"endOffset":1461,"startLine":90,"endLine":90,"startColumn":15,"endColumn":15,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"a","startOffset":1463,"endOffset":1463,"startLine":90,"endLine":90,"startColumn":17,"endColumn":17,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1464,"endOffset":1464,"startLine":90,"endLine":90,"startColumn":18,"endColumn":18,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1466,"endOffset":1468,"startLine":91,"endLine":91,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"e","startOffset":1470,"endOffset":1470,"startLine":91,"endLine":91,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1471,"endOffset":1471,"startLine":91,"endLine":91,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1473,"endOffset":1475,"startLine":91,"endLine":91,"startColumn":8,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1477,"endOffset":1477,"startLine":91,"endLine":91,"startColumn":12,"endColumn":12,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"objectTest3","startOffset":1479,"endOffset":1489,"startLine":91,"endLine":91,"startColumn":14,"endColumn":24,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":".","startOffset":1490,"endOffset":1490,"startLine":91,"endLine":91,"startColumn":25,"endColumn":25,"tokenTypeIdx":52,"tokenType":"Period"},{"image":"field3","startOffset":1491,"endOffset":1496,"startLine":91,"endLine":91,"startColumn":26,"endColumn":31,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1497,"endOffset":1497,"startLine":91,"endLine":91,"startColumn":32,"endColumn":32,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"let","startOffset":1499,"endOffset":1501,"startLine":92,"endLine":92,"startColumn":1,"endColumn":3,"tokenTypeIdx":22,"tokenType":"LetToken"},{"image":"z","startOffset":1503,"endOffset":1503,"startLine":92,"endLine":92,"startColumn":5,"endColumn":5,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1504,"endOffset":1504,"startLine":92,"endLine":92,"startColumn":6,"endColumn":6,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Function","startOffset":1506,"endOffset":1513,"startLine":92,"endLine":92,"startColumn":8,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1515,"endOffset":1515,"startLine":92,"endLine":92,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"(","startOffset":1517,"endOffset":1517,"startLine":92,"endLine":92,"startColumn":19,"endColumn":19,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"g","startOffset":1518,"endOffset":1518,"startLine":92,"endLine":92,"startColumn":20,"endColumn":20,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1519,"endOffset":1519,"startLine":92,"endLine":92,"startColumn":21,"endColumn":21,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1521,"endOffset":1523,"startLine":92,"endLine":92,"startColumn":23,"endColumn":25,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1524,"endOffset":1524,"startLine":92,"endLine":92,"startColumn":26,"endColumn":26,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":":","startOffset":1525,"endOffset":1525,"startLine":92,"endLine":92,"startColumn":27,"endColumn":27,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1527,"endOffset":1529,"startLine":92,"endLine":92,"startColumn":29,"endColumn":31,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1531,"endOffset":1532,"startLine":92,"endLine":92,"startColumn":33,"endColumn":34,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"{","startOffset":1534,"endOffset":1534,"startLine":92,"endLine":92,"startColumn":36,"endColumn":36,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"return","startOffset":1538,"endOffset":1543,"startLine":93,"endLine":93,"startColumn":3,"endColumn":8,"tokenTypeIdx":32,"tokenType":"ReturnToken"},{"image":"(","startOffset":1544,"endOffset":1544,"startLine":93,"endLine":93,"startColumn":9,"endColumn":9,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"g","startOffset":1545,"endOffset":1545,"startLine":93,"endLine":93,"startColumn":10,"endColumn":10,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1546,"endOffset":1546,"startLine":93,"endLine":93,"startColumn":11,"endColumn":11,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1547,"endOffset":1547,"startLine":93,"endLine":93,"startColumn":12,"endColumn":12,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1549,"endOffset":1549,"startLine":94,"endLine":94,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1550,"endOffset":1550,"startLine":94,"endLine":94,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"const","startOffset":1552,"endOffset":1556,"startLine":95,"endLine":95,"startColumn":1,"endColumn":5,"tokenTypeIdx":21,"tokenType":"ConstToken"},{"image":"h","startOffset":1558,"endOffset":1558,"startLine":95,"endLine":95,"startColumn":7,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1559,"endOffset":1559,"startLine":95,"endLine":95,"startColumn":8,"endColumn":8,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":1561,"endOffset":1566,"startLine":95,"endLine":95,"startColumn":10,"endColumn":15,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":1568,"endOffset":1568,"startLine":95,"endLine":95,"startColumn":17,"endColumn":17,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":1570,"endOffset":1570,"startLine":95,"endLine":95,"startColumn":19,"endColumn":19,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":1571,"endOffset":1571,"startLine":95,"endLine":95,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"(","startOffset":1573,"endOffset":1573,"startLine":96,"endLine":96,"startColumn":1,"endColumn":1,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"(","startOffset":1574,"endOffset":1574,"startLine":96,"endLine":96,"startColumn":2,"endColumn":2,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":1575,"endOffset":1575,"startLine":96,"endLine":96,"startColumn":3,"endColumn":3,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":":","startOffset":1576,"endOffset":1576,"startLine":96,"endLine":96,"startColumn":4,"endColumn":4,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"i32","startOffset":1578,"endOffset":1580,"startLine":96,"endLine":96,"startColumn":6,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=>","startOffset":1582,"endOffset":1583,"startLine":96,"endLine":96,"startColumn":10,"endColumn":11,"tokenTypeIdx":55,"tokenType":"ThickArrow"},{"image":"{","startOffset":1585,"endOffset":1585,"startLine":96,"endLine":96,"startColumn":13,"endColumn":13,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"print","startOffset":1589,"endOffset":1593,"startLine":97,"endLine":97,"startColumn":3,"endColumn":7,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1594,"endOffset":1594,"startLine":97,"endLine":97,"startColumn":8,"endColumn":8,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"'test'","startOffset":1595,"endOffset":1600,"startLine":97,"endLine":97,"startColumn":9,"endColumn":14,"tokenTypeIdx":34,"tokenType":"String"},{"image":")","startOffset":1601,"endOffset":1601,"startLine":97,"endLine":97,"startColumn":15,"endColumn":15,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1602,"endOffset":1602,"startLine":97,"endLine":97,"startColumn":16,"endColumn":16,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"return","startOffset":1606,"endOffset":1611,"startLine":98,"endLine":98,"startColumn":3,"endColumn":8,"tokenTypeIdx":32,"tokenType":"ReturnToken"},{"image":"(","startOffset":1612,"endOffset":1612,"startLine":98,"endLine":98,"startColumn":9,"endColumn":9,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"1n","startOffset":1613,"endOffset":1614,"startLine":98,"endLine":98,"startColumn":10,"endColumn":11,"tokenTypeIdx":35,"tokenType":"I32"},{"image":")","startOffset":1615,"endOffset":1615,"startLine":98,"endLine":98,"startColumn":12,"endColumn":12,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1616,"endOffset":1616,"startLine":98,"endLine":98,"startColumn":13,"endColumn":13,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1618,"endOffset":1618,"startLine":99,"endLine":99,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":")","startOffset":1619,"endOffset":1619,"startLine":99,"endLine":99,"startColumn":2,"endColumn":2,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"(","startOffset":1620,"endOffset":1620,"startLine":99,"endLine":99,"startColumn":3,"endColumn":3,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":")","startOffset":1621,"endOffset":1621,"startLine":99,"endLine":99,"startColumn":4,"endColumn":4,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":";","startOffset":1622,"endOffset":1622,"startLine":99,"endLine":99,"startColumn":5,"endColumn":5,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":1642,"endOffset":1650,"startLine":101,"endLine":101,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_Has_TestInterface","startOffset":1652,"endOffset":1681,"startLine":101,"endLine":101,"startColumn":11,"endColumn":40,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1682,"endOffset":1682,"startLine":101,"endLine":101,"startColumn":41,"endColumn":41,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1683,"endOffset":1693,"startLine":101,"endLine":101,"startColumn":42,"endColumn":52,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1694,"endOffset":1694,"startLine":101,"endLine":101,"startColumn":53,"endColumn":53,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1696,"endOffset":1696,"startLine":101,"endLine":101,"startColumn":55,"endColumn":55,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"test","startOffset":1700,"endOffset":1703,"startLine":102,"endLine":102,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1704,"endOffset":1704,"startLine":102,"endLine":102,"startColumn":7,"endColumn":7,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1706,"endOffset":1716,"startLine":102,"endLine":102,"startColumn":9,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1717,"endOffset":1717,"startLine":102,"endLine":102,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1719,"endOffset":1719,"startLine":103,"endLine":103,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1720,"endOffset":1720,"startLine":103,"endLine":103,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"enum","startOffset":1722,"endOffset":1725,"startLine":104,"endLine":104,"startColumn":1,"endColumn":4,"tokenTypeIdx":33,"tokenType":"TknEnum"},{"image":"OptionalSemi_Has_EnumTest","startOffset":1727,"endOffset":1751,"startLine":104,"endLine":104,"startColumn":6,"endColumn":30,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1752,"endOffset":1752,"startLine":104,"endLine":104,"startColumn":31,"endColumn":31,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1753,"endOffset":1763,"startLine":104,"endLine":104,"startColumn":32,"endColumn":42,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1764,"endOffset":1764,"startLine":104,"endLine":104,"startColumn":43,"endColumn":43,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1766,"endOffset":1766,"startLine":104,"endLine":104,"startColumn":45,"endColumn":45,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1770,"endOffset":1773,"startLine":105,"endLine":105,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1774,"endOffset":1774,"startLine":105,"endLine":105,"startColumn":7,"endColumn":7,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1775,"endOffset":1785,"startLine":105,"endLine":105,"startColumn":8,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1786,"endOffset":1786,"startLine":105,"endLine":105,"startColumn":19,"endColumn":19,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"}","startOffset":1788,"endOffset":1788,"startLine":106,"endLine":106,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":1789,"endOffset":1789,"startLine":106,"endLine":106,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":1791,"endOffset":1799,"startLine":107,"endLine":107,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"OptionalSemi_TestInterface","startOffset":1801,"endOffset":1826,"startLine":107,"endLine":107,"startColumn":11,"endColumn":36,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1827,"endOffset":1827,"startLine":107,"endLine":107,"startColumn":37,"endColumn":37,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1828,"endOffset":1838,"startLine":107,"endLine":107,"startColumn":38,"endColumn":48,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1839,"endOffset":1839,"startLine":107,"endLine":107,"startColumn":49,"endColumn":49,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1841,"endOffset":1841,"startLine":107,"endLine":107,"startColumn":51,"endColumn":51,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"test","startOffset":1845,"endOffset":1848,"startLine":108,"endLine":108,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":1849,"endOffset":1849,"startLine":108,"endLine":108,"startColumn":7,"endColumn":7,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"GenericTest","startOffset":1851,"endOffset":1861,"startLine":108,"endLine":108,"startColumn":9,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":1862,"endOffset":1862,"startLine":108,"endLine":108,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":1864,"endOffset":1864,"startLine":109,"endLine":109,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"enum","startOffset":1866,"endOffset":1869,"startLine":110,"endLine":110,"startColumn":1,"endColumn":4,"tokenTypeIdx":33,"tokenType":"TknEnum"},{"image":"OptionalSemi_EnumTest","startOffset":1871,"endOffset":1891,"startLine":110,"endLine":110,"startColumn":6,"endColumn":26,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1892,"endOffset":1892,"startLine":110,"endLine":110,"startColumn":27,"endColumn":27,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1893,"endOffset":1903,"startLine":110,"endLine":110,"startColumn":28,"endColumn":38,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1904,"endOffset":1904,"startLine":110,"endLine":110,"startColumn":39,"endColumn":39,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":1906,"endOffset":1906,"startLine":110,"endLine":110,"startColumn":41,"endColumn":41,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"Test","startOffset":1910,"endOffset":1913,"startLine":111,"endLine":111,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":1914,"endOffset":1914,"startLine":111,"endLine":111,"startColumn":7,"endColumn":7,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":1915,"endOffset":1925,"startLine":111,"endLine":111,"startColumn":8,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":1926,"endOffset":1926,"startLine":111,"endLine":111,"startColumn":19,"endColumn":19,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"}","startOffset":1928,"endOffset":1928,"startLine":112,"endLine":112,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"type","startOffset":1948,"endOffset":1951,"startLine":114,"endLine":114,"startColumn":1,"endColumn":4,"tokenTypeIdx":31,"tokenType":"TypeToken"},{"image":"Generic_TypeTest","startOffset":1953,"endOffset":1968,"startLine":114,"endLine":114,"startColumn":6,"endColumn":21,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":1969,"endOffset":1969,"startLine":114,"endLine":114,"startColumn":22,"endColumn":22,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":1970,"endOffset":1980,"startLine":114,"endLine":114,"startColumn":23,"endColumn":33,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":1981,"endOffset":1981,"startLine":114,"endLine":114,"startColumn":34,"endColumn":34,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"GenericTest1","startOffset":1983,"endOffset":1994,"startLine":114,"endLine":114,"startColumn":36,"endColumn":47,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":1995,"endOffset":1995,"startLine":114,"endLine":114,"startColumn":48,"endColumn":48,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"=","startOffset":1997,"endOffset":1997,"startLine":114,"endLine":114,"startColumn":50,"endColumn":50,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"String","startOffset":1999,"endOffset":2004,"startLine":114,"endLine":114,"startColumn":52,"endColumn":57,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":2005,"endOffset":2005,"startLine":114,"endLine":114,"startColumn":58,"endColumn":58,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"interface","startOffset":2007,"endOffset":2015,"startLine":115,"endLine":115,"startColumn":1,"endColumn":9,"tokenTypeIdx":30,"tokenType":"InterfaceToken"},{"image":"Generic_TestInterface","startOffset":2017,"endOffset":2037,"startLine":115,"endLine":115,"startColumn":11,"endColumn":31,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2038,"endOffset":2038,"startLine":115,"endLine":115,"startColumn":32,"endColumn":32,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":2039,"endOffset":2049,"startLine":115,"endLine":115,"startColumn":33,"endColumn":43,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":2050,"endOffset":2050,"startLine":115,"endLine":115,"startColumn":44,"endColumn":44,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":2052,"endOffset":2052,"startLine":115,"endLine":115,"startColumn":46,"endColumn":46,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"test","startOffset":2056,"endOffset":2059,"startLine":116,"endLine":116,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":2060,"endOffset":2060,"startLine":116,"endLine":116,"startColumn":7,"endColumn":7,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"GenericTest","startOffset":2062,"endOffset":2072,"startLine":116,"endLine":116,"startColumn":9,"endColumn":19,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":2073,"endOffset":2073,"startLine":116,"endLine":116,"startColumn":20,"endColumn":20,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"}","startOffset":2075,"endOffset":2075,"startLine":117,"endLine":117,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"enum","startOffset":2077,"endOffset":2080,"startLine":118,"endLine":118,"startColumn":1,"endColumn":4,"tokenTypeIdx":33,"tokenType":"TknEnum"},{"image":"Generic_EnumTest","startOffset":2082,"endOffset":2097,"startLine":118,"endLine":118,"startColumn":6,"endColumn":21,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"<","startOffset":2098,"endOffset":2098,"startLine":118,"endLine":118,"startColumn":22,"endColumn":22,"tokenTypeIdx":62,"tokenType":"TknLeftArrow"},{"image":"GenericTest","startOffset":2099,"endOffset":2109,"startLine":118,"endLine":118,"startColumn":23,"endColumn":33,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":">","startOffset":2110,"endOffset":2110,"startLine":118,"endLine":118,"startColumn":34,"endColumn":34,"tokenTypeIdx":63,"tokenType":"TknRightArrow"},{"image":"{","startOffset":2112,"endOffset":2112,"startLine":118,"endLine":118,"startColumn":36,"endColumn":36,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"Test","startOffset":2116,"endOffset":2119,"startLine":119,"endLine":119,"startColumn":3,"endColumn":6,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"(","startOffset":2120,"endOffset":2120,"startLine":119,"endLine":119,"startColumn":7,"endColumn":7,"tokenTypeIdx":44,"tokenType":"LeftParen"},{"image":"GenericTest","startOffset":2121,"endOffset":2131,"startLine":119,"endLine":119,"startColumn":8,"endColumn":18,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":")","startOffset":2132,"endOffset":2132,"startLine":119,"endLine":119,"startColumn":19,"endColumn":19,"tokenTypeIdx":45,"tokenType":"RightParen"},{"image":"}","startOffset":2134,"endOffset":2134,"startLine":120,"endLine":120,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":"export","startOffset":2152,"endOffset":2157,"startLine":122,"endLine":122,"startColumn":1,"endColumn":6,"tokenTypeIdx":20,"tokenType":"ExportToken"},{"image":"const","startOffset":2159,"endOffset":2163,"startLine":122,"endLine":122,"startColumn":8,"endColumn":12,"tokenTypeIdx":21,"tokenType":"ConstToken"},{"image":"y","startOffset":2165,"endOffset":2165,"startLine":122,"endLine":122,"startColumn":14,"endColumn":14,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":":","startOffset":2166,"endOffset":2166,"startLine":122,"endLine":122,"startColumn":15,"endColumn":15,"tokenTypeIdx":53,"tokenType":"Colon"},{"image":"Number","startOffset":2168,"endOffset":2173,"startLine":122,"endLine":122,"startColumn":17,"endColumn":22,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"=","startOffset":2175,"endOffset":2175,"startLine":122,"endLine":122,"startColumn":24,"endColumn":24,"tokenTypeIdx":67,"tokenType":"TknAssignmentOperator"},{"image":"1","startOffset":2177,"endOffset":2177,"startLine":122,"endLine":122,"startColumn":26,"endColumn":26,"tokenTypeIdx":41,"tokenType":"Number"},{"image":";","startOffset":2178,"endOffset":2178,"startLine":122,"endLine":122,"startColumn":27,"endColumn":27,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"export","startOffset":2180,"endOffset":2185,"startLine":123,"endLine":123,"startColumn":1,"endColumn":6,"tokenTypeIdx":20,"tokenType":"ExportToken"},{"image":"h","startOffset":2187,"endOffset":2187,"startLine":123,"endLine":123,"startColumn":8,"endColumn":8,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":";","startOffset":2188,"endOffset":2188,"startLine":123,"endLine":123,"startColumn":9,"endColumn":9,"tokenTypeIdx":54,"tokenType":"Semicolon"},{"image":"export","startOffset":2190,"endOffset":2195,"startLine":124,"endLine":124,"startColumn":1,"endColumn":6,"tokenTypeIdx":20,"tokenType":"ExportToken"},{"image":"{","startOffset":2197,"endOffset":2197,"startLine":124,"endLine":124,"startColumn":8,"endColumn":8,"tokenTypeIdx":46,"tokenType":"LeftBrace"},{"image":"c","startOffset":2201,"endOffset":2201,"startLine":125,"endLine":125,"startColumn":3,"endColumn":3,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":2202,"endOffset":2202,"startLine":125,"endLine":125,"startColumn":4,"endColumn":4,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"d","startOffset":2206,"endOffset":2206,"startLine":126,"endLine":126,"startColumn":3,"endColumn":3,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":",","startOffset":2207,"endOffset":2207,"startLine":126,"endLine":126,"startColumn":4,"endColumn":4,"tokenTypeIdx":50,"tokenType":"Comma"},{"image":"z","startOffset":2211,"endOffset":2211,"startLine":127,"endLine":127,"startColumn":3,"endColumn":3,"tokenTypeIdx":77,"tokenType":"TknIdentifier"},{"image":"}","startOffset":2213,"endOffset":2213,"startLine":128,"endLine":128,"startColumn":1,"endColumn":1,"tokenTypeIdx":47,"tokenType":"RightBrace"},{"image":";","startOffset":2214,"endOffset":2214,"startLine":128,"endLine":128,"startColumn":2,"endColumn":2,"tokenTypeIdx":54,"tokenType":"Semicolon"}],"groups":{"Reserved":[]},"errors":[]} \ No newline at end of file diff --git a/__tests__/Tests/Parser.test.ts b/__tests__/Tests/Parser.test.ts index 3325490..e0eab95 100644 --- a/__tests__/Tests/Parser.test.ts +++ b/__tests__/Tests/Parser.test.ts @@ -33,3 +33,18 @@ test('Parser: Literals Pass', () => { }; expect(parse(Parser_Main, '', '', 'file')).toMatchSnapshot(); }); +test('Parser: Operator Precedence Pass', () => { + const data = JSON.parse( + fs.readFileSync('./__tests__/Data/Parser/Operator_Precedence_Pass.json', 'utf8') + ); + const Parser_Main: ILexingResult = { + ...data, + tokens: data.tokens.map((tkn: any) => { + return { + ...tkn, + tokenType: Tokens.find((token) => token.name === tkn.tokenType), + }; + }), + }; + expect(parse(Parser_Main, '', '', 'file')).toMatchSnapshot(); +}); diff --git a/__tests__/Tests/WasmBuilder/Expression.test.ts b/__tests__/Tests/WasmBuilder/Expression.test.ts index b0c64c4..8d602a2 100644 --- a/__tests__/Tests/WasmBuilder/Expression.test.ts +++ b/__tests__/Tests/WasmBuilder/Expression.test.ts @@ -2,8 +2,17 @@ import { expect, test } from '@jest/globals'; // Test Components import * as Expressions from '../../../src/wasmBuilder/Build/Expression'; -import { ieee754, signedLEB128, unsignedLEB128 } from '../../../src/wasmBuilder/Build/Utils'; -import { typeRefIdentifier, funcRefIdentifier, globalRefIdentifier } from '../../../src/wasmBuilder/Types/Nodes' +import { + encodeFloat32, + encodeFloat64, + signedLEB128, + unsignedLEB128, +} from '../../../src/wasmBuilder/Build/Utils'; +import { + funcRefIdentifier, + globalRefIdentifier, + typeRefIdentifier, +} from '../../../src/wasmBuilder/Types/Nodes'; // WasmBuilder Expressions Tests test('WasmBuilder-Expressions: unreachableExpression', () => { expect(Expressions.unreachableExpression()).toEqual([0x00]); @@ -156,7 +165,7 @@ test('WasmBuilder-Expressions: global_SetExpression', () => { // TODO: i64_store16Expr, // TODO: i64_store32Expr, test('WasmBuilder-Expressions: memory_SizeExpression', () => { - expect(Expressions.memory_SizeExpression()).toEqual([0x3f,0x00]); + expect(Expressions.memory_SizeExpression()).toEqual([0x3f, 0x00]); }); test('WasmBuilder-Expressions: memory_GrowExpression', () => { expect(Expressions.memory_GrowExpression(Expressions.nopExpression())).toEqual([ @@ -170,10 +179,10 @@ test('WasmBuilder-Expressions: i32_ConstExpression', () => { }); // TODO: i64_Const test('WasmBuilder-Expressions: f32_ConstExpression', () => { - expect(Expressions.f32_ConstExpression(1)).toEqual([0x43, ...ieee754(1)]); + expect(Expressions.f32_ConstExpression(1)).toEqual([0x43, ...encodeFloat32(1)]); }); test('WasmBuilder-Expressions: f64_ConstExpression', () => { - expect(Expressions.f64_ConstExpression(1)).toEqual([0x44, ...ieee754(1)]); + expect(Expressions.f64_ConstExpression(1)).toEqual([0x44, ...encodeFloat64(1)]); }); // TODO: i32_eqzExpr, test('WasmBuilder-Expressions: i32_eqExpression', () => { @@ -577,7 +586,13 @@ test('WasmBuilder-Expressions: br_IfExpression-label', () => { test('WasmBuilder-Expressions: callExpression-label', () => { expect( Expressions.callExpression('test', [Expressions.nopExpression(), Expressions.nopExpression()]) - ).toEqual([...Expressions.nopExpression(), ...Expressions.nopExpression(), 0x10, funcRefIdentifier, 'test']); + ).toEqual([ + ...Expressions.nopExpression(), + ...Expressions.nopExpression(), + 0x10, + funcRefIdentifier, + 'test', + ]); }); test('WasmBuilder-Expressions: local_GetExpression-label', () => { expect(Expressions.local_GetExpression('test')).toEqual([0x20, 'test']); diff --git a/__tests__/Tests/WasmBuilder/Utils.test.ts b/__tests__/Tests/WasmBuilder/Utils.test.ts index b3c99e4..6693e1c 100644 --- a/__tests__/Tests/WasmBuilder/Utils.test.ts +++ b/__tests__/Tests/WasmBuilder/Utils.test.ts @@ -8,7 +8,7 @@ test('WasmBuilder-Utils: ieee754-negative-ints', () => { for (let i = 0; i >= -1000; i -= 250) { data.push(i); } - expect(data.map((n) => Utils.ieee754(n))).toEqual([ + expect(data.map((n) => Utils.encodeFloat32(n))).toEqual([ Uint8Array.from([0, 0, 0, 0]), Uint8Array.from([0, 0, 122, 195]), Uint8Array.from([0, 0, 250, 195]), @@ -21,7 +21,7 @@ test('WasmBuilder-Utils: ieee754-positive-ints', () => { for (let i = 0; i <= 1000; i += 250) { data.push(i); } - expect(data.map((n) => Utils.ieee754(n))).toEqual([ + expect(data.map((n) => Utils.encodeFloat32(n))).toEqual([ Uint8Array.from([0, 0, 0, 0]), Uint8Array.from([0, 0, 122, 67]), Uint8Array.from([0, 0, 250, 67]), @@ -34,7 +34,7 @@ test('WasmBuilder-Utils: ieee754-negative-float', () => { for (let i = 0; i >= -1; i -= 0.25) { data.push(i); } - expect(data.map((n) => Utils.ieee754(n))).toEqual([ + expect(data.map((n) => Utils.encodeFloat32(n))).toEqual([ Uint8Array.from([0, 0, 0, 0]), Uint8Array.from([0, 0, 128, 190]), Uint8Array.from([0, 0, 0, 191]), @@ -47,7 +47,7 @@ test('WasmBuilder-Utils: ieee754-positive-float', () => { for (let i = 0; i <= 1; i += 0.25) { data.push(i); } - expect(data.map((n) => Utils.ieee754(n))).toEqual([ + expect(data.map((n) => Utils.encodeFloat32(n))).toEqual([ Uint8Array.from([0, 0, 0, 0]), Uint8Array.from([0, 0, 128, 62]), Uint8Array.from([0, 0, 0, 63]), @@ -56,7 +56,7 @@ test('WasmBuilder-Utils: ieee754-positive-float', () => { ]); }); test('WasmBuilder-Utils: ieee754-zero', () => { - expect(Utils.ieee754(0)).toEqual(new Uint8Array([0x00, 0x00, 0x00, 0x00])); + expect(Utils.encodeFloat32(0)).toEqual(new Uint8Array([0x00, 0x00, 0x00, 0x00])); }); test('WasmBuilder-Utils: signedLEB128-negative-ints', () => { const data = []; diff --git a/__tests__/Tests/__snapshots__/Lexer.test.ts.snap b/__tests__/Tests/__snapshots__/Lexer.test.ts.snap index 388ee78..25751ad 100644 --- a/__tests__/Tests/__snapshots__/Lexer.test.ts.snap +++ b/__tests__/Tests/__snapshots__/Lexer.test.ts.snap @@ -16,7 +16,7 @@ exports[`Lexer: Export Pass 1`] = ` "startColumn": 1, "startLine": 2, "startOffset": 31, - "tokenTypeIdx": 18, + "tokenTypeIdx": 20, }, { "endColumn": 8, @@ -27,7 +27,7 @@ exports[`Lexer: Export Pass 1`] = ` "startColumn": 8, "startLine": 2, "startOffset": 38, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -38,7 +38,7 @@ exports[`Lexer: Export Pass 1`] = ` "startColumn": 9, "startLine": 2, "startOffset": 39, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, ], } @@ -60,7 +60,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 1, "startLine": 1, "startOffset": 0, - "tokenTypeIdx": 15, + "tokenTypeIdx": 17, }, { "endColumn": 8, @@ -71,7 +71,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 8, "startLine": 1, "startOffset": 7, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -82,7 +82,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 10, "startLine": 1, "startOffset": 9, - "tokenTypeIdx": 17, + "tokenTypeIdx": 19, }, { "endColumn": 20, @@ -93,7 +93,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 15, "startLine": 1, "startOffset": 14, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 21, @@ -104,7 +104,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 21, "startLine": 1, "startOffset": 20, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 6, @@ -115,7 +115,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 1, "startLine": 2, "startOffset": 22, - "tokenTypeIdx": 15, + "tokenTypeIdx": 17, }, { "endColumn": 11, @@ -126,7 +126,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 8, "startLine": 2, "startOffset": 29, - "tokenTypeIdx": 16, + "tokenTypeIdx": 18, }, { "endColumn": 13, @@ -137,7 +137,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 13, "startLine": 2, "startOffset": 34, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -148,7 +148,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 14, "startLine": 2, "startOffset": 35, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 18, @@ -159,7 +159,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 16, "startLine": 2, "startOffset": 37, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 23, @@ -170,7 +170,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 20, "startLine": 2, "startOffset": 41, - "tokenTypeIdx": 17, + "tokenTypeIdx": 19, }, { "endColumn": 30, @@ -181,7 +181,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 25, "startLine": 2, "startOffset": 46, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 31, @@ -192,7 +192,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 31, "startLine": 2, "startOffset": 52, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 6, @@ -203,7 +203,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 1, "startLine": 3, "startOffset": 54, - "tokenTypeIdx": 15, + "tokenTypeIdx": 17, }, { "endColumn": 11, @@ -214,7 +214,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 8, "startLine": 3, "startOffset": 61, - "tokenTypeIdx": 16, + "tokenTypeIdx": 18, }, { "endColumn": 13, @@ -225,7 +225,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 13, "startLine": 3, "startOffset": 66, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -236,7 +236,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 14, "startLine": 3, "startOffset": 67, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -247,7 +247,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 16, "startLine": 3, "startOffset": 69, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 19, @@ -258,7 +258,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 17, "startLine": 3, "startOffset": 70, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -269,7 +269,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 20, "startLine": 3, "startOffset": 73, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 24, @@ -280,7 +280,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 22, "startLine": 3, "startOffset": 75, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 25, @@ -291,7 +291,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 25, "startLine": 3, "startOffset": 78, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 28, @@ -302,7 +302,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 27, "startLine": 3, "startOffset": 80, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 32, @@ -313,7 +313,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 30, "startLine": 3, "startOffset": 83, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 37, @@ -324,7 +324,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 34, "startLine": 3, "startOffset": 87, - "tokenTypeIdx": 17, + "tokenTypeIdx": 19, }, { "endColumn": 44, @@ -335,7 +335,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 39, "startLine": 3, "startOffset": 92, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 45, @@ -346,7 +346,7 @@ exports[`Lexer: Import Pass 1`] = ` "startColumn": 45, "startLine": 3, "startOffset": 98, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, ], } @@ -368,7 +368,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 1, "startOffset": 0, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -379,7 +379,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 1, "startOffset": 6, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -390,7 +390,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 1, "startOffset": 7, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -401,7 +401,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 1, "startOffset": 9, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -412,7 +412,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 1, "startOffset": 13, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -423,7 +423,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 1, "startOffset": 15, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 18, @@ -434,7 +434,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 1, "startOffset": 17, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -445,7 +445,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 2, "startOffset": 19, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -456,7 +456,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 2, "startOffset": 25, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -467,7 +467,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 2, "startOffset": 26, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -478,7 +478,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 2, "startOffset": 28, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -489,7 +489,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 2, "startOffset": 32, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -500,7 +500,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 2, "startOffset": 34, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 18, @@ -511,7 +511,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 2, "startOffset": 36, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -522,7 +522,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 3, "startOffset": 38, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -533,7 +533,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 3, "startOffset": 44, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -544,7 +544,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 3, "startOffset": 45, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -555,7 +555,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 3, "startOffset": 47, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -566,7 +566,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 3, "startOffset": 51, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -577,7 +577,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 3, "startOffset": 53, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 18, @@ -588,7 +588,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 3, "startOffset": 54, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 19, @@ -599,7 +599,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 19, "startLine": 3, "startOffset": 56, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -610,7 +610,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 4, "startOffset": 58, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -621,7 +621,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 4, "startOffset": 64, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -632,7 +632,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 4, "startOffset": 65, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -643,7 +643,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 4, "startOffset": 67, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -654,7 +654,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 4, "startOffset": 71, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -665,7 +665,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 4, "startOffset": 73, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 18, @@ -676,7 +676,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 4, "startOffset": 74, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 19, @@ -687,7 +687,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 19, "startLine": 4, "startOffset": 76, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -698,7 +698,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 5, "startOffset": 78, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -709,7 +709,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 5, "startOffset": 84, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -720,7 +720,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 5, "startOffset": 85, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -731,7 +731,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 5, "startOffset": 87, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -742,7 +742,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 5, "startOffset": 91, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -753,7 +753,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 5, "startOffset": 93, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 18, @@ -764,7 +764,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 5, "startOffset": 95, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -775,7 +775,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 6, "startOffset": 97, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -786,7 +786,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 6, "startOffset": 103, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -797,7 +797,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 6, "startOffset": 104, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -808,7 +808,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 6, "startOffset": 106, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -819,7 +819,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 6, "startOffset": 110, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -830,7 +830,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 6, "startOffset": 112, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 18, @@ -841,7 +841,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 6, "startOffset": 114, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -852,7 +852,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 7, "startOffset": 116, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -863,7 +863,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 7, "startOffset": 122, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -874,7 +874,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 7, "startOffset": 123, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -885,7 +885,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 7, "startOffset": 125, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -896,7 +896,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 7, "startOffset": 129, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -907,7 +907,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 7, "startOffset": 131, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 18, @@ -918,7 +918,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 7, "startOffset": 132, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 19, @@ -929,7 +929,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 19, "startLine": 7, "startOffset": 134, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -940,7 +940,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 8, "startOffset": 136, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -951,7 +951,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 8, "startOffset": 142, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -962,7 +962,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 8, "startOffset": 143, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -973,7 +973,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 8, "startOffset": 145, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -984,7 +984,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 8, "startOffset": 149, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -995,7 +995,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 8, "startOffset": 151, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 18, @@ -1006,7 +1006,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 8, "startOffset": 152, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 19, @@ -1017,7 +1017,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 19, "startLine": 8, "startOffset": 154, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1028,7 +1028,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 9, "startOffset": 156, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1039,7 +1039,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 9, "startOffset": 162, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1050,7 +1050,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 9, "startOffset": 163, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1061,7 +1061,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 9, "startOffset": 165, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1072,7 +1072,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 9, "startOffset": 169, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -1083,7 +1083,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 9, "startOffset": 171, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 20, @@ -1094,7 +1094,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 9, "startOffset": 175, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1105,7 +1105,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 10, "startOffset": 177, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1116,7 +1116,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 10, "startOffset": 183, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1127,7 +1127,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 10, "startOffset": 184, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1138,7 +1138,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 10, "startOffset": 186, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1149,7 +1149,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 10, "startOffset": 190, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -1160,7 +1160,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 10, "startOffset": 192, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 20, @@ -1171,7 +1171,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 10, "startOffset": 196, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1182,7 +1182,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 11, "startOffset": 198, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1193,7 +1193,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 11, "startOffset": 204, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1204,7 +1204,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 11, "startOffset": 205, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1215,7 +1215,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 11, "startOffset": 207, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1226,7 +1226,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 11, "startOffset": 211, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -1237,7 +1237,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 11, "startOffset": 213, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 20, @@ -1248,7 +1248,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 11, "startOffset": 214, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 21, @@ -1259,7 +1259,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 11, "startOffset": 218, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1270,7 +1270,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 12, "startOffset": 220, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1281,7 +1281,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 12, "startOffset": 226, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1292,7 +1292,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 12, "startOffset": 227, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1303,7 +1303,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 12, "startOffset": 229, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1314,7 +1314,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 12, "startOffset": 233, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -1325,7 +1325,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 12, "startOffset": 235, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 20, @@ -1336,7 +1336,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 12, "startOffset": 236, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 21, @@ -1347,7 +1347,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 12, "startOffset": 240, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1358,7 +1358,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 13, "startOffset": 242, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1369,7 +1369,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 13, "startOffset": 248, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1380,7 +1380,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 13, "startOffset": 249, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1391,7 +1391,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 13, "startOffset": 251, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1402,7 +1402,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 13, "startOffset": 255, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -1413,7 +1413,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 13, "startOffset": 257, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 20, @@ -1424,7 +1424,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 13, "startOffset": 258, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 21, @@ -1435,7 +1435,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 13, "startOffset": 262, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1446,7 +1446,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 14, "startOffset": 264, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1457,7 +1457,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 14, "startOffset": 270, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1468,7 +1468,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 14, "startOffset": 271, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1479,7 +1479,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 14, "startOffset": 273, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1490,7 +1490,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 14, "startOffset": 277, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 16, @@ -1501,7 +1501,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 14, "startOffset": 279, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 20, @@ -1512,7 +1512,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 14, "startOffset": 280, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 21, @@ -1523,7 +1523,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 14, "startOffset": 284, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1534,7 +1534,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 15, "startOffset": 286, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1545,7 +1545,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 15, "startOffset": 292, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1556,7 +1556,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 15, "startOffset": 293, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1567,7 +1567,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 15, "startOffset": 295, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1578,7 +1578,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 15, "startOffset": 299, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -1589,7 +1589,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 15, "startOffset": 301, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 18, @@ -1600,7 +1600,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 15, "startOffset": 303, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1611,7 +1611,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 16, "startOffset": 305, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1622,7 +1622,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 16, "startOffset": 311, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1633,7 +1633,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 16, "startOffset": 312, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -1644,7 +1644,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 16, "startOffset": 314, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -1655,7 +1655,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 16, "startOffset": 318, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -1666,7 +1666,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 16, "startOffset": 320, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 18, @@ -1677,7 +1677,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 16, "startOffset": 322, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1688,7 +1688,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 17, "startOffset": 324, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1699,7 +1699,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 17, "startOffset": 330, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1710,7 +1710,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 17, "startOffset": 331, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 15, @@ -1721,7 +1721,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 17, "startOffset": 333, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 17, @@ -1732,7 +1732,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 17, "startOffset": 340, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 24, @@ -1743,7 +1743,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 19, "startLine": 17, "startOffset": 342, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 25, @@ -1754,7 +1754,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 17, "startOffset": 348, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1765,7 +1765,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 18, "startOffset": 350, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1776,7 +1776,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 18, "startOffset": 356, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1787,7 +1787,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 18, "startOffset": 357, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -1798,7 +1798,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 18, "startOffset": 359, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -1809,7 +1809,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 18, "startOffset": 367, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 23, @@ -1820,7 +1820,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 18, "startOffset": 369, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 24, @@ -1831,7 +1831,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 18, "startOffset": 373, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1842,7 +1842,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 19, "startOffset": 375, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1853,7 +1853,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 19, "startOffset": 381, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1864,7 +1864,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 19, "startOffset": 382, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -1875,7 +1875,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 19, "startOffset": 384, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -1886,7 +1886,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 19, "startOffset": 392, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 24, @@ -1897,7 +1897,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 19, "startOffset": 394, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 25, @@ -1908,7 +1908,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 19, "startOffset": 399, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1919,7 +1919,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 20, "startOffset": 401, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -1930,7 +1930,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 20, "startOffset": 407, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -1941,7 +1941,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 20, "startOffset": 408, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -1952,7 +1952,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 20, "startOffset": 410, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -1963,7 +1963,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 20, "startOffset": 415, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -1974,7 +1974,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 20, "startOffset": 417, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 21, @@ -1985,7 +1985,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 20, "startOffset": 421, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -1996,7 +1996,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 21, "startOffset": 423, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -2007,7 +2007,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 21, "startOffset": 429, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -2018,7 +2018,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 21, "startOffset": 430, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 17, @@ -2029,7 +2029,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 21, "startOffset": 432, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 19, @@ -2040,7 +2040,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 19, "startLine": 21, "startOffset": 441, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -2051,7 +2051,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 21, "startOffset": 443, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 22, @@ -2062,7 +2062,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 21, "startOffset": 444, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 23, @@ -2073,7 +2073,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 21, "startOffset": 445, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 30, @@ -2084,7 +2084,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 21, "startOffset": 447, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 31, @@ -2095,7 +2095,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 31, "startLine": 21, "startOffset": 453, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 32, @@ -2106,7 +2106,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 32, "startLine": 21, "startOffset": 454, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 37, @@ -2117,7 +2117,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 34, "startLine": 21, "startOffset": 456, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 40, @@ -2128,7 +2128,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 21, "startOffset": 461, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 42, @@ -2139,7 +2139,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 42, "startLine": 21, "startOffset": 464, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 43, @@ -2150,7 +2150,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 43, "startLine": 21, "startOffset": 465, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 44, @@ -2161,7 +2161,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 44, "startLine": 21, "startOffset": 466, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -2172,7 +2172,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 22, "startOffset": 468, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -2183,7 +2183,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 22, "startOffset": 474, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -2194,7 +2194,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 22, "startOffset": 475, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 10, @@ -2205,7 +2205,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 22, "startOffset": 477, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 17, @@ -2216,7 +2216,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 12, "startLine": 22, "startOffset": 479, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -2227,7 +2227,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 22, "startOffset": 485, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 22, @@ -2238,7 +2238,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 22, "startOffset": 487, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 23, @@ -2249,7 +2249,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 22, "startOffset": 490, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 27, @@ -2260,7 +2260,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 22, "startOffset": 492, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 34, @@ -2271,7 +2271,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 29, "startLine": 22, "startOffset": 496, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 35, @@ -2282,7 +2282,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 22, "startOffset": 502, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 39, @@ -2293,7 +2293,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 37, "startLine": 22, "startOffset": 504, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 40, @@ -2304,7 +2304,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 40, "startLine": 22, "startOffset": 507, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 47, @@ -2315,7 +2315,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 42, "startLine": 22, "startOffset": 509, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 48, @@ -2326,7 +2326,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 48, "startLine": 22, "startOffset": 515, - "tokenTypeIdx": 73, + "tokenTypeIdx": 64, }, { "endColumn": 49, @@ -2337,7 +2337,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 49, "startLine": 22, "startOffset": 516, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 53, @@ -2348,7 +2348,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 51, "startLine": 22, "startOffset": 518, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 54, @@ -2359,7 +2359,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 54, "startLine": 22, "startOffset": 521, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 56, @@ -2370,7 +2370,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 56, "startLine": 22, "startOffset": 523, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 58, @@ -2381,7 +2381,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 58, "startLine": 22, "startOffset": 525, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 60, @@ -2392,7 +2392,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 60, "startLine": 22, "startOffset": 527, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 8, @@ -2403,7 +2403,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 3, "startLine": 23, "startOffset": 531, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -2414,7 +2414,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 23, "startOffset": 537, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -2425,7 +2425,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 23, "startOffset": 539, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 13, @@ -2436,7 +2436,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 13, "startLine": 23, "startOffset": 541, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -2447,7 +2447,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 3, "startLine": 24, "startOffset": 545, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -2458,7 +2458,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 24, "startOffset": 551, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -2469,7 +2469,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 24, "startOffset": 553, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 13, @@ -2480,7 +2480,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 13, "startLine": 24, "startOffset": 555, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -2491,7 +2491,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 3, "startLine": 25, "startOffset": 559, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -2502,7 +2502,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 25, "startOffset": 565, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -2513,7 +2513,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 25, "startOffset": 567, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 1, @@ -2524,7 +2524,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 26, "startOffset": 570, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -2535,7 +2535,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 2, "startLine": 26, "startOffset": 571, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -2546,7 +2546,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 27, "startOffset": 573, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -2557,7 +2557,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 27, "startOffset": 579, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -2568,7 +2568,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 27, "startOffset": 580, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -2579,7 +2579,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 27, "startOffset": 582, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -2590,7 +2590,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 13, "startLine": 27, "startOffset": 585, - "tokenTypeIdx": 46, + "tokenTypeIdx": 48, }, { "endColumn": 14, @@ -2601,7 +2601,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 27, "startOffset": 586, - "tokenTypeIdx": 47, + "tokenTypeIdx": 49, }, { "endColumn": 16, @@ -2612,7 +2612,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 16, "startLine": 27, "startOffset": 588, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 18, @@ -2623,7 +2623,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 27, "startOffset": 590, - "tokenTypeIdx": 46, + "tokenTypeIdx": 48, }, { "endColumn": 21, @@ -2634,7 +2634,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 27, "startOffset": 592, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 22, @@ -2645,7 +2645,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 27, "startOffset": 594, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 25, @@ -2656,7 +2656,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 27, "startOffset": 596, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 26, @@ -2667,7 +2667,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 26, "startLine": 27, "startOffset": 598, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 29, @@ -2678,7 +2678,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 27, "startOffset": 600, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 31, @@ -2689,7 +2689,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 31, "startLine": 27, "startOffset": 603, - "tokenTypeIdx": 47, + "tokenTypeIdx": 49, }, { "endColumn": 32, @@ -2700,7 +2700,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 32, "startLine": 27, "startOffset": 604, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -2711,7 +2711,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 28, "startOffset": 606, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -2722,7 +2722,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 28, "startOffset": 612, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -2733,7 +2733,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 8, "startLine": 28, "startOffset": 613, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -2744,7 +2744,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 10, "startLine": 28, "startOffset": 615, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -2755,7 +2755,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 13, "startLine": 28, "startOffset": 618, - "tokenTypeIdx": 46, + "tokenTypeIdx": 48, }, { "endColumn": 14, @@ -2766,7 +2766,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 14, "startLine": 28, "startOffset": 619, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 15, @@ -2777,7 +2777,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 28, "startOffset": 620, - "tokenTypeIdx": 47, + "tokenTypeIdx": 49, }, { "endColumn": 17, @@ -2788,7 +2788,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 28, "startOffset": 622, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -2799,7 +2799,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 19, "startLine": 28, "startOffset": 624, - "tokenTypeIdx": 46, + "tokenTypeIdx": 48, }, { "endColumn": 22, @@ -2810,7 +2810,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 28, "startOffset": 626, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 23, @@ -2821,7 +2821,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 28, "startOffset": 628, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 26, @@ -2832,7 +2832,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 28, "startOffset": 630, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 27, @@ -2843,7 +2843,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 27, "startLine": 28, "startOffset": 632, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 30, @@ -2854,7 +2854,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 29, "startLine": 28, "startOffset": 634, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 32, @@ -2865,7 +2865,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 32, "startLine": 28, "startOffset": 637, - "tokenTypeIdx": 47, + "tokenTypeIdx": 49, }, { "endColumn": 33, @@ -2876,7 +2876,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 33, "startLine": 28, "startOffset": 638, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -2887,7 +2887,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 30, "startOffset": 658, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -2898,7 +2898,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 30, "startOffset": 664, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -2909,7 +2909,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 30, "startOffset": 666, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -2920,7 +2920,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 30, "startOffset": 668, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -2931,7 +2931,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 30, "startOffset": 675, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 29, @@ -2942,7 +2942,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 30, "startOffset": 677, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 30, @@ -2953,7 +2953,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 30, "startLine": 30, "startOffset": 687, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -2964,7 +2964,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 31, "startOffset": 700, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -2975,7 +2975,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 31, "startOffset": 706, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -2986,7 +2986,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 31, "startOffset": 708, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -2997,7 +2997,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 31, "startOffset": 710, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3008,7 +3008,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 31, "startOffset": 717, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -3019,7 +3019,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 31, "startOffset": 719, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 22, @@ -3030,7 +3030,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 31, "startOffset": 721, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3041,7 +3041,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 32, "startOffset": 734, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3052,7 +3052,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 32, "startOffset": 740, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3063,7 +3063,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 32, "startOffset": 742, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3074,7 +3074,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 32, "startOffset": 744, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3085,7 +3085,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 32, "startOffset": 751, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 24, @@ -3096,7 +3096,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 32, "startOffset": 753, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 25, @@ -3107,7 +3107,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 32, "startOffset": 758, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3118,7 +3118,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 33, "startOffset": 771, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3129,7 +3129,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 33, "startOffset": 777, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3140,7 +3140,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 33, "startOffset": 779, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3151,7 +3151,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 33, "startOffset": 781, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3162,7 +3162,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 33, "startOffset": 788, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -3173,7 +3173,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 33, "startOffset": 790, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 25, @@ -3184,7 +3184,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 33, "startOffset": 791, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 26, @@ -3195,7 +3195,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 26, "startLine": 33, "startOffset": 796, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3206,7 +3206,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 34, "startOffset": 809, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3217,7 +3217,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 34, "startOffset": 815, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3228,7 +3228,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 34, "startOffset": 817, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3239,7 +3239,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 34, "startOffset": 819, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3250,7 +3250,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 34, "startOffset": 826, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -3261,7 +3261,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 34, "startOffset": 828, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 25, @@ -3272,7 +3272,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 34, "startOffset": 829, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 26, @@ -3283,7 +3283,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 26, "startLine": 34, "startOffset": 834, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3294,7 +3294,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 35, "startOffset": 847, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3305,7 +3305,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 35, "startOffset": 853, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3316,7 +3316,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 35, "startOffset": 855, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3327,7 +3327,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 35, "startOffset": 857, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3338,7 +3338,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 35, "startOffset": 864, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 53, @@ -3349,7 +3349,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 35, "startOffset": 866, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 54, @@ -3360,7 +3360,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 54, "startLine": 35, "startOffset": 900, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3371,7 +3371,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 36, "startOffset": 912, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3382,7 +3382,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 36, "startOffset": 918, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3393,7 +3393,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 36, "startOffset": 920, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3404,7 +3404,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 36, "startOffset": 922, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3415,7 +3415,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 36, "startOffset": 929, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -3426,7 +3426,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 36, "startOffset": 931, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 54, @@ -3437,7 +3437,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 36, "startOffset": 932, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 55, @@ -3448,7 +3448,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 55, "startLine": 36, "startOffset": 966, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3459,7 +3459,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 37, "startOffset": 978, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3470,7 +3470,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 37, "startOffset": 984, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3481,7 +3481,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 37, "startOffset": 986, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3492,7 +3492,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 37, "startOffset": 988, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3503,7 +3503,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 37, "startOffset": 995, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -3514,7 +3514,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 37, "startOffset": 997, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 54, @@ -3525,7 +3525,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 37, "startOffset": 998, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 55, @@ -3536,7 +3536,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 55, "startLine": 37, "startOffset": 1032, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3547,7 +3547,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 38, "startOffset": 1044, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3558,7 +3558,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 38, "startOffset": 1050, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3569,7 +3569,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 38, "startOffset": 1052, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3580,7 +3580,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 38, "startOffset": 1054, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3591,7 +3591,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 38, "startOffset": 1061, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 24, @@ -3602,7 +3602,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 38, "startOffset": 1063, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 25, @@ -3613,7 +3613,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 38, "startOffset": 1068, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3624,7 +3624,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 39, "startOffset": 1079, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3635,7 +3635,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 39, "startOffset": 1085, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3646,7 +3646,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 39, "startOffset": 1087, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3657,7 +3657,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 39, "startOffset": 1089, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3668,7 +3668,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 39, "startOffset": 1096, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 24, @@ -3679,7 +3679,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 39, "startOffset": 1098, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 25, @@ -3690,7 +3690,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 25, "startLine": 39, "startOffset": 1103, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3701,7 +3701,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 40, "startOffset": 1114, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3712,7 +3712,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 40, "startOffset": 1120, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3723,7 +3723,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 40, "startOffset": 1122, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3734,7 +3734,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 40, "startOffset": 1124, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3745,7 +3745,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 40, "startOffset": 1131, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 23, @@ -3756,7 +3756,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 40, "startOffset": 1133, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 24, @@ -3767,7 +3767,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 40, "startOffset": 1137, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3778,7 +3778,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 41, "startOffset": 1148, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3789,7 +3789,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 41, "startOffset": 1154, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3800,7 +3800,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 41, "startOffset": 1156, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3811,7 +3811,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 41, "startOffset": 1158, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3822,7 +3822,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 41, "startOffset": 1165, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 23, @@ -3833,7 +3833,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 41, "startOffset": 1167, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 24, @@ -3844,7 +3844,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 41, "startOffset": 1171, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3855,7 +3855,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 42, "startOffset": 1182, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3866,7 +3866,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 42, "startOffset": 1188, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3877,7 +3877,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 42, "startOffset": 1190, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3888,7 +3888,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 42, "startOffset": 1192, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3899,7 +3899,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 42, "startOffset": 1199, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 38, @@ -3910,7 +3910,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 42, "startOffset": 1201, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 39, @@ -3921,7 +3921,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 42, "startOffset": 1220, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -3932,7 +3932,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 43, "startOffset": 1229, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -3943,7 +3943,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 43, "startOffset": 1235, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -3954,7 +3954,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 43, "startOffset": 1237, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -3965,7 +3965,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 43, "startOffset": 1239, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -3976,7 +3976,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 43, "startOffset": 1246, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 36, @@ -3987,7 +3987,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 43, "startOffset": 1248, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 37, @@ -3998,7 +3998,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 37, "startLine": 43, "startOffset": 1265, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4009,7 +4009,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 44, "startOffset": 1274, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4020,7 +4020,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 44, "startOffset": 1280, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4031,7 +4031,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 44, "startOffset": 1282, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -4042,7 +4042,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 44, "startOffset": 1284, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -4053,7 +4053,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 44, "startOffset": 1291, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -4064,7 +4064,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 44, "startOffset": 1293, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 23, @@ -4075,7 +4075,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 44, "startOffset": 1296, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4086,7 +4086,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 46, "startOffset": 1327, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4097,7 +4097,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 46, "startOffset": 1333, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4108,7 +4108,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 46, "startOffset": 1335, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -4119,7 +4119,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 46, "startOffset": 1337, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -4130,7 +4130,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 46, "startOffset": 1344, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 36, @@ -4141,7 +4141,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 46, "startOffset": 1346, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 37, @@ -4152,7 +4152,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 37, "startLine": 46, "startOffset": 1363, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4163,7 +4163,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 47, "startOffset": 1376, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4174,7 +4174,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 47, "startOffset": 1382, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4185,7 +4185,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 47, "startOffset": 1384, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -4196,7 +4196,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 47, "startOffset": 1386, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -4207,7 +4207,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 47, "startOffset": 1393, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 40, @@ -4218,7 +4218,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 47, "startOffset": 1395, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 41, @@ -4229,7 +4229,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 41, "startLine": 47, "startOffset": 1416, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4240,7 +4240,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 48, "startOffset": 1428, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4251,7 +4251,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 48, "startOffset": 1434, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4262,7 +4262,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 48, "startOffset": 1436, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -4273,7 +4273,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 48, "startOffset": 1438, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -4284,7 +4284,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 48, "startOffset": 1445, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 28, @@ -4295,7 +4295,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 48, "startOffset": 1447, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 29, @@ -4306,7 +4306,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 29, "startLine": 48, "startOffset": 1456, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4317,7 +4317,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 49, "startOffset": 1467, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4328,7 +4328,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 49, "startOffset": 1473, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4339,7 +4339,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 49, "startOffset": 1475, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -4350,7 +4350,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 49, "startOffset": 1477, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -4361,7 +4361,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 49, "startOffset": 1484, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 29, @@ -4372,7 +4372,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 49, "startOffset": 1486, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 30, @@ -4383,7 +4383,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 30, "startLine": 49, "startOffset": 1496, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4394,7 +4394,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 51, "startOffset": 1521, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4405,7 +4405,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 51, "startOffset": 1527, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4416,7 +4416,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 51, "startOffset": 1529, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4427,7 +4427,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 51, "startOffset": 1531, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4438,7 +4438,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 51, "startOffset": 1535, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -4449,7 +4449,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 51, "startOffset": 1537, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 28, @@ -4460,7 +4460,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 51, "startOffset": 1548, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4471,7 +4471,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 52, "startOffset": 1561, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4482,7 +4482,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 52, "startOffset": 1567, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4493,7 +4493,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 52, "startOffset": 1569, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4504,7 +4504,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 52, "startOffset": 1571, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4515,7 +4515,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 52, "startOffset": 1575, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -4526,7 +4526,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 52, "startOffset": 1577, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 52, @@ -4537,7 +4537,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 52, "startOffset": 1612, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4548,7 +4548,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 53, "startOffset": 1624, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4559,7 +4559,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 53, "startOffset": 1630, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4570,7 +4570,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 53, "startOffset": 1632, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4581,7 +4581,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 53, "startOffset": 1634, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4592,7 +4592,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 53, "startOffset": 1638, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -4603,7 +4603,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 53, "startOffset": 1640, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -4614,7 +4614,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 53, "startOffset": 1641, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 53, @@ -4625,7 +4625,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 53, "startOffset": 1676, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4636,7 +4636,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 54, "startOffset": 1688, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4647,7 +4647,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 54, "startOffset": 1694, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4658,7 +4658,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 54, "startOffset": 1696, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4669,7 +4669,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 54, "startOffset": 1698, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4680,7 +4680,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 54, "startOffset": 1702, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -4691,7 +4691,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 54, "startOffset": 1704, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -4702,7 +4702,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 54, "startOffset": 1705, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 53, @@ -4713,7 +4713,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 54, "startOffset": 1740, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4724,7 +4724,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 55, "startOffset": 1752, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4735,7 +4735,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 55, "startOffset": 1758, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4746,7 +4746,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 55, "startOffset": 1760, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4757,7 +4757,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 55, "startOffset": 1762, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4768,7 +4768,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 55, "startOffset": 1766, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -4779,7 +4779,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 55, "startOffset": 1768, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 23, @@ -4790,7 +4790,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 55, "startOffset": 1774, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4801,7 +4801,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 56, "startOffset": 1785, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4812,7 +4812,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 56, "startOffset": 1791, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4823,7 +4823,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 56, "startOffset": 1793, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4834,7 +4834,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 56, "startOffset": 1795, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4845,7 +4845,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 56, "startOffset": 1799, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -4856,7 +4856,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 56, "startOffset": 1801, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 23, @@ -4867,7 +4867,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 56, "startOffset": 1807, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4878,7 +4878,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 57, "startOffset": 1818, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4889,7 +4889,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 57, "startOffset": 1824, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4900,7 +4900,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 57, "startOffset": 1826, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4911,7 +4911,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 57, "startOffset": 1828, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4922,7 +4922,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 57, "startOffset": 1832, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -4933,7 +4933,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 57, "startOffset": 1834, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 22, @@ -4944,7 +4944,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 57, "startOffset": 1839, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -4955,7 +4955,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 58, "startOffset": 1850, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -4966,7 +4966,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 58, "startOffset": 1856, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -4977,7 +4977,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 58, "startOffset": 1858, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -4988,7 +4988,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 58, "startOffset": 1860, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -4999,7 +4999,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 58, "startOffset": 1864, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -5010,7 +5010,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 58, "startOffset": 1866, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 22, @@ -5021,7 +5021,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 58, "startOffset": 1871, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5032,7 +5032,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 59, "startOffset": 1882, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5043,7 +5043,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 59, "startOffset": 1888, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5054,7 +5054,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 59, "startOffset": 1890, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5065,7 +5065,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 59, "startOffset": 1892, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5076,7 +5076,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 59, "startOffset": 1896, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 36, @@ -5087,7 +5087,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 59, "startOffset": 1898, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 37, @@ -5098,7 +5098,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 37, "startLine": 59, "startOffset": 1918, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5109,7 +5109,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 60, "startOffset": 1927, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5120,7 +5120,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 60, "startOffset": 1933, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5131,7 +5131,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 60, "startOffset": 1935, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5142,7 +5142,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 60, "startOffset": 1937, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5153,7 +5153,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 60, "startOffset": 1941, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -5164,7 +5164,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 60, "startOffset": 1943, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 35, @@ -5175,7 +5175,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 60, "startOffset": 1961, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5186,7 +5186,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 61, "startOffset": 1970, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5197,7 +5197,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 61, "startOffset": 1976, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5208,7 +5208,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 61, "startOffset": 1978, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5219,7 +5219,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 61, "startOffset": 1980, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5230,7 +5230,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 61, "startOffset": 1984, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -5241,7 +5241,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 61, "startOffset": 1986, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 21, @@ -5252,7 +5252,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 61, "startOffset": 1990, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5263,7 +5263,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 63, "startOffset": 2021, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5274,7 +5274,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 63, "startOffset": 2027, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5285,7 +5285,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 63, "startOffset": 2029, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5296,7 +5296,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 63, "startOffset": 2031, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5307,7 +5307,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 63, "startOffset": 2035, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -5318,7 +5318,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 63, "startOffset": 2037, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 35, @@ -5329,7 +5329,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 63, "startOffset": 2055, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5340,7 +5340,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 64, "startOffset": 2068, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5351,7 +5351,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 64, "startOffset": 2074, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5362,7 +5362,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 64, "startOffset": 2076, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5373,7 +5373,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 64, "startOffset": 2078, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5384,7 +5384,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 64, "startOffset": 2082, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 38, @@ -5395,7 +5395,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 64, "startOffset": 2084, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 39, @@ -5406,7 +5406,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 64, "startOffset": 2106, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5417,7 +5417,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 65, "startOffset": 2118, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5428,7 +5428,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 65, "startOffset": 2124, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5439,7 +5439,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 65, "startOffset": 2126, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5450,7 +5450,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 65, "startOffset": 2128, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5461,7 +5461,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 65, "startOffset": 2132, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 26, @@ -5472,7 +5472,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 65, "startOffset": 2134, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 27, @@ -5483,7 +5483,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 27, "startLine": 65, "startOffset": 2144, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5494,7 +5494,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 66, "startOffset": 2155, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5505,7 +5505,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 66, "startOffset": 2161, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5516,7 +5516,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 66, "startOffset": 2163, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5527,7 +5527,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 66, "startOffset": 2165, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5538,7 +5538,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 66, "startOffset": 2169, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -5549,7 +5549,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 66, "startOffset": 2171, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 28, @@ -5560,7 +5560,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 66, "startOffset": 2182, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5571,7 +5571,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 68, "startOffset": 2207, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5582,7 +5582,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 68, "startOffset": 2213, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5593,7 +5593,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 68, "startOffset": 2215, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5604,7 +5604,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 68, "startOffset": 2217, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5615,7 +5615,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 68, "startOffset": 2221, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -5626,7 +5626,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 68, "startOffset": 2223, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 28, @@ -5637,7 +5637,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 68, "startOffset": 2234, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5648,7 +5648,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 69, "startOffset": 2247, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5659,7 +5659,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 69, "startOffset": 2253, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5670,7 +5670,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 69, "startOffset": 2255, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5681,7 +5681,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 69, "startOffset": 2257, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5692,7 +5692,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 69, "startOffset": 2261, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -5703,7 +5703,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 69, "startOffset": 2263, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 52, @@ -5714,7 +5714,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 69, "startOffset": 2298, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5725,7 +5725,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 70, "startOffset": 2310, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5736,7 +5736,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 70, "startOffset": 2316, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5747,7 +5747,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 70, "startOffset": 2318, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5758,7 +5758,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 70, "startOffset": 2320, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5769,7 +5769,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 70, "startOffset": 2324, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -5780,7 +5780,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 70, "startOffset": 2326, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -5791,7 +5791,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 70, "startOffset": 2327, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 53, @@ -5802,7 +5802,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 70, "startOffset": 2362, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5813,7 +5813,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 71, "startOffset": 2374, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5824,7 +5824,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 71, "startOffset": 2380, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5835,7 +5835,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 71, "startOffset": 2382, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5846,7 +5846,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 71, "startOffset": 2384, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5857,7 +5857,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 71, "startOffset": 2388, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -5868,7 +5868,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 71, "startOffset": 2390, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -5879,7 +5879,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 71, "startOffset": 2391, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 53, @@ -5890,7 +5890,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 71, "startOffset": 2426, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5901,7 +5901,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 72, "startOffset": 2438, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5912,7 +5912,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 72, "startOffset": 2444, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -5923,7 +5923,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 72, "startOffset": 2446, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -5934,7 +5934,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 72, "startOffset": 2448, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -5945,7 +5945,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 72, "startOffset": 2452, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -5956,7 +5956,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 72, "startOffset": 2454, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 23, @@ -5967,7 +5967,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 72, "startOffset": 2460, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -5978,7 +5978,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 73, "startOffset": 2471, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -5989,7 +5989,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 73, "startOffset": 2477, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6000,7 +6000,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 73, "startOffset": 2479, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6011,7 +6011,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 73, "startOffset": 2481, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6022,7 +6022,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 73, "startOffset": 2485, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -6033,7 +6033,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 73, "startOffset": 2487, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 23, @@ -6044,7 +6044,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 73, "startOffset": 2493, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6055,7 +6055,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 74, "startOffset": 2504, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6066,7 +6066,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 74, "startOffset": 2510, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6077,7 +6077,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 74, "startOffset": 2512, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6088,7 +6088,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 74, "startOffset": 2514, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6099,7 +6099,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 74, "startOffset": 2518, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -6110,7 +6110,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 74, "startOffset": 2520, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 22, @@ -6121,7 +6121,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 74, "startOffset": 2525, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6132,7 +6132,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 75, "startOffset": 2536, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6143,7 +6143,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 75, "startOffset": 2542, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6154,7 +6154,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 75, "startOffset": 2544, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6165,7 +6165,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 75, "startOffset": 2546, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6176,7 +6176,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 75, "startOffset": 2550, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -6187,7 +6187,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 75, "startOffset": 2552, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 22, @@ -6198,7 +6198,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 75, "startOffset": 2557, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6209,7 +6209,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 76, "startOffset": 2568, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6220,7 +6220,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 76, "startOffset": 2574, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6231,7 +6231,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 76, "startOffset": 2576, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6242,7 +6242,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 76, "startOffset": 2578, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6253,7 +6253,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 76, "startOffset": 2582, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 36, @@ -6264,7 +6264,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 76, "startOffset": 2584, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 37, @@ -6275,7 +6275,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 37, "startLine": 76, "startOffset": 2604, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6286,7 +6286,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 77, "startOffset": 2613, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6297,7 +6297,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 77, "startOffset": 2619, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6308,7 +6308,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 77, "startOffset": 2621, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6319,7 +6319,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 77, "startOffset": 2623, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6330,7 +6330,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 77, "startOffset": 2627, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -6341,7 +6341,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 77, "startOffset": 2629, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 35, @@ -6352,7 +6352,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 77, "startOffset": 2647, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6363,7 +6363,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 78, "startOffset": 2656, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6374,7 +6374,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 78, "startOffset": 2662, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6385,7 +6385,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 78, "startOffset": 2664, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6396,7 +6396,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 78, "startOffset": 2666, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6407,7 +6407,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 78, "startOffset": 2670, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -6418,7 +6418,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 78, "startOffset": 2672, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 21, @@ -6429,7 +6429,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 78, "startOffset": 2676, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6440,7 +6440,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 80, "startOffset": 2707, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6451,7 +6451,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 80, "startOffset": 2713, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6462,7 +6462,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 80, "startOffset": 2715, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6473,7 +6473,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 80, "startOffset": 2717, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6484,7 +6484,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 80, "startOffset": 2721, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -6495,7 +6495,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 80, "startOffset": 2723, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 35, @@ -6506,7 +6506,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 80, "startOffset": 2741, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6517,7 +6517,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 81, "startOffset": 2754, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6528,7 +6528,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 81, "startOffset": 2760, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6539,7 +6539,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 81, "startOffset": 2762, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6550,7 +6550,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 81, "startOffset": 2764, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6561,7 +6561,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 81, "startOffset": 2768, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 38, @@ -6572,7 +6572,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 81, "startOffset": 2770, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 39, @@ -6583,7 +6583,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 81, "startOffset": 2792, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6594,7 +6594,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 82, "startOffset": 2804, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6605,7 +6605,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 82, "startOffset": 2810, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6616,7 +6616,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 82, "startOffset": 2812, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6627,7 +6627,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 82, "startOffset": 2814, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6638,7 +6638,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 82, "startOffset": 2818, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 26, @@ -6649,7 +6649,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 82, "startOffset": 2820, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 27, @@ -6660,7 +6660,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 27, "startLine": 82, "startOffset": 2830, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6671,7 +6671,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 83, "startOffset": 2841, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6682,7 +6682,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 83, "startOffset": 2847, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6693,7 +6693,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 83, "startOffset": 2849, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6704,7 +6704,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 83, "startOffset": 2851, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6715,7 +6715,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 83, "startOffset": 2855, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -6726,7 +6726,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 83, "startOffset": 2857, - "tokenTypeIdx": 34, + "tokenTypeIdx": 36, }, { "endColumn": 28, @@ -6737,7 +6737,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 83, "startOffset": 2868, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6748,7 +6748,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 85, "startOffset": 2891, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6759,7 +6759,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 85, "startOffset": 2897, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6770,7 +6770,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 85, "startOffset": 2899, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6781,7 +6781,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 85, "startOffset": 2901, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6792,7 +6792,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 85, "startOffset": 2905, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -6803,7 +6803,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 85, "startOffset": 2907, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 28, @@ -6814,7 +6814,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 85, "startOffset": 2918, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6825,7 +6825,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 86, "startOffset": 2931, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6836,7 +6836,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 86, "startOffset": 2937, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6847,7 +6847,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 86, "startOffset": 2939, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6858,7 +6858,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 86, "startOffset": 2941, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6869,7 +6869,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 86, "startOffset": 2945, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -6880,7 +6880,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 86, "startOffset": 2947, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 20, @@ -6891,7 +6891,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 86, "startOffset": 2950, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6902,7 +6902,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 87, "startOffset": 2963, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6913,7 +6913,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 87, "startOffset": 2969, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -6924,7 +6924,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 87, "startOffset": 2971, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -6935,7 +6935,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 87, "startOffset": 2973, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -6946,7 +6946,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 87, "startOffset": 2977, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -6957,7 +6957,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 87, "startOffset": 2979, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 21, @@ -6968,7 +6968,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 87, "startOffset": 2983, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -6979,7 +6979,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 88, "startOffset": 2996, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -6990,7 +6990,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 88, "startOffset": 3002, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7001,7 +7001,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 88, "startOffset": 3004, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7012,7 +7012,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 88, "startOffset": 3006, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7023,7 +7023,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 88, "startOffset": 3010, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -7034,7 +7034,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 88, "startOffset": 3012, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 22, @@ -7045,7 +7045,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 88, "startOffset": 3017, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7056,7 +7056,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 89, "startOffset": 3030, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7067,7 +7067,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 89, "startOffset": 3036, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7078,7 +7078,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 89, "startOffset": 3038, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7089,7 +7089,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 89, "startOffset": 3040, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7100,7 +7100,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 89, "startOffset": 3044, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -7111,7 +7111,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 89, "startOffset": 3046, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 21, @@ -7122,7 +7122,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 89, "startOffset": 3050, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7133,7 +7133,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 90, "startOffset": 3063, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7144,7 +7144,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 90, "startOffset": 3069, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7155,7 +7155,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 90, "startOffset": 3071, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7166,7 +7166,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 90, "startOffset": 3073, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7177,7 +7177,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 90, "startOffset": 3077, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -7188,7 +7188,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 90, "startOffset": 3079, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 52, @@ -7199,7 +7199,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 90, "startOffset": 3114, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7210,7 +7210,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 91, "startOffset": 3126, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7221,7 +7221,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 91, "startOffset": 3132, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7232,7 +7232,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 91, "startOffset": 3134, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7243,7 +7243,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 91, "startOffset": 3136, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7254,7 +7254,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 91, "startOffset": 3140, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -7265,7 +7265,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 91, "startOffset": 3142, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 52, @@ -7276,7 +7276,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 91, "startOffset": 3177, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7287,7 +7287,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 92, "startOffset": 3189, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7298,7 +7298,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 92, "startOffset": 3195, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7309,7 +7309,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 92, "startOffset": 3197, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7320,7 +7320,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 92, "startOffset": 3199, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7331,7 +7331,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 92, "startOffset": 3203, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -7342,7 +7342,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 92, "startOffset": 3205, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 52, @@ -7353,7 +7353,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 92, "startOffset": 3240, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7364,7 +7364,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 93, "startOffset": 3252, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7375,7 +7375,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 93, "startOffset": 3258, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7386,7 +7386,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 93, "startOffset": 3260, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7397,7 +7397,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 93, "startOffset": 3262, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7408,7 +7408,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 93, "startOffset": 3266, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -7419,7 +7419,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 93, "startOffset": 3268, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 23, @@ -7430,7 +7430,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 93, "startOffset": 3274, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7441,7 +7441,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 94, "startOffset": 3285, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7452,7 +7452,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 94, "startOffset": 3291, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7463,7 +7463,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 94, "startOffset": 3293, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7474,7 +7474,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 94, "startOffset": 3295, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7485,7 +7485,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 94, "startOffset": 3299, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -7496,7 +7496,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 94, "startOffset": 3301, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 23, @@ -7507,7 +7507,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 94, "startOffset": 3307, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7518,7 +7518,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 95, "startOffset": 3318, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7529,7 +7529,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 95, "startOffset": 3324, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7540,7 +7540,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 95, "startOffset": 3326, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7551,7 +7551,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 95, "startOffset": 3328, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7562,7 +7562,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 95, "startOffset": 3332, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -7573,7 +7573,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 95, "startOffset": 3334, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 22, @@ -7584,7 +7584,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 95, "startOffset": 3339, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7595,7 +7595,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 96, "startOffset": 3350, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7606,7 +7606,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 96, "startOffset": 3356, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7617,7 +7617,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 96, "startOffset": 3358, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7628,7 +7628,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 96, "startOffset": 3360, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7639,7 +7639,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 96, "startOffset": 3364, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -7650,7 +7650,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 96, "startOffset": 3366, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 22, @@ -7661,7 +7661,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 96, "startOffset": 3371, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7672,7 +7672,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 97, "startOffset": 3382, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7683,7 +7683,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 97, "startOffset": 3388, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7694,7 +7694,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 97, "startOffset": 3390, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7705,7 +7705,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 97, "startOffset": 3392, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7716,7 +7716,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 97, "startOffset": 3396, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 36, @@ -7727,7 +7727,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 97, "startOffset": 3398, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 37, @@ -7738,7 +7738,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 37, "startLine": 97, "startOffset": 3418, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7749,7 +7749,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 98, "startOffset": 3427, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7760,7 +7760,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 98, "startOffset": 3433, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7771,7 +7771,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 98, "startOffset": 3435, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7782,7 +7782,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 98, "startOffset": 3437, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7793,7 +7793,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 98, "startOffset": 3441, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -7804,7 +7804,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 98, "startOffset": 3443, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 35, @@ -7815,7 +7815,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 98, "startOffset": 3461, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7826,7 +7826,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 99, "startOffset": 3470, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7837,7 +7837,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 99, "startOffset": 3476, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7848,7 +7848,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 99, "startOffset": 3478, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7859,7 +7859,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 99, "startOffset": 3480, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7870,7 +7870,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 99, "startOffset": 3484, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -7881,7 +7881,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 99, "startOffset": 3486, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 21, @@ -7892,7 +7892,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 99, "startOffset": 3490, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7903,7 +7903,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 101, "startOffset": 3521, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7914,7 +7914,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 101, "startOffset": 3527, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -7925,7 +7925,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 101, "startOffset": 3529, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -7936,7 +7936,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 101, "startOffset": 3531, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -7947,7 +7947,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 101, "startOffset": 3535, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -7958,7 +7958,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 101, "startOffset": 3537, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 35, @@ -7969,7 +7969,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 101, "startOffset": 3555, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -7980,7 +7980,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 102, "startOffset": 3568, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -7991,7 +7991,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 102, "startOffset": 3574, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8002,7 +8002,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 102, "startOffset": 3576, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8013,7 +8013,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 102, "startOffset": 3578, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8024,7 +8024,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 102, "startOffset": 3582, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 38, @@ -8035,7 +8035,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 102, "startOffset": 3584, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 39, @@ -8046,7 +8046,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 102, "startOffset": 3606, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8057,7 +8057,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 103, "startOffset": 3618, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8068,7 +8068,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 103, "startOffset": 3624, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8079,7 +8079,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 103, "startOffset": 3626, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8090,7 +8090,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 103, "startOffset": 3628, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8101,7 +8101,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 103, "startOffset": 3632, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 26, @@ -8112,7 +8112,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 103, "startOffset": 3634, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 27, @@ -8123,7 +8123,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 27, "startLine": 103, "startOffset": 3644, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8134,7 +8134,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 104, "startOffset": 3655, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8145,7 +8145,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 104, "startOffset": 3661, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8156,7 +8156,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 104, "startOffset": 3663, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8167,7 +8167,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 104, "startOffset": 3665, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8178,7 +8178,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 104, "startOffset": 3669, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -8189,7 +8189,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 104, "startOffset": 3671, - "tokenTypeIdx": 35, + "tokenTypeIdx": 37, }, { "endColumn": 28, @@ -8200,7 +8200,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 104, "startOffset": 3682, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8211,7 +8211,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 106, "startOffset": 3705, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8222,7 +8222,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 106, "startOffset": 3711, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8233,7 +8233,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 106, "startOffset": 3713, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8244,7 +8244,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 106, "startOffset": 3715, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8255,7 +8255,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 106, "startOffset": 3719, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -8266,7 +8266,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 106, "startOffset": 3721, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 28, @@ -8277,7 +8277,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 106, "startOffset": 3732, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8288,7 +8288,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 107, "startOffset": 3745, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8299,7 +8299,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 107, "startOffset": 3751, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8310,7 +8310,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 107, "startOffset": 3753, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8321,7 +8321,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 107, "startOffset": 3755, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8332,7 +8332,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 107, "startOffset": 3759, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -8343,7 +8343,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 107, "startOffset": 3761, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 20, @@ -8354,7 +8354,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 107, "startOffset": 3764, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8365,7 +8365,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 108, "startOffset": 3777, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8376,7 +8376,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 108, "startOffset": 3783, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8387,7 +8387,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 108, "startOffset": 3785, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8398,7 +8398,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 108, "startOffset": 3787, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8409,7 +8409,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 108, "startOffset": 3791, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -8420,7 +8420,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 108, "startOffset": 3793, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 21, @@ -8431,7 +8431,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 108, "startOffset": 3797, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8442,7 +8442,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 109, "startOffset": 3810, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8453,7 +8453,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 109, "startOffset": 3816, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8464,7 +8464,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 109, "startOffset": 3818, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8475,7 +8475,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 109, "startOffset": 3820, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8486,7 +8486,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 109, "startOffset": 3824, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -8497,7 +8497,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 109, "startOffset": 3826, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 22, @@ -8508,7 +8508,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 109, "startOffset": 3831, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8519,7 +8519,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 110, "startOffset": 3844, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8530,7 +8530,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 110, "startOffset": 3850, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8541,7 +8541,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 110, "startOffset": 3852, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8552,7 +8552,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 110, "startOffset": 3854, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8563,7 +8563,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 110, "startOffset": 3858, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -8574,7 +8574,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 110, "startOffset": 3860, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 21, @@ -8585,7 +8585,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 110, "startOffset": 3864, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8596,7 +8596,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 111, "startOffset": 3877, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8607,7 +8607,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 111, "startOffset": 3883, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8618,7 +8618,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 111, "startOffset": 3885, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8629,7 +8629,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 111, "startOffset": 3887, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8640,7 +8640,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 111, "startOffset": 3891, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -8651,7 +8651,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 111, "startOffset": 3893, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 52, @@ -8662,7 +8662,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 111, "startOffset": 3928, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8673,7 +8673,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 112, "startOffset": 3940, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8684,7 +8684,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 112, "startOffset": 3946, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8695,7 +8695,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 112, "startOffset": 3948, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8706,7 +8706,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 112, "startOffset": 3950, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8717,7 +8717,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 112, "startOffset": 3954, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -8728,7 +8728,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 112, "startOffset": 3956, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 52, @@ -8739,7 +8739,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 112, "startOffset": 3991, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8750,7 +8750,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 113, "startOffset": 4003, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8761,7 +8761,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 113, "startOffset": 4009, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8772,7 +8772,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 113, "startOffset": 4011, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8783,7 +8783,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 113, "startOffset": 4013, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8794,7 +8794,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 113, "startOffset": 4017, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -8805,7 +8805,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 113, "startOffset": 4019, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 52, @@ -8816,7 +8816,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 113, "startOffset": 4054, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8827,7 +8827,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 114, "startOffset": 4066, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8838,7 +8838,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 114, "startOffset": 4072, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8849,7 +8849,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 114, "startOffset": 4074, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8860,7 +8860,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 114, "startOffset": 4076, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8871,7 +8871,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 114, "startOffset": 4080, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -8882,7 +8882,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 114, "startOffset": 4082, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 23, @@ -8893,7 +8893,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 114, "startOffset": 4088, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8904,7 +8904,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 115, "startOffset": 4099, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8915,7 +8915,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 115, "startOffset": 4105, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -8926,7 +8926,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 115, "startOffset": 4107, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -8937,7 +8937,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 115, "startOffset": 4109, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -8948,7 +8948,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 115, "startOffset": 4113, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -8959,7 +8959,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 115, "startOffset": 4115, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 23, @@ -8970,7 +8970,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 115, "startOffset": 4121, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -8981,7 +8981,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 116, "startOffset": 4132, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -8992,7 +8992,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 116, "startOffset": 4138, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9003,7 +9003,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 116, "startOffset": 4140, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9014,7 +9014,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 116, "startOffset": 4142, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9025,7 +9025,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 116, "startOffset": 4146, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -9036,7 +9036,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 116, "startOffset": 4148, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 22, @@ -9047,7 +9047,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 116, "startOffset": 4153, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9058,7 +9058,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 117, "startOffset": 4164, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9069,7 +9069,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 117, "startOffset": 4170, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9080,7 +9080,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 117, "startOffset": 4172, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9091,7 +9091,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 117, "startOffset": 4174, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9102,7 +9102,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 117, "startOffset": 4178, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -9113,7 +9113,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 117, "startOffset": 4180, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 22, @@ -9124,7 +9124,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 117, "startOffset": 4185, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9135,7 +9135,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 118, "startOffset": 4196, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9146,7 +9146,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 118, "startOffset": 4202, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9157,7 +9157,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 118, "startOffset": 4204, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9168,7 +9168,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 118, "startOffset": 4206, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9179,7 +9179,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 118, "startOffset": 4210, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 36, @@ -9190,7 +9190,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 118, "startOffset": 4212, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 37, @@ -9201,7 +9201,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 37, "startLine": 118, "startOffset": 4232, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9212,7 +9212,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 119, "startOffset": 4241, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9223,7 +9223,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 119, "startOffset": 4247, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9234,7 +9234,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 119, "startOffset": 4249, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9245,7 +9245,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 119, "startOffset": 4251, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9256,7 +9256,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 119, "startOffset": 4255, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -9267,7 +9267,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 119, "startOffset": 4257, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 35, @@ -9278,7 +9278,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 119, "startOffset": 4275, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9289,7 +9289,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 120, "startOffset": 4284, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9300,7 +9300,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 120, "startOffset": 4290, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9311,7 +9311,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 120, "startOffset": 4292, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9322,7 +9322,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 120, "startOffset": 4294, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9333,7 +9333,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 120, "startOffset": 4298, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 20, @@ -9344,7 +9344,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 120, "startOffset": 4300, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 21, @@ -9355,7 +9355,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 21, "startLine": 120, "startOffset": 4304, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9366,7 +9366,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 122, "startOffset": 4335, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9377,7 +9377,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 122, "startOffset": 4341, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9388,7 +9388,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 122, "startOffset": 4343, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9399,7 +9399,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 122, "startOffset": 4345, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9410,7 +9410,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 122, "startOffset": 4349, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -9421,7 +9421,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 122, "startOffset": 4351, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 35, @@ -9432,7 +9432,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 122, "startOffset": 4369, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9443,7 +9443,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 123, "startOffset": 4382, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9454,7 +9454,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 123, "startOffset": 4388, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9465,7 +9465,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 123, "startOffset": 4390, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9476,7 +9476,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 123, "startOffset": 4392, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9487,7 +9487,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 123, "startOffset": 4396, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 38, @@ -9498,7 +9498,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 123, "startOffset": 4398, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 39, @@ -9509,7 +9509,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 123, "startOffset": 4420, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9520,7 +9520,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 124, "startOffset": 4432, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9531,7 +9531,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 124, "startOffset": 4438, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9542,7 +9542,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 124, "startOffset": 4440, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9553,7 +9553,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 124, "startOffset": 4442, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9564,7 +9564,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 124, "startOffset": 4446, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 26, @@ -9575,7 +9575,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 124, "startOffset": 4448, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 27, @@ -9586,7 +9586,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 27, "startLine": 124, "startOffset": 4458, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9597,7 +9597,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 125, "startOffset": 4469, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9608,7 +9608,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 125, "startOffset": 4475, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9619,7 +9619,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 125, "startOffset": 4477, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9630,7 +9630,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 125, "startOffset": 4479, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9641,7 +9641,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 125, "startOffset": 4483, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -9652,7 +9652,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 125, "startOffset": 4485, - "tokenTypeIdx": 36, + "tokenTypeIdx": 38, }, { "endColumn": 28, @@ -9663,7 +9663,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 125, "startOffset": 4496, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9674,7 +9674,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 127, "startOffset": 4519, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9685,7 +9685,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 127, "startOffset": 4525, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9696,7 +9696,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 127, "startOffset": 4527, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9707,7 +9707,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 127, "startOffset": 4529, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9718,7 +9718,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 127, "startOffset": 4533, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -9729,7 +9729,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 127, "startOffset": 4535, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 28, @@ -9740,7 +9740,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 127, "startOffset": 4546, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9751,7 +9751,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 128, "startOffset": 4559, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9762,7 +9762,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 128, "startOffset": 4565, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9773,7 +9773,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 128, "startOffset": 4567, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9784,7 +9784,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 128, "startOffset": 4569, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9795,7 +9795,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 128, "startOffset": 4573, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -9806,7 +9806,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 128, "startOffset": 4575, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 20, @@ -9817,7 +9817,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 128, "startOffset": 4578, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9828,7 +9828,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 129, "startOffset": 4591, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9839,7 +9839,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 129, "startOffset": 4597, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9850,7 +9850,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 129, "startOffset": 4599, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9861,7 +9861,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 129, "startOffset": 4601, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9872,7 +9872,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 129, "startOffset": 4605, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -9883,7 +9883,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 129, "startOffset": 4607, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 23, @@ -9894,7 +9894,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 129, "startOffset": 4613, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9905,7 +9905,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 130, "startOffset": 4626, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -9916,7 +9916,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 130, "startOffset": 4632, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -9927,7 +9927,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 130, "startOffset": 4634, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -9938,7 +9938,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 130, "startOffset": 4636, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -9949,7 +9949,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 130, "startOffset": 4640, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -9960,7 +9960,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 130, "startOffset": 4642, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 23, @@ -9971,7 +9971,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 130, "startOffset": 4643, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 24, @@ -9982,7 +9982,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 130, "startOffset": 4649, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -9993,7 +9993,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 131, "startOffset": 4662, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10004,7 +10004,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 131, "startOffset": 4668, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10015,7 +10015,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 131, "startOffset": 4670, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10026,7 +10026,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 131, "startOffset": 4672, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10037,7 +10037,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 131, "startOffset": 4676, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -10048,7 +10048,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 131, "startOffset": 4678, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 23, @@ -10059,7 +10059,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 131, "startOffset": 4679, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 24, @@ -10070,7 +10070,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 131, "startOffset": 4685, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10081,7 +10081,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 132, "startOffset": 4698, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10092,7 +10092,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 132, "startOffset": 4704, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10103,7 +10103,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 132, "startOffset": 4706, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10114,7 +10114,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 132, "startOffset": 4708, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10125,7 +10125,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 132, "startOffset": 4712, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -10136,7 +10136,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 132, "startOffset": 4714, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 52, @@ -10147,7 +10147,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 132, "startOffset": 4749, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10158,7 +10158,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 133, "startOffset": 4761, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10169,7 +10169,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 133, "startOffset": 4767, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10180,7 +10180,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 133, "startOffset": 4769, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10191,7 +10191,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 133, "startOffset": 4771, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10202,7 +10202,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 133, "startOffset": 4775, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -10213,7 +10213,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 133, "startOffset": 4777, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -10224,7 +10224,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 133, "startOffset": 4778, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 53, @@ -10235,7 +10235,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 133, "startOffset": 4813, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10246,7 +10246,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 134, "startOffset": 4825, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10257,7 +10257,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 134, "startOffset": 4831, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10268,7 +10268,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 134, "startOffset": 4833, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10279,7 +10279,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 134, "startOffset": 4835, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10290,7 +10290,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 134, "startOffset": 4839, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -10301,7 +10301,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 134, "startOffset": 4841, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -10312,7 +10312,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 134, "startOffset": 4842, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 53, @@ -10323,7 +10323,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 134, "startOffset": 4877, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10334,7 +10334,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 135, "startOffset": 4889, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10345,7 +10345,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 135, "startOffset": 4895, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10356,7 +10356,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 135, "startOffset": 4897, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10367,7 +10367,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 135, "startOffset": 4899, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10378,7 +10378,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 135, "startOffset": 4903, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -10389,7 +10389,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 135, "startOffset": 4905, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 23, @@ -10400,7 +10400,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 135, "startOffset": 4911, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10411,7 +10411,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 136, "startOffset": 4922, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10422,7 +10422,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 136, "startOffset": 4928, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10433,7 +10433,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 136, "startOffset": 4930, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10444,7 +10444,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 136, "startOffset": 4932, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10455,7 +10455,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 136, "startOffset": 4936, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -10466,7 +10466,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 136, "startOffset": 4938, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 23, @@ -10477,7 +10477,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 136, "startOffset": 4944, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10488,7 +10488,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 137, "startOffset": 4955, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10499,7 +10499,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 137, "startOffset": 4961, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10510,7 +10510,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 137, "startOffset": 4963, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10521,7 +10521,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 137, "startOffset": 4965, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10532,7 +10532,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 137, "startOffset": 4969, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -10543,7 +10543,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 137, "startOffset": 4971, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 22, @@ -10554,7 +10554,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 137, "startOffset": 4976, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10565,7 +10565,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 138, "startOffset": 4987, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10576,7 +10576,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 138, "startOffset": 4993, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10587,7 +10587,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 138, "startOffset": 4995, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10598,7 +10598,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 138, "startOffset": 4997, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10609,7 +10609,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 138, "startOffset": 5001, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -10620,7 +10620,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 138, "startOffset": 5003, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 22, @@ -10631,7 +10631,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 138, "startOffset": 5008, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10642,7 +10642,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 140, "startOffset": 5041, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10653,7 +10653,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 140, "startOffset": 5047, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10664,7 +10664,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 140, "startOffset": 5049, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10675,7 +10675,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 140, "startOffset": 5051, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10686,7 +10686,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 140, "startOffset": 5055, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -10697,7 +10697,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 140, "startOffset": 5057, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 35, @@ -10708,7 +10708,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 140, "startOffset": 5075, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10719,7 +10719,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 141, "startOffset": 5088, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10730,7 +10730,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 141, "startOffset": 5094, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10741,7 +10741,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 141, "startOffset": 5096, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10752,7 +10752,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 141, "startOffset": 5098, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10763,7 +10763,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 141, "startOffset": 5102, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 38, @@ -10774,7 +10774,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 141, "startOffset": 5104, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 39, @@ -10785,7 +10785,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 141, "startOffset": 5126, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10796,7 +10796,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 142, "startOffset": 5138, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10807,7 +10807,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 142, "startOffset": 5144, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10818,7 +10818,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 142, "startOffset": 5146, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10829,7 +10829,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 142, "startOffset": 5148, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10840,7 +10840,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 142, "startOffset": 5152, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 26, @@ -10851,7 +10851,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 142, "startOffset": 5154, - "tokenTypeIdx": 37, + "tokenTypeIdx": 39, }, { "endColumn": 27, @@ -10862,7 +10862,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 27, "startLine": 142, "startOffset": 5164, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10873,7 +10873,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 144, "startOffset": 5189, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10884,7 +10884,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 144, "startOffset": 5195, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10895,7 +10895,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 144, "startOffset": 5197, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10906,7 +10906,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 144, "startOffset": 5199, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10917,7 +10917,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 144, "startOffset": 5203, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 27, @@ -10928,7 +10928,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 144, "startOffset": 5205, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 28, @@ -10939,7 +10939,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 28, "startLine": 144, "startOffset": 5216, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -10950,7 +10950,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 145, "startOffset": 5229, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -10961,7 +10961,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 145, "startOffset": 5235, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -10972,7 +10972,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 145, "startOffset": 5237, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -10983,7 +10983,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 145, "startOffset": 5239, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -10994,7 +10994,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 145, "startOffset": 5243, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -11005,7 +11005,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 145, "startOffset": 5245, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 20, @@ -11016,7 +11016,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 20, "startLine": 145, "startOffset": 5248, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11027,7 +11027,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 146, "startOffset": 5261, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11038,7 +11038,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 146, "startOffset": 5267, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11049,7 +11049,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 146, "startOffset": 5269, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11060,7 +11060,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 146, "startOffset": 5271, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11071,7 +11071,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 146, "startOffset": 5275, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -11082,7 +11082,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 146, "startOffset": 5277, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 23, @@ -11093,7 +11093,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 146, "startOffset": 5283, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11104,7 +11104,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 147, "startOffset": 5296, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11115,7 +11115,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 147, "startOffset": 5302, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11126,7 +11126,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 147, "startOffset": 5304, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11137,7 +11137,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 147, "startOffset": 5306, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11148,7 +11148,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 147, "startOffset": 5310, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -11159,7 +11159,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 147, "startOffset": 5312, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 23, @@ -11170,7 +11170,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 147, "startOffset": 5313, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 24, @@ -11181,7 +11181,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 147, "startOffset": 5319, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11192,7 +11192,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 148, "startOffset": 5332, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11203,7 +11203,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 148, "startOffset": 5338, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11214,7 +11214,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 148, "startOffset": 5340, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11225,7 +11225,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 148, "startOffset": 5342, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11236,7 +11236,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 148, "startOffset": 5346, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -11247,7 +11247,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 148, "startOffset": 5348, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 23, @@ -11258,7 +11258,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 148, "startOffset": 5349, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 24, @@ -11269,7 +11269,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 148, "startOffset": 5355, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11280,7 +11280,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 149, "startOffset": 5368, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11291,7 +11291,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 149, "startOffset": 5374, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11302,7 +11302,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 149, "startOffset": 5376, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11313,7 +11313,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 149, "startOffset": 5378, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11324,7 +11324,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 149, "startOffset": 5382, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 51, @@ -11335,7 +11335,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 149, "startOffset": 5384, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 52, @@ -11346,7 +11346,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 52, "startLine": 149, "startOffset": 5419, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11357,7 +11357,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 150, "startOffset": 5431, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11368,7 +11368,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 150, "startOffset": 5437, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11379,7 +11379,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 150, "startOffset": 5439, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11390,7 +11390,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 150, "startOffset": 5441, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11401,7 +11401,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 150, "startOffset": 5445, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -11412,7 +11412,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 150, "startOffset": 5447, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -11423,7 +11423,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 150, "startOffset": 5448, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 53, @@ -11434,7 +11434,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 150, "startOffset": 5483, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11445,7 +11445,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 151, "startOffset": 5495, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11456,7 +11456,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 151, "startOffset": 5501, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11467,7 +11467,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 151, "startOffset": 5503, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11478,7 +11478,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 151, "startOffset": 5505, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11489,7 +11489,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 151, "startOffset": 5509, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -11500,7 +11500,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 151, "startOffset": 5511, - "tokenTypeIdx": 68, + "tokenTypeIdx": 59, }, { "endColumn": 52, @@ -11511,7 +11511,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 18, "startLine": 151, "startOffset": 5512, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 53, @@ -11522,7 +11522,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 53, "startLine": 151, "startOffset": 5547, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11533,7 +11533,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 152, "startOffset": 5559, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11544,7 +11544,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 152, "startOffset": 5565, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11555,7 +11555,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 152, "startOffset": 5567, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11566,7 +11566,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 152, "startOffset": 5569, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11577,7 +11577,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 152, "startOffset": 5573, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -11588,7 +11588,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 152, "startOffset": 5575, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 23, @@ -11599,7 +11599,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 152, "startOffset": 5581, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11610,7 +11610,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 153, "startOffset": 5592, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11621,7 +11621,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 153, "startOffset": 5598, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11632,7 +11632,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 153, "startOffset": 5600, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11643,7 +11643,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 153, "startOffset": 5602, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11654,7 +11654,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 153, "startOffset": 5606, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -11665,7 +11665,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 153, "startOffset": 5608, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 23, @@ -11676,7 +11676,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 23, "startLine": 153, "startOffset": 5614, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11687,7 +11687,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 154, "startOffset": 5625, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11698,7 +11698,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 154, "startOffset": 5631, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11709,7 +11709,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 154, "startOffset": 5633, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11720,7 +11720,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 154, "startOffset": 5635, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11731,7 +11731,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 154, "startOffset": 5639, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -11742,7 +11742,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 154, "startOffset": 5641, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 22, @@ -11753,7 +11753,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 154, "startOffset": 5646, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11764,7 +11764,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 155, "startOffset": 5657, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11775,7 +11775,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 155, "startOffset": 5663, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11786,7 +11786,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 155, "startOffset": 5665, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11797,7 +11797,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 155, "startOffset": 5667, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11808,7 +11808,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 155, "startOffset": 5671, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -11819,7 +11819,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 155, "startOffset": 5673, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 22, @@ -11830,7 +11830,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 22, "startLine": 155, "startOffset": 5678, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11841,7 +11841,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 157, "startOffset": 5711, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11852,7 +11852,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 157, "startOffset": 5717, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11863,7 +11863,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 157, "startOffset": 5719, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11874,7 +11874,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 157, "startOffset": 5721, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11885,7 +11885,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 157, "startOffset": 5725, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 34, @@ -11896,7 +11896,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 157, "startOffset": 5727, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 35, @@ -11907,7 +11907,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 35, "startLine": 157, "startOffset": 5745, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11918,7 +11918,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 158, "startOffset": 5758, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -11929,7 +11929,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 158, "startOffset": 5764, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -11940,7 +11940,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 158, "startOffset": 5766, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -11951,7 +11951,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 158, "startOffset": 5768, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -11962,7 +11962,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 158, "startOffset": 5772, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 38, @@ -11973,7 +11973,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 158, "startOffset": 5774, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 39, @@ -11984,7 +11984,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 39, "startLine": 158, "startOffset": 5796, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -11995,7 +11995,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 159, "startOffset": 5808, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 8, @@ -12006,7 +12006,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 159, "startOffset": 5814, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -12017,7 +12017,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 9, "startLine": 159, "startOffset": 5816, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -12028,7 +12028,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 11, "startLine": 159, "startOffset": 5818, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -12039,7 +12039,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 159, "startOffset": 5822, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 26, @@ -12050,7 +12050,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 159, "startOffset": 5824, - "tokenTypeIdx": 38, + "tokenTypeIdx": 40, }, { "endColumn": 27, @@ -12061,7 +12061,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 27, "startLine": 159, "startOffset": 5834, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -12072,7 +12072,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 1, "startLine": 163, "startOffset": 5868, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 14, @@ -12083,7 +12083,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 7, "startLine": 163, "startOffset": 5874, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -12094,7 +12094,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 15, "startLine": 163, "startOffset": 5882, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 22, @@ -12105,7 +12105,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 17, "startLine": 163, "startOffset": 5884, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 24, @@ -12116,7 +12116,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 24, "startLine": 163, "startOffset": 5891, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 28, @@ -12127,7 +12127,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 26, "startLine": 163, "startOffset": 5893, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 29, @@ -12138,7 +12138,7 @@ exports[`Lexer: Literals Pass 1`] = ` "startColumn": 29, "startLine": 163, "startOffset": 5896, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, ], } @@ -12160,7 +12160,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 2, "startOffset": 18, - "tokenTypeIdx": 15, + "tokenTypeIdx": 17, }, { "endColumn": 8, @@ -12171,7 +12171,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 2, "startOffset": 25, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -12182,7 +12182,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 2, "startOffset": 27, - "tokenTypeIdx": 17, + "tokenTypeIdx": 19, }, { "endColumn": 20, @@ -12193,7 +12193,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 2, "startOffset": 32, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 21, @@ -12204,7 +12204,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 2, "startOffset": 38, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 6, @@ -12215,7 +12215,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 3, "startOffset": 40, - "tokenTypeIdx": 15, + "tokenTypeIdx": 17, }, { "endColumn": 11, @@ -12226,7 +12226,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 3, "startOffset": 47, - "tokenTypeIdx": 16, + "tokenTypeIdx": 18, }, { "endColumn": 17, @@ -12237,7 +12237,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 3, "startOffset": 52, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -12248,7 +12248,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 3, "startOffset": 57, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 20, @@ -12259,7 +12259,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 3, "startOffset": 59, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 26, @@ -12270,7 +12270,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 3, "startOffset": 60, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 27, @@ -12281,7 +12281,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 27, "startLine": 3, "startOffset": 66, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 30, @@ -12292,7 +12292,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 29, "startLine": 3, "startOffset": 68, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 35, @@ -12303,7 +12303,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 32, "startLine": 3, "startOffset": 71, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 40, @@ -12314,7 +12314,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 37, "startLine": 3, "startOffset": 76, - "tokenTypeIdx": 17, + "tokenTypeIdx": 19, }, { "endColumn": 48, @@ -12325,7 +12325,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 42, "startLine": 3, "startOffset": 81, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 49, @@ -12336,7 +12336,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 49, "startLine": 3, "startOffset": 88, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 6, @@ -12347,7 +12347,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 4, "startOffset": 90, - "tokenTypeIdx": 15, + "tokenTypeIdx": 17, }, { "endColumn": 11, @@ -12358,7 +12358,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 4, "startOffset": 97, - "tokenTypeIdx": 16, + "tokenTypeIdx": 18, }, { "endColumn": 13, @@ -12369,7 +12369,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 4, "startOffset": 102, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -12380,7 +12380,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 4, "startOffset": 103, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 16, @@ -12391,7 +12391,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 4, "startOffset": 105, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 17, @@ -12402,7 +12402,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 4, "startOffset": 106, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 20, @@ -12413,7 +12413,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 4, "startOffset": 108, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 25, @@ -12424,7 +12424,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 4, "startOffset": 111, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 30, @@ -12435,7 +12435,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 27, "startLine": 4, "startOffset": 116, - "tokenTypeIdx": 17, + "tokenTypeIdx": 19, }, { "endColumn": 38, @@ -12446,7 +12446,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 32, "startLine": 4, "startOffset": 121, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 39, @@ -12457,7 +12457,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 39, "startLine": 4, "startOffset": 128, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 6, @@ -12468,7 +12468,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 5, "startOffset": 130, - "tokenTypeIdx": 15, + "tokenTypeIdx": 17, }, { "endColumn": 11, @@ -12479,7 +12479,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 5, "startOffset": 137, - "tokenTypeIdx": 16, + "tokenTypeIdx": 18, }, { "endColumn": 13, @@ -12490,7 +12490,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 5, "startOffset": 142, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -12501,7 +12501,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 5, "startOffset": 143, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 18, @@ -12512,7 +12512,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 5, "startOffset": 145, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 23, @@ -12523,7 +12523,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 5, "startOffset": 149, - "tokenTypeIdx": 17, + "tokenTypeIdx": 19, }, { "endColumn": 30, @@ -12534,7 +12534,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 25, "startLine": 5, "startOffset": 154, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 31, @@ -12545,7 +12545,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 31, "startLine": 5, "startOffset": 160, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 4, @@ -12556,7 +12556,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 8, "startOffset": 199, - "tokenTypeIdx": 29, + "tokenTypeIdx": 31, }, { "endColumn": 6, @@ -12567,7 +12567,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 8, "startOffset": 204, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -12578,7 +12578,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 8, "startOffset": 206, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 12, @@ -12589,7 +12589,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 8, "startOffset": 208, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -12600,7 +12600,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 8, "startOffset": 211, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 4, @@ -12611,7 +12611,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 9, "startOffset": 213, - "tokenTypeIdx": 29, + "tokenTypeIdx": 31, }, { "endColumn": 6, @@ -12622,7 +12622,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 9, "startOffset": 218, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -12633,7 +12633,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 9, "startOffset": 220, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 12, @@ -12644,7 +12644,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 9, "startOffset": 222, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -12655,7 +12655,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 9, "startOffset": 226, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 18, @@ -12666,7 +12666,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 9, "startOffset": 228, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -12677,7 +12677,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 9, "startOffset": 232, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 24, @@ -12688,7 +12688,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 9, "startOffset": 234, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 26, @@ -12699,7 +12699,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 9, "startOffset": 238, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 30, @@ -12710,7 +12710,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 28, "startLine": 9, "startOffset": 240, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 32, @@ -12721,7 +12721,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 32, "startLine": 9, "startOffset": 244, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 36, @@ -12732,7 +12732,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 34, "startLine": 9, "startOffset": 246, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 38, @@ -12743,7 +12743,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 38, "startLine": 9, "startOffset": 250, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 42, @@ -12754,7 +12754,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 40, "startLine": 9, "startOffset": 252, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 43, @@ -12765,7 +12765,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 43, "startLine": 9, "startOffset": 255, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 4, @@ -12776,7 +12776,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 10, "startOffset": 257, - "tokenTypeIdx": 29, + "tokenTypeIdx": 31, }, { "endColumn": 6, @@ -12787,7 +12787,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 10, "startOffset": 262, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -12798,7 +12798,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 10, "startOffset": 264, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 12, @@ -12809,7 +12809,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 10, "startOffset": 266, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -12820,7 +12820,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 10, "startOffset": 270, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 16, @@ -12831,7 +12831,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 10, "startOffset": 272, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 19, @@ -12842,7 +12842,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 10, "startOffset": 273, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -12853,7 +12853,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 10, "startOffset": 276, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 24, @@ -12864,7 +12864,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 10, "startOffset": 278, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 26, @@ -12875,7 +12875,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 10, "startOffset": 282, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 30, @@ -12886,7 +12886,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 28, "startLine": 10, "startOffset": 284, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 31, @@ -12897,7 +12897,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 31, "startLine": 10, "startOffset": 287, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 34, @@ -12908,7 +12908,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 33, "startLine": 10, "startOffset": 289, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 38, @@ -12919,7 +12919,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 36, "startLine": 10, "startOffset": 292, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 40, @@ -12930,7 +12930,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 40, "startLine": 10, "startOffset": 296, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 44, @@ -12941,7 +12941,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 42, "startLine": 10, "startOffset": 298, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 45, @@ -12952,7 +12952,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 45, "startLine": 10, "startOffset": 301, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 4, @@ -12963,7 +12963,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 11, "startOffset": 303, - "tokenTypeIdx": 29, + "tokenTypeIdx": 31, }, { "endColumn": 6, @@ -12974,7 +12974,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 11, "startOffset": 308, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -12985,7 +12985,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 11, "startOffset": 310, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 12, @@ -12996,7 +12996,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 11, "startOffset": 312, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -13007,7 +13007,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 11, "startOffset": 316, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 16, @@ -13018,7 +13018,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 11, "startOffset": 318, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 19, @@ -13029,7 +13029,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 11, "startOffset": 319, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -13040,7 +13040,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 11, "startOffset": 322, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 24, @@ -13051,7 +13051,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 11, "startOffset": 324, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 26, @@ -13062,7 +13062,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 11, "startOffset": 328, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 30, @@ -13073,7 +13073,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 28, "startLine": 11, "startOffset": 330, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 31, @@ -13084,7 +13084,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 31, "startLine": 11, "startOffset": 333, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 34, @@ -13095,7 +13095,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 33, "startLine": 11, "startOffset": 335, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 36, @@ -13106,7 +13106,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 36, "startLine": 11, "startOffset": 338, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 39, @@ -13117,7 +13117,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 37, "startLine": 11, "startOffset": 339, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 41, @@ -13128,7 +13128,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 41, "startLine": 11, "startOffset": 343, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 45, @@ -13139,7 +13139,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 43, "startLine": 11, "startOffset": 345, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 46, @@ -13150,7 +13150,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 46, "startLine": 11, "startOffset": 348, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 48, @@ -13161,7 +13161,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 48, "startLine": 11, "startOffset": 350, - "tokenTypeIdx": 72, + "tokenTypeIdx": 65, }, { "endColumn": 52, @@ -13172,7 +13172,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 50, "startLine": 11, "startOffset": 352, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 53, @@ -13183,7 +13183,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 53, "startLine": 11, "startOffset": 355, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 9, @@ -13194,7 +13194,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 12, "startOffset": 357, - "tokenTypeIdx": 28, + "tokenTypeIdx": 30, }, { "endColumn": 11, @@ -13205,7 +13205,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 12, "startOffset": 367, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -13216,7 +13216,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 12, "startOffset": 369, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 8, @@ -13227,7 +13227,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 13, "startOffset": 373, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13238,7 +13238,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 13, "startOffset": 379, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -13249,7 +13249,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 13, "startOffset": 381, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 14, @@ -13260,7 +13260,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 13, "startOffset": 384, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -13271,7 +13271,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 14, "startOffset": 388, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 12, @@ -13282,7 +13282,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 14, "startOffset": 392, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -13293,7 +13293,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 14, "startOffset": 398, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 17, @@ -13304,7 +13304,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 14, "startOffset": 400, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -13315,7 +13315,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 14, "startOffset": 403, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 8, @@ -13326,7 +13326,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 15, "startOffset": 407, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13337,7 +13337,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 15, "startOffset": 413, - "tokenTypeIdx": 73, + "tokenTypeIdx": 64, }, { "endColumn": 10, @@ -13348,7 +13348,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 15, "startOffset": 414, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 14, @@ -13359,7 +13359,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 15, "startOffset": 416, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -13370,7 +13370,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 15, "startOffset": 419, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 8, @@ -13381,7 +13381,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 16, "startOffset": 423, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13392,7 +13392,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 16, "startOffset": 429, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 11, @@ -13403,7 +13403,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 16, "startOffset": 431, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 10, @@ -13414,7 +13414,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 17, "startOffset": 437, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -13425,7 +13425,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 17, "startOffset": 443, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 15, @@ -13436,7 +13436,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 17, "startOffset": 445, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 16, @@ -13447,7 +13447,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 17, "startOffset": 448, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -13458,7 +13458,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 18, "startOffset": 452, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 4, @@ -13469,7 +13469,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 18, "startOffset": 453, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -13480,7 +13480,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 19, "startOffset": 455, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -13491,7 +13491,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 19, "startOffset": 456, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -13502,7 +13502,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 21, "startOffset": 483, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 14, @@ -13513,7 +13513,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 21, "startOffset": 487, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -13524,7 +13524,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 21, "startOffset": 497, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 17, @@ -13535,7 +13535,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 21, "startOffset": 499, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 19, @@ -13546,7 +13546,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 21, "startOffset": 501, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 21, @@ -13557,7 +13557,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 21, "startOffset": 503, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 8, @@ -13568,7 +13568,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 22, "startOffset": 507, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13579,7 +13579,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 22, "startOffset": 513, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -13590,7 +13590,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 22, "startOffset": 515, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 13, @@ -13601,7 +13601,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 22, "startOffset": 517, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -13612,7 +13612,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 23, "startOffset": 521, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13623,7 +13623,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 23, "startOffset": 527, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -13634,7 +13634,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 23, "startOffset": 529, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 13, @@ -13645,7 +13645,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 23, "startOffset": 531, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -13656,7 +13656,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 24, "startOffset": 535, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13667,7 +13667,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 24, "startOffset": 541, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -13678,7 +13678,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 24, "startOffset": 543, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 13, @@ -13689,7 +13689,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 24, "startOffset": 545, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -13700,7 +13700,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 25, "startOffset": 549, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13711,7 +13711,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 25, "startOffset": 555, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 11, @@ -13722,7 +13722,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 25, "startOffset": 557, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 10, @@ -13733,7 +13733,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 26, "startOffset": 563, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -13744,7 +13744,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 26, "startOffset": 569, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 14, @@ -13755,7 +13755,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 26, "startOffset": 571, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 3, @@ -13766,7 +13766,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 27, "startOffset": 576, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 1, @@ -13777,7 +13777,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 28, "startOffset": 578, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -13788,7 +13788,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 28, "startOffset": 579, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -13799,7 +13799,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 29, "startOffset": 581, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 15, @@ -13810,7 +13810,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 29, "startOffset": 585, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 16, @@ -13821,7 +13821,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 29, "startOffset": 596, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 18, @@ -13832,7 +13832,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 29, "startOffset": 598, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -13843,7 +13843,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 29, "startOffset": 600, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -13854,7 +13854,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 29, "startOffset": 602, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 8, @@ -13865,7 +13865,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 30, "startOffset": 606, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13876,7 +13876,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 30, "startOffset": 612, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -13887,7 +13887,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 30, "startOffset": 614, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 13, @@ -13898,7 +13898,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 30, "startOffset": 616, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -13909,7 +13909,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 31, "startOffset": 620, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13920,7 +13920,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 31, "startOffset": 626, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -13931,7 +13931,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 31, "startOffset": 628, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 13, @@ -13942,7 +13942,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 31, "startOffset": 630, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -13953,7 +13953,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 32, "startOffset": 634, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -13964,7 +13964,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 32, "startOffset": 640, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 11, @@ -13975,7 +13975,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 32, "startOffset": 642, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 10, @@ -13986,7 +13986,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 33, "startOffset": 648, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -13997,7 +13997,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 33, "startOffset": 654, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 14, @@ -14008,7 +14008,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 33, "startOffset": 656, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 3, @@ -14019,7 +14019,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 34, "startOffset": 661, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 1, @@ -14030,7 +14030,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 35, "startOffset": 663, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -14041,7 +14041,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 35, "startOffset": 664, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -14052,7 +14052,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 36, "startOffset": 666, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 15, @@ -14063,7 +14063,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 36, "startOffset": 670, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 16, @@ -14074,7 +14074,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 36, "startOffset": 681, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 18, @@ -14085,7 +14085,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 36, "startOffset": 683, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -14096,7 +14096,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 36, "startOffset": 685, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -14107,7 +14107,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 36, "startOffset": 687, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 5, @@ -14118,7 +14118,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 37, "startOffset": 691, - "tokenTypeIdx": 49, + "tokenTypeIdx": 51, }, { "endColumn": 16, @@ -14129,7 +14129,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 37, "startOffset": 694, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 17, @@ -14140,7 +14140,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 37, "startOffset": 705, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 8, @@ -14151,7 +14151,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 38, "startOffset": 709, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -14162,7 +14162,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 38, "startOffset": 715, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 12, @@ -14173,7 +14173,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 38, "startOffset": 717, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 1, @@ -14184,7 +14184,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 39, "startOffset": 720, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -14195,7 +14195,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 39, "startOffset": 721, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 10, @@ -14206,7 +14206,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 40, "startOffset": 723, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -14217,7 +14217,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 40, "startOffset": 733, - "tokenTypeIdx": 50, + "tokenTypeIdx": 52, }, { "endColumn": 17, @@ -14228,7 +14228,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 40, "startOffset": 734, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 19, @@ -14239,7 +14239,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 40, "startOffset": 741, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 22, @@ -14250,7 +14250,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 40, "startOffset": 743, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 23, @@ -14261,7 +14261,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 23, "startLine": 40, "startOffset": 745, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -14272,7 +14272,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 42, "startOffset": 771, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -14283,7 +14283,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 42, "startOffset": 774, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 5, @@ -14294,7 +14294,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 42, "startOffset": 775, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 8, @@ -14305,7 +14305,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 42, "startOffset": 777, - "tokenTypeIdx": 56, + "tokenTypeIdx": 60, }, { "endColumn": 10, @@ -14316,7 +14316,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 42, "startOffset": 780, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 11, @@ -14327,7 +14327,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 42, "startOffset": 781, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 13, @@ -14338,7 +14338,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 42, "startOffset": 783, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -14349,7 +14349,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 43, "startOffset": 787, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -14360,7 +14360,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 43, "startOffset": 792, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 17, @@ -14371,7 +14371,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 43, "startOffset": 793, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 18, @@ -14382,7 +14382,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 43, "startOffset": 802, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 19, @@ -14393,7 +14393,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 43, "startOffset": 803, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -14404,7 +14404,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 44, "startOffset": 805, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 6, @@ -14415,7 +14415,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 44, "startOffset": 807, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 9, @@ -14426,7 +14426,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 44, "startOffset": 812, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 11, @@ -14437,7 +14437,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 44, "startOffset": 815, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 17, @@ -14448,7 +14448,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 44, "startOffset": 816, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 20, @@ -14459,7 +14459,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 44, "startOffset": 823, - "tokenTypeIdx": 56, + "tokenTypeIdx": 60, }, { "endColumn": 27, @@ -14470,7 +14470,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 44, "startOffset": 826, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 28, @@ -14481,7 +14481,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 28, "startLine": 44, "startOffset": 832, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 30, @@ -14492,7 +14492,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 30, "startLine": 44, "startOffset": 834, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -14503,7 +14503,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 45, "startOffset": 838, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -14514,7 +14514,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 45, "startOffset": 843, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 22, @@ -14525,7 +14525,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 45, "startOffset": 844, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 23, @@ -14536,7 +14536,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 23, "startLine": 45, "startOffset": 858, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 24, @@ -14547,7 +14547,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 24, "startLine": 45, "startOffset": 859, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -14558,7 +14558,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 46, "startOffset": 861, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 6, @@ -14569,7 +14569,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 46, "startOffset": 863, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 8, @@ -14580,7 +14580,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 46, "startOffset": 868, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -14591,7 +14591,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 47, "startOffset": 872, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -14602,7 +14602,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 47, "startOffset": 877, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 19, @@ -14613,7 +14613,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 47, "startOffset": 878, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 20, @@ -14624,7 +14624,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 47, "startOffset": 889, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 21, @@ -14635,7 +14635,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 47, "startOffset": 890, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -14646,7 +14646,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 48, "startOffset": 892, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -14657,7 +14657,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 48, "startOffset": 893, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -14668,7 +14668,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 49, "startOffset": 895, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -14679,7 +14679,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 49, "startOffset": 898, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 5, @@ -14690,7 +14690,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 49, "startOffset": 899, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 8, @@ -14701,7 +14701,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 49, "startOffset": 901, - "tokenTypeIdx": 56, + "tokenTypeIdx": 60, }, { "endColumn": 10, @@ -14712,7 +14712,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 49, "startOffset": 904, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 11, @@ -14723,7 +14723,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 49, "startOffset": 905, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 17, @@ -14734,7 +14734,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 49, "startOffset": 907, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -14745,7 +14745,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 49, "startOffset": 912, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 24, @@ -14756,7 +14756,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 49, "startOffset": 913, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 25, @@ -14767,7 +14767,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 25, "startLine": 49, "startOffset": 919, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 26, @@ -14778,7 +14778,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 49, "startOffset": 920, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 4, @@ -14789,7 +14789,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 50, "startOffset": 922, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 10, @@ -14800,7 +14800,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 50, "startOffset": 927, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -14811,7 +14811,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 50, "startOffset": 932, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 17, @@ -14822,7 +14822,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 50, "startOffset": 933, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 18, @@ -14833,7 +14833,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 50, "startOffset": 939, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 19, @@ -14844,7 +14844,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 50, "startOffset": 940, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -14855,7 +14855,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 52, "startOffset": 943, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -14866,7 +14866,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 52, "startOffset": 946, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 8, @@ -14877,7 +14877,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 52, "startOffset": 947, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 9, @@ -14888,7 +14888,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 52, "startOffset": 951, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 11, @@ -14899,7 +14899,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 52, "startOffset": 953, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -14910,7 +14910,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 53, "startOffset": 957, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -14921,7 +14921,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 53, "startOffset": 962, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -14932,7 +14932,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 53, "startOffset": 963, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -14943,7 +14943,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 53, "startOffset": 969, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -14954,7 +14954,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 53, "startOffset": 970, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -14965,7 +14965,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 54, "startOffset": 972, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -14976,7 +14976,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 54, "startOffset": 973, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -14987,7 +14987,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 56, "startOffset": 976, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -14998,7 +14998,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 56, "startOffset": 979, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 8, @@ -15009,7 +15009,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 56, "startOffset": 980, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 9, @@ -15020,7 +15020,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 56, "startOffset": 984, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 15, @@ -15031,7 +15031,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 56, "startOffset": 986, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 16, @@ -15042,7 +15042,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 56, "startOffset": 991, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 22, @@ -15053,7 +15053,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 56, "startOffset": 992, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 23, @@ -15064,7 +15064,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 23, "startLine": 56, "startOffset": 998, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 24, @@ -15075,7 +15075,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 24, "startLine": 56, "startOffset": 999, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -15086,7 +15086,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 58, "startOffset": 1002, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -15097,7 +15097,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 58, "startOffset": 1005, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 8, @@ -15108,7 +15108,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 58, "startOffset": 1006, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 9, @@ -15119,7 +15119,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 58, "startOffset": 1010, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 15, @@ -15130,7 +15130,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 58, "startOffset": 1012, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 16, @@ -15141,7 +15141,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 58, "startOffset": 1017, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 22, @@ -15152,7 +15152,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 58, "startOffset": 1018, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 23, @@ -15163,7 +15163,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 23, "startLine": 58, "startOffset": 1024, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 24, @@ -15174,7 +15174,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 24, "startLine": 58, "startOffset": 1025, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 4, @@ -15185,7 +15185,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 59, "startOffset": 1027, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 10, @@ -15196,7 +15196,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 59, "startOffset": 1032, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -15207,7 +15207,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 59, "startOffset": 1037, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 17, @@ -15218,7 +15218,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 59, "startOffset": 1038, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 18, @@ -15229,7 +15229,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 59, "startOffset": 1044, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 19, @@ -15240,7 +15240,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 59, "startOffset": 1045, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -15251,7 +15251,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 61, "startOffset": 1048, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -15262,7 +15262,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 61, "startOffset": 1051, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 8, @@ -15273,7 +15273,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 61, "startOffset": 1052, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 9, @@ -15284,7 +15284,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 61, "startOffset": 1056, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 11, @@ -15295,7 +15295,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 61, "startOffset": 1058, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -15306,7 +15306,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 62, "startOffset": 1062, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -15317,7 +15317,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 62, "startOffset": 1067, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -15328,7 +15328,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 62, "startOffset": 1068, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -15339,7 +15339,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 62, "startOffset": 1074, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -15350,7 +15350,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 62, "startOffset": 1075, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -15361,7 +15361,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 63, "startOffset": 1077, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 6, @@ -15372,7 +15372,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 63, "startOffset": 1079, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 8, @@ -15383,7 +15383,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 63, "startOffset": 1084, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -15394,7 +15394,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 64, "startOffset": 1088, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -15405,7 +15405,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 64, "startOffset": 1093, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -15416,7 +15416,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 64, "startOffset": 1094, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -15427,7 +15427,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 64, "startOffset": 1100, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -15438,7 +15438,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 64, "startOffset": 1101, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -15449,7 +15449,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 65, "startOffset": 1103, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -15460,7 +15460,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 65, "startOffset": 1104, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -15471,7 +15471,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 67, "startOffset": 1107, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -15482,7 +15482,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 67, "startOffset": 1110, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 8, @@ -15493,7 +15493,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 67, "startOffset": 1111, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 9, @@ -15504,7 +15504,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 67, "startOffset": 1115, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 11, @@ -15515,7 +15515,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 67, "startOffset": 1117, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -15526,7 +15526,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 68, "startOffset": 1121, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -15537,7 +15537,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 68, "startOffset": 1126, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -15548,7 +15548,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 68, "startOffset": 1127, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -15559,7 +15559,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 68, "startOffset": 1133, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -15570,7 +15570,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 68, "startOffset": 1134, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -15581,7 +15581,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 69, "startOffset": 1136, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 6, @@ -15592,7 +15592,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 69, "startOffset": 1138, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 9, @@ -15603,7 +15603,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 69, "startOffset": 1143, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 11, @@ -15614,7 +15614,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 69, "startOffset": 1146, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 15, @@ -15625,7 +15625,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 69, "startOffset": 1147, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 16, @@ -15636,7 +15636,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 69, "startOffset": 1151, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 18, @@ -15647,7 +15647,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 69, "startOffset": 1153, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -15658,7 +15658,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 70, "startOffset": 1157, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -15669,7 +15669,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 70, "startOffset": 1162, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -15680,7 +15680,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 70, "startOffset": 1163, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -15691,7 +15691,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 70, "startOffset": 1169, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -15702,7 +15702,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 70, "startOffset": 1170, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -15713,7 +15713,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 71, "startOffset": 1172, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 6, @@ -15724,7 +15724,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 71, "startOffset": 1174, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 8, @@ -15735,7 +15735,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 71, "startOffset": 1179, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -15746,7 +15746,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 72, "startOffset": 1183, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -15757,7 +15757,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 72, "startOffset": 1188, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -15768,7 +15768,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 72, "startOffset": 1189, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -15779,7 +15779,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 72, "startOffset": 1195, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -15790,7 +15790,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 72, "startOffset": 1196, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -15801,7 +15801,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 73, "startOffset": 1198, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -15812,7 +15812,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 73, "startOffset": 1199, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -15823,7 +15823,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 75, "startOffset": 1202, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -15834,7 +15834,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 75, "startOffset": 1205, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 8, @@ -15845,7 +15845,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 75, "startOffset": 1206, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 9, @@ -15856,7 +15856,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 75, "startOffset": 1210, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 11, @@ -15867,7 +15867,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 75, "startOffset": 1212, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -15878,7 +15878,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 76, "startOffset": 1216, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -15889,7 +15889,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 76, "startOffset": 1221, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -15900,7 +15900,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 76, "startOffset": 1222, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -15911,7 +15911,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 76, "startOffset": 1228, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -15922,7 +15922,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 76, "startOffset": 1229, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -15933,7 +15933,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 77, "startOffset": 1231, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 6, @@ -15944,7 +15944,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 77, "startOffset": 1233, - "tokenTypeIdx": 22, + "tokenTypeIdx": 24, }, { "endColumn": 12, @@ -15955,7 +15955,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 77, "startOffset": 1238, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 13, @@ -15966,7 +15966,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 77, "startOffset": 1243, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 19, @@ -15977,7 +15977,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 77, "startOffset": 1244, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 20, @@ -15988,7 +15988,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 77, "startOffset": 1250, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 21, @@ -15999,7 +15999,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 77, "startOffset": 1251, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 2, @@ -16010,7 +16010,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 79, "startOffset": 1254, - "tokenTypeIdx": 21, + "tokenTypeIdx": 23, }, { "endColumn": 4, @@ -16021,7 +16021,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 79, "startOffset": 1257, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 8, @@ -16032,7 +16032,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 79, "startOffset": 1258, - "tokenTypeIdx": 40, + "tokenTypeIdx": 42, }, { "endColumn": 9, @@ -16043,7 +16043,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 79, "startOffset": 1262, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 11, @@ -16054,7 +16054,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 79, "startOffset": 1264, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -16065,7 +16065,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 80, "startOffset": 1268, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -16076,7 +16076,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 80, "startOffset": 1273, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -16087,7 +16087,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 80, "startOffset": 1274, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -16098,7 +16098,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 80, "startOffset": 1280, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -16109,7 +16109,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 80, "startOffset": 1281, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -16120,7 +16120,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 81, "startOffset": 1283, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -16131,7 +16131,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 81, "startOffset": 1284, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -16142,7 +16142,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 83, "startOffset": 1309, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 6, @@ -16153,7 +16153,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 83, "startOffset": 1314, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 12, @@ -16164,7 +16164,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 83, "startOffset": 1315, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 13, @@ -16175,7 +16175,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 83, "startOffset": 1321, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 14, @@ -16186,7 +16186,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 83, "startOffset": 1322, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -16197,7 +16197,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 84, "startOffset": 1324, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 2, @@ -16208,7 +16208,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 84, "startOffset": 1325, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 3, @@ -16219,7 +16219,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 84, "startOffset": 1326, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 4, @@ -16230,7 +16230,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 84, "startOffset": 1327, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 13, @@ -16241,7 +16241,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 85, "startOffset": 1329, - "tokenTypeIdx": 41, + "tokenTypeIdx": 43, }, { "endColumn": 14, @@ -16252,7 +16252,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 85, "startOffset": 1342, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 16, @@ -16263,7 +16263,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 85, "startOffset": 1343, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 17, @@ -16274,7 +16274,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 85, "startOffset": 1345, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 20, @@ -16285,7 +16285,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 85, "startOffset": 1347, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 21, @@ -16296,7 +16296,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 85, "startOffset": 1349, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 22, @@ -16307,7 +16307,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 85, "startOffset": 1350, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -16318,7 +16318,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 87, "startOffset": 1382, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 5, @@ -16329,7 +16329,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 87, "startOffset": 1386, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 6, @@ -16340,7 +16340,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 87, "startOffset": 1387, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -16351,7 +16351,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 87, "startOffset": 1389, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -16362,7 +16362,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 87, "startOffset": 1396, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -16373,7 +16373,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 87, "startOffset": 1398, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 19, @@ -16384,7 +16384,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 87, "startOffset": 1400, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 21, @@ -16395,7 +16395,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 87, "startOffset": 1402, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 22, @@ -16406,7 +16406,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 87, "startOffset": 1403, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 24, @@ -16417,7 +16417,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 24, "startLine": 87, "startOffset": 1405, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 26, @@ -16428,7 +16428,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 87, "startOffset": 1407, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 27, @@ -16439,7 +16439,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 27, "startLine": 87, "startOffset": 1408, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 29, @@ -16450,7 +16450,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 29, "startLine": 87, "startOffset": 1410, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 31, @@ -16461,7 +16461,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 31, "startLine": 87, "startOffset": 1412, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 33, @@ -16472,7 +16472,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 33, "startLine": 87, "startOffset": 1414, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 35, @@ -16483,7 +16483,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 35, "startLine": 87, "startOffset": 1416, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 37, @@ -16494,7 +16494,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 37, "startLine": 87, "startOffset": 1418, - "tokenTypeIdx": 67, + "tokenTypeIdx": 59, }, { "endColumn": 39, @@ -16505,7 +16505,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 39, "startLine": 87, "startOffset": 1420, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 40, @@ -16516,7 +16516,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 40, "startLine": 87, "startOffset": 1421, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -16527,7 +16527,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 88, "startOffset": 1423, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 3, @@ -16538,7 +16538,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 88, "startOffset": 1425, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 5, @@ -16549,7 +16549,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 88, "startOffset": 1427, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 6, @@ -16560,7 +16560,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 88, "startOffset": 1428, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -16571,7 +16571,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 89, "startOffset": 1430, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 5, @@ -16582,7 +16582,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 89, "startOffset": 1434, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 6, @@ -16593,7 +16593,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 89, "startOffset": 1435, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 13, @@ -16604,7 +16604,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 89, "startOffset": 1437, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -16615,7 +16615,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 89, "startOffset": 1444, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 17, @@ -16626,7 +16626,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 89, "startOffset": 1446, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 18, @@ -16637,7 +16637,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 18, "startLine": 89, "startOffset": 1447, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -16648,7 +16648,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 90, "startOffset": 1449, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 5, @@ -16659,7 +16659,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 90, "startOffset": 1453, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 6, @@ -16670,7 +16670,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 90, "startOffset": 1454, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 10, @@ -16681,7 +16681,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 90, "startOffset": 1456, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 12, @@ -16692,7 +16692,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 90, "startOffset": 1460, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 24, @@ -16703,7 +16703,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 90, "startOffset": 1462, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 25, @@ -16714,7 +16714,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 25, "startLine": 90, "startOffset": 1473, - "tokenTypeIdx": 50, + "tokenTypeIdx": 52, }, { "endColumn": 31, @@ -16725,7 +16725,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 90, "startOffset": 1474, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 32, @@ -16736,7 +16736,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 32, "startLine": 90, "startOffset": 1480, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 3, @@ -16747,7 +16747,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 91, "startOffset": 1482, - "tokenTypeIdx": 20, + "tokenTypeIdx": 22, }, { "endColumn": 5, @@ -16758,7 +16758,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 91, "startOffset": 1486, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 6, @@ -16769,7 +16769,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 91, "startOffset": 1487, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 15, @@ -16780,7 +16780,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 91, "startOffset": 1489, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 17, @@ -16791,7 +16791,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 91, "startOffset": 1498, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -16802,7 +16802,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 91, "startOffset": 1500, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 20, @@ -16813,7 +16813,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 91, "startOffset": 1501, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 21, @@ -16824,7 +16824,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 21, "startLine": 91, "startOffset": 1502, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 25, @@ -16835,7 +16835,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 23, "startLine": 91, "startOffset": 1504, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 26, @@ -16846,7 +16846,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 91, "startOffset": 1507, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 27, @@ -16857,7 +16857,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 27, "startLine": 91, "startOffset": 1508, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 31, @@ -16868,7 +16868,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 29, "startLine": 91, "startOffset": 1510, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 34, @@ -16879,7 +16879,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 33, "startLine": 91, "startOffset": 1514, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 36, @@ -16890,7 +16890,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 36, "startLine": 91, "startOffset": 1517, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 8, @@ -16901,7 +16901,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 92, "startOffset": 1521, - "tokenTypeIdx": 30, + "tokenTypeIdx": 32, }, { "endColumn": 9, @@ -16912,7 +16912,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 92, "startOffset": 1527, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 10, @@ -16923,7 +16923,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 92, "startOffset": 1528, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -16934,7 +16934,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 92, "startOffset": 1529, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 12, @@ -16945,7 +16945,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 92, "startOffset": 1530, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -16956,7 +16956,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 93, "startOffset": 1532, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -16967,7 +16967,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 93, "startOffset": 1533, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 5, @@ -16978,7 +16978,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 94, "startOffset": 1535, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 7, @@ -16989,7 +16989,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 94, "startOffset": 1541, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -17000,7 +17000,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 94, "startOffset": 1542, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 15, @@ -17011,7 +17011,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 94, "startOffset": 1544, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 17, @@ -17022,7 +17022,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 94, "startOffset": 1551, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 19, @@ -17033,7 +17033,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 94, "startOffset": 1553, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 20, @@ -17044,7 +17044,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 94, "startOffset": 1554, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -17055,7 +17055,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 95, "startOffset": 1556, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 2, @@ -17066,7 +17066,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 95, "startOffset": 1557, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 3, @@ -17077,7 +17077,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 95, "startOffset": 1558, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 4, @@ -17088,7 +17088,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 95, "startOffset": 1559, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 8, @@ -17099,7 +17099,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 95, "startOffset": 1561, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 11, @@ -17110,7 +17110,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 95, "startOffset": 1565, - "tokenTypeIdx": 64, + "tokenTypeIdx": 55, }, { "endColumn": 13, @@ -17121,7 +17121,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 95, "startOffset": 1568, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 7, @@ -17132,7 +17132,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 96, "startOffset": 1572, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 8, @@ -17143,7 +17143,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 96, "startOffset": 1577, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 14, @@ -17154,7 +17154,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 96, "startOffset": 1578, - "tokenTypeIdx": 32, + "tokenTypeIdx": 34, }, { "endColumn": 15, @@ -17165,7 +17165,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 96, "startOffset": 1584, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 16, @@ -17176,7 +17176,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 16, "startLine": 96, "startOffset": 1585, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 8, @@ -17187,7 +17187,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 97, "startOffset": 1589, - "tokenTypeIdx": 30, + "tokenTypeIdx": 32, }, { "endColumn": 9, @@ -17198,7 +17198,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 97, "startOffset": 1595, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 11, @@ -17209,7 +17209,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 10, "startLine": 97, "startOffset": 1596, - "tokenTypeIdx": 33, + "tokenTypeIdx": 35, }, { "endColumn": 12, @@ -17220,7 +17220,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 12, "startLine": 97, "startOffset": 1598, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 13, @@ -17231,7 +17231,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 13, "startLine": 97, "startOffset": 1599, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -17242,7 +17242,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 98, "startOffset": 1601, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -17253,7 +17253,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 98, "startOffset": 1602, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 3, @@ -17264,7 +17264,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 98, "startOffset": 1603, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 4, @@ -17275,7 +17275,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 98, "startOffset": 1604, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 5, @@ -17286,7 +17286,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 5, "startLine": 98, "startOffset": 1605, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 9, @@ -17297,7 +17297,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 100, "startOffset": 1625, - "tokenTypeIdx": 28, + "tokenTypeIdx": 30, }, { "endColumn": 40, @@ -17308,7 +17308,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 100, "startOffset": 1635, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 41, @@ -17319,7 +17319,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 41, "startLine": 100, "startOffset": 1665, - "tokenTypeIdx": 61, + "tokenTypeIdx": 62, }, { "endColumn": 52, @@ -17330,7 +17330,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 42, "startLine": 100, "startOffset": 1666, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 53, @@ -17341,7 +17341,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 53, "startLine": 100, "startOffset": 1677, - "tokenTypeIdx": 60, + "tokenTypeIdx": 63, }, { "endColumn": 55, @@ -17352,7 +17352,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 55, "startLine": 100, "startOffset": 1679, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 6, @@ -17363,7 +17363,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 101, "startOffset": 1683, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 7, @@ -17374,7 +17374,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 101, "startOffset": 1687, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 19, @@ -17385,7 +17385,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 101, "startOffset": 1689, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -17396,7 +17396,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 101, "startOffset": 1700, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -17407,7 +17407,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 102, "startOffset": 1702, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -17418,7 +17418,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 102, "startOffset": 1703, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 4, @@ -17429,7 +17429,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 103, "startOffset": 1705, - "tokenTypeIdx": 31, + "tokenTypeIdx": 33, }, { "endColumn": 30, @@ -17440,7 +17440,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 103, "startOffset": 1710, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 31, @@ -17451,7 +17451,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 31, "startLine": 103, "startOffset": 1735, - "tokenTypeIdx": 61, + "tokenTypeIdx": 62, }, { "endColumn": 42, @@ -17462,7 +17462,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 32, "startLine": 103, "startOffset": 1736, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 43, @@ -17473,7 +17473,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 43, "startLine": 103, "startOffset": 1747, - "tokenTypeIdx": 60, + "tokenTypeIdx": 63, }, { "endColumn": 45, @@ -17484,7 +17484,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 45, "startLine": 103, "startOffset": 1749, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 6, @@ -17495,7 +17495,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 104, "startOffset": 1753, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 7, @@ -17506,7 +17506,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 104, "startOffset": 1757, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 18, @@ -17517,7 +17517,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 104, "startOffset": 1758, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 19, @@ -17528,7 +17528,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 104, "startOffset": 1769, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 1, @@ -17539,7 +17539,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 105, "startOffset": 1771, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -17550,7 +17550,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 105, "startOffset": 1772, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 9, @@ -17561,7 +17561,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 106, "startOffset": 1774, - "tokenTypeIdx": 28, + "tokenTypeIdx": 30, }, { "endColumn": 36, @@ -17572,7 +17572,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 106, "startOffset": 1784, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 37, @@ -17583,7 +17583,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 37, "startLine": 106, "startOffset": 1810, - "tokenTypeIdx": 61, + "tokenTypeIdx": 62, }, { "endColumn": 48, @@ -17594,7 +17594,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 38, "startLine": 106, "startOffset": 1811, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 49, @@ -17605,7 +17605,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 49, "startLine": 106, "startOffset": 1822, - "tokenTypeIdx": 60, + "tokenTypeIdx": 63, }, { "endColumn": 51, @@ -17616,7 +17616,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 51, "startLine": 106, "startOffset": 1824, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 6, @@ -17627,7 +17627,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 107, "startOffset": 1828, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 7, @@ -17638,7 +17638,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 107, "startOffset": 1832, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 19, @@ -17649,7 +17649,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 107, "startOffset": 1834, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -17660,7 +17660,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 107, "startOffset": 1845, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -17671,7 +17671,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 108, "startOffset": 1847, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 4, @@ -17682,7 +17682,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 109, "startOffset": 1849, - "tokenTypeIdx": 31, + "tokenTypeIdx": 33, }, { "endColumn": 26, @@ -17693,7 +17693,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 109, "startOffset": 1854, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 27, @@ -17704,7 +17704,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 27, "startLine": 109, "startOffset": 1875, - "tokenTypeIdx": 61, + "tokenTypeIdx": 62, }, { "endColumn": 38, @@ -17715,7 +17715,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 28, "startLine": 109, "startOffset": 1876, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 39, @@ -17726,7 +17726,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 39, "startLine": 109, "startOffset": 1887, - "tokenTypeIdx": 60, + "tokenTypeIdx": 63, }, { "endColumn": 41, @@ -17737,7 +17737,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 41, "startLine": 109, "startOffset": 1889, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 6, @@ -17748,7 +17748,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 110, "startOffset": 1893, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 7, @@ -17759,7 +17759,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 110, "startOffset": 1897, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 18, @@ -17770,7 +17770,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 110, "startOffset": 1898, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 19, @@ -17781,7 +17781,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 110, "startOffset": 1909, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 1, @@ -17792,7 +17792,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 111, "startOffset": 1911, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 4, @@ -17803,7 +17803,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 113, "startOffset": 1931, - "tokenTypeIdx": 29, + "tokenTypeIdx": 31, }, { "endColumn": 21, @@ -17814,7 +17814,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 113, "startOffset": 1936, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 22, @@ -17825,7 +17825,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 113, "startOffset": 1952, - "tokenTypeIdx": 61, + "tokenTypeIdx": 62, }, { "endColumn": 33, @@ -17836,7 +17836,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 23, "startLine": 113, "startOffset": 1953, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 34, @@ -17847,7 +17847,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 34, "startLine": 113, "startOffset": 1964, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 47, @@ -17858,7 +17858,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 36, "startLine": 113, "startOffset": 1966, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 48, @@ -17869,7 +17869,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 48, "startLine": 113, "startOffset": 1978, - "tokenTypeIdx": 60, + "tokenTypeIdx": 63, }, { "endColumn": 50, @@ -17880,7 +17880,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 50, "startLine": 113, "startOffset": 1980, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 57, @@ -17891,7 +17891,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 52, "startLine": 113, "startOffset": 1982, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 58, @@ -17902,7 +17902,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 58, "startLine": 113, "startOffset": 1988, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 9, @@ -17913,7 +17913,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 114, "startOffset": 1990, - "tokenTypeIdx": 28, + "tokenTypeIdx": 30, }, { "endColumn": 31, @@ -17924,7 +17924,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 11, "startLine": 114, "startOffset": 2000, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 32, @@ -17935,7 +17935,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 32, "startLine": 114, "startOffset": 2021, - "tokenTypeIdx": 61, + "tokenTypeIdx": 62, }, { "endColumn": 43, @@ -17946,7 +17946,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 33, "startLine": 114, "startOffset": 2022, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 44, @@ -17957,7 +17957,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 44, "startLine": 114, "startOffset": 2033, - "tokenTypeIdx": 60, + "tokenTypeIdx": 63, }, { "endColumn": 46, @@ -17968,7 +17968,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 46, "startLine": 114, "startOffset": 2035, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 6, @@ -17979,7 +17979,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 115, "startOffset": 2039, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 7, @@ -17990,7 +17990,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 115, "startOffset": 2043, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 19, @@ -18001,7 +18001,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 115, "startOffset": 2045, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 20, @@ -18012,7 +18012,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 20, "startLine": 115, "startOffset": 2056, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 1, @@ -18023,7 +18023,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 116, "startOffset": 2058, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 4, @@ -18034,7 +18034,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 117, "startOffset": 2060, - "tokenTypeIdx": 31, + "tokenTypeIdx": 33, }, { "endColumn": 21, @@ -18045,7 +18045,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 6, "startLine": 117, "startOffset": 2065, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 22, @@ -18056,7 +18056,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 22, "startLine": 117, "startOffset": 2081, - "tokenTypeIdx": 61, + "tokenTypeIdx": 62, }, { "endColumn": 33, @@ -18067,7 +18067,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 23, "startLine": 117, "startOffset": 2082, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 34, @@ -18078,7 +18078,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 34, "startLine": 117, "startOffset": 2093, - "tokenTypeIdx": 60, + "tokenTypeIdx": 63, }, { "endColumn": 36, @@ -18089,7 +18089,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 36, "startLine": 117, "startOffset": 2095, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 6, @@ -18100,7 +18100,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 118, "startOffset": 2099, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 7, @@ -18111,7 +18111,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 7, "startLine": 118, "startOffset": 2103, - "tokenTypeIdx": 42, + "tokenTypeIdx": 44, }, { "endColumn": 18, @@ -18122,7 +18122,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 118, "startOffset": 2104, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 19, @@ -18133,7 +18133,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 19, "startLine": 118, "startOffset": 2115, - "tokenTypeIdx": 43, + "tokenTypeIdx": 45, }, { "endColumn": 1, @@ -18144,7 +18144,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 119, "startOffset": 2117, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 6, @@ -18155,7 +18155,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 121, "startOffset": 2135, - "tokenTypeIdx": 18, + "tokenTypeIdx": 20, }, { "endColumn": 12, @@ -18166,7 +18166,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 121, "startOffset": 2142, - "tokenTypeIdx": 19, + "tokenTypeIdx": 21, }, { "endColumn": 14, @@ -18177,7 +18177,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 14, "startLine": 121, "startOffset": 2148, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 15, @@ -18188,7 +18188,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 15, "startLine": 121, "startOffset": 2149, - "tokenTypeIdx": 51, + "tokenTypeIdx": 53, }, { "endColumn": 22, @@ -18199,7 +18199,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 17, "startLine": 121, "startOffset": 2151, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 24, @@ -18210,7 +18210,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 24, "startLine": 121, "startOffset": 2158, - "tokenTypeIdx": 66, + "tokenTypeIdx": 67, }, { "endColumn": 26, @@ -18221,7 +18221,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 26, "startLine": 121, "startOffset": 2160, - "tokenTypeIdx": 39, + "tokenTypeIdx": 41, }, { "endColumn": 27, @@ -18232,7 +18232,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 27, "startLine": 121, "startOffset": 2161, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 6, @@ -18243,7 +18243,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 122, "startOffset": 2163, - "tokenTypeIdx": 18, + "tokenTypeIdx": 20, }, { "endColumn": 8, @@ -18254,7 +18254,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 122, "startOffset": 2170, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 9, @@ -18265,7 +18265,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 9, "startLine": 122, "startOffset": 2171, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, { "endColumn": 6, @@ -18276,7 +18276,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 123, "startOffset": 2173, - "tokenTypeIdx": 18, + "tokenTypeIdx": 20, }, { "endColumn": 8, @@ -18287,7 +18287,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 8, "startLine": 123, "startOffset": 2180, - "tokenTypeIdx": 44, + "tokenTypeIdx": 46, }, { "endColumn": 3, @@ -18298,7 +18298,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 124, "startOffset": 2184, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 4, @@ -18309,7 +18309,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 124, "startOffset": 2185, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 3, @@ -18320,7 +18320,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 125, "startOffset": 2189, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 4, @@ -18331,7 +18331,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 4, "startLine": 125, "startOffset": 2190, - "tokenTypeIdx": 48, + "tokenTypeIdx": 50, }, { "endColumn": 3, @@ -18342,7 +18342,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 3, "startLine": 126, "startOffset": 2194, - "tokenTypeIdx": 82, + "tokenTypeIdx": 77, }, { "endColumn": 1, @@ -18353,7 +18353,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 1, "startLine": 127, "startOffset": 2196, - "tokenTypeIdx": 45, + "tokenTypeIdx": 47, }, { "endColumn": 2, @@ -18364,7 +18364,7 @@ exports[`Lexer: Pass 1`] = ` "startColumn": 2, "startLine": 127, "startOffset": 2197, - "tokenTypeIdx": 52, + "tokenTypeIdx": 54, }, ], } diff --git a/__tests__/Tests/__snapshots__/Parser.test.ts.snap b/__tests__/Tests/__snapshots__/Parser.test.ts.snap index 6cb82cc..2c2bd75 100644 --- a/__tests__/Tests/__snapshots__/Parser.test.ts.snap +++ b/__tests__/Tests/__snapshots__/Parser.test.ts.snap @@ -16,7 +16,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 15, @@ -30,7 +30,7 @@ exports[`Parser: Literals Pass 1`] = ` "variable": { "category": 6, "name": "a", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 8, @@ -54,7 +54,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 42, @@ -71,12 +71,12 @@ exports[`Parser: Literals Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [ { "category": 5, "name": "String", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 21, @@ -98,7 +98,7 @@ exports[`Parser: Literals Pass 1`] = ` "returnType": { "category": 5, "name": "Void", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 32, @@ -112,7 +112,7 @@ exports[`Parser: Literals Pass 1`] = ` "variable": { "category": 6, "name": "print", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 13, @@ -136,7 +136,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 32, @@ -153,7 +153,7 @@ exports[`Parser: Literals Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [], "position": { "basePath": "", @@ -166,7 +166,7 @@ exports[`Parser: Literals Pass 1`] = ` "returnType": { "category": 5, "name": "Void", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -180,7 +180,7 @@ exports[`Parser: Literals Pass 1`] = ` "variable": { "category": 6, "name": "f", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 13, @@ -204,7 +204,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 25, @@ -218,7 +218,7 @@ exports[`Parser: Literals Pass 1`] = ` "typeSignature": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 16, @@ -231,7 +231,7 @@ exports[`Parser: Literals Pass 1`] = ` "variable": { "category": 6, "name": "b", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 13, @@ -249,7 +249,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "genericTypes": undefined, "name": "A", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -261,7 +261,7 @@ exports[`Parser: Literals Pass 1`] = ` "typeLiteral": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -279,7 +279,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "genericTypes": undefined, "name": "B", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -290,7 +290,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "typeLiteral": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 10, @@ -303,7 +303,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -316,7 +316,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 16, @@ -329,7 +329,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "u32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -342,7 +342,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "u64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 28, @@ -355,7 +355,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "f32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 34, @@ -368,7 +368,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "f64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 40, @@ -388,7 +388,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "genericTypes": undefined, "name": "C", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -399,7 +399,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "typeLiteral": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 10, @@ -412,7 +412,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -428,12 +428,12 @@ exports[`Parser: Literals Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [ { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 17, @@ -445,7 +445,7 @@ exports[`Parser: Literals Pass 1`] = ` }, { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 22, @@ -458,7 +458,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -471,7 +471,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 28, @@ -494,7 +494,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "returnType": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 36, @@ -507,7 +507,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "u32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 36, @@ -520,7 +520,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 42, @@ -543,7 +543,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "genericTypes": undefined, "name": "D", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -554,7 +554,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "typeLiteral": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 10, @@ -567,7 +567,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -583,12 +583,12 @@ exports[`Parser: Literals Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [ { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 17, @@ -600,7 +600,7 @@ exports[`Parser: Literals Pass 1`] = ` }, { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 22, @@ -613,7 +613,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -626,7 +626,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 28, @@ -649,7 +649,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "returnType": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 36, @@ -661,7 +661,7 @@ exports[`Parser: Literals Pass 1`] = ` "types": [ { "category": 5, - "nodeType": 44, + "nodeType": 43, "position": { "basePath": "", "col": 36, @@ -672,7 +672,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "value": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 37, @@ -685,7 +685,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "u32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 37, @@ -698,7 +698,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 43, @@ -714,7 +714,7 @@ exports[`Parser: Literals Pass 1`] = ` { "category": 5, "name": "f32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 50, @@ -737,7 +737,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "genericTypes": undefined, "name": "E", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, @@ -754,7 +754,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 11, @@ -766,7 +766,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "mutable": false, "name": "field1", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -782,7 +782,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 15, @@ -794,7 +794,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "mutable": true, "name": "field2", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -810,7 +810,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 12, @@ -822,7 +822,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "mutable": false, "name": "field3", - "nodeType": 47, + "nodeType": 46, "optional": true, "position": { "basePath": "", @@ -843,7 +843,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 13, @@ -855,7 +855,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "mutable": false, "name": "field1", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -867,7 +867,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 11, @@ -879,7 +879,7 @@ exports[`Parser: Literals Pass 1`] = ` }, "mutable": false, "name": "field4", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -891,7 +891,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 13, @@ -909,7 +909,7 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "objectTest", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, @@ -936,7 +936,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -948,7 +948,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -963,7 +963,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -975,7 +975,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field2", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -990,7 +990,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -1002,7 +1002,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field3", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -1023,7 +1023,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 13, @@ -1035,7 +1035,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 5, @@ -1046,7 +1046,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 11, @@ -1057,7 +1057,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, "name": "field4", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -1068,7 +1068,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 21, @@ -1081,7 +1081,7 @@ exports[`Parser: Literals Pass 1`] = ` "varType": { "category": 5, "name": "E", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 17, @@ -1099,7 +1099,7 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "objectTest2", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, @@ -1126,7 +1126,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -1138,7 +1138,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -1153,7 +1153,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -1165,7 +1165,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field2", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -1186,7 +1186,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 13, @@ -1198,7 +1198,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 5, @@ -1209,7 +1209,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 11, @@ -1220,7 +1220,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, "name": "field4", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -1231,7 +1231,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 22, @@ -1244,7 +1244,7 @@ exports[`Parser: Literals Pass 1`] = ` "varType": { "category": 5, "name": "E", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 18, @@ -1262,7 +1262,7 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "objectTest3", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, @@ -1286,7 +1286,7 @@ exports[`Parser: Literals Pass 1`] = ` "fields": [ { "category": 4, - "nodeType": 38, + "nodeType": 37, "position": { "basePath": "", "col": 3, @@ -1298,7 +1298,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": { "category": 6, "name": "objectTest2", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 6, @@ -1314,7 +1314,7 @@ exports[`Parser: Literals Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -1326,7 +1326,7 @@ exports[`Parser: Literals Pass 1`] = ` "value": 1, }, "name": "field3", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -1337,7 +1337,7 @@ exports[`Parser: Literals Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 22, @@ -1350,7 +1350,7 @@ exports[`Parser: Literals Pass 1`] = ` "varType": { "category": 5, "name": "E", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 18, @@ -1365,18 +1365,57 @@ exports[`Parser: Literals Pass 1`] = ` "category": 1, "name": { "category": 6, - "nodeType": 53, + "name": "objectTest", + "nodeType": 51, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 10, + "line": 40, + "offset": 723, + }, + }, + "nodeType": 13, + "operatorImage": "=", + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 15, + "line": 40, + "offset": 723, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 2, + "line": 40, + "offset": 736, + }, + "value": 1, + }, + }, + { + "category": 1, + "name": { + "category": 6, + "nodeType": 52, "parent": { "category": 6, "name": "objectTest", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 10, - "line": 40, - "offset": 723, + "line": 41, + "offset": 740, }, }, "position": { @@ -1384,43 +1423,44 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 10, - "line": 40, - "offset": 723, + "line": 41, + "offset": 740, }, "property": { "category": 6, "name": "field2", - "nodeType": 54, + "nodeType": 53, "position": { "basePath": "", "col": 11, "file": "file", "length": 0, - "line": 40, - "offset": 733, + "line": 41, + "offset": 750, }, "property": undefined, }, }, "nodeType": 13, + "operatorImage": "=", "position": { "basePath": "", "col": 1, "file": "file", "length": 22, - "line": 40, - "offset": 723, + "line": 41, + "offset": 740, }, "value": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 21, "file": "file", "length": 2, - "line": 40, - "offset": 743, + "line": 41, + "offset": 760, }, "value": 2, }, @@ -1433,14 +1473,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 47, - "offset": 878, + "line": 48, + "offset": 895, }, "value": "Else Test", }, @@ -1448,25 +1488,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 47, - "offset": 872, + "line": 48, + "offset": 889, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 19, - "line": 47, - "offset": 872, + "line": 48, + "offset": 889, }, "statement": true, }, @@ -1483,8 +1523,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 8, "file": "file", "length": 25, - "line": 46, - "offset": 868, + "line": 47, + "offset": 885, }, }, "body": { @@ -1493,14 +1533,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 14, - "line": 45, - "offset": 844, + "line": 46, + "offset": 861, }, "value": "Else If Test", }, @@ -1508,25 +1548,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 45, - "offset": 838, + "line": 46, + "offset": 855, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 22, - "line": 45, - "offset": 838, + "line": 46, + "offset": 855, }, "statement": true, }, @@ -1543,8 +1583,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 30, "file": "file", "length": 28, - "line": 44, - "offset": 834, + "line": 45, + "offset": 851, }, }, "category": 1, @@ -1552,38 +1592,37 @@ exports[`Parser: Literals Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 12, "file": "file", "length": 6, - "line": 44, - "offset": 816, + "line": 45, + "offset": 833, }, "value": "test", }, - "nodeType": 18, - "operator": 0, + "nodeType": 17, "operatorImage": "==", "position": { "basePath": "", "col": 12, "file": "file", "length": 16, - "line": 44, - "offset": 816, + "line": 45, + "offset": 833, }, "rhs": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 22, "file": "file", "length": 6, - "line": 44, - "offset": 826, + "line": 45, + "offset": 843, }, "value": "test", }, @@ -1597,8 +1636,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 8, "file": "file", "length": 81, - "line": 44, - "offset": 812, + "line": 45, + "offset": 829, }, }, "body": { @@ -1607,14 +1646,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 9, - "line": 43, - "offset": 793, + "line": 44, + "offset": 810, }, "value": "If Test", }, @@ -1622,25 +1661,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 43, - "offset": 787, + "line": 44, + "offset": 804, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 43, - "offset": 787, + "line": 44, + "offset": 804, }, "statement": true, }, @@ -1657,8 +1696,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 13, "file": "file", "length": 23, - "line": 42, - "offset": 783, + "line": 43, + "offset": 800, }, }, "category": 1, @@ -1666,38 +1705,37 @@ exports[`Parser: Literals Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 42, - "offset": 775, + "line": 43, + "offset": 792, }, "value": 1, }, - "nodeType": 18, - "operator": 0, + "nodeType": 17, "operatorImage": "==", "position": { "basePath": "", "col": 5, "file": "file", "length": 6, - "line": 42, - "offset": 775, + "line": 43, + "offset": 792, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 10, "file": "file", "length": 1, - "line": 42, - "offset": 780, + "line": 43, + "offset": 797, }, "value": 1, }, @@ -1711,8 +1749,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 123, - "line": 42, - "offset": 771, + "line": 43, + "offset": 788, }, }, { @@ -1720,14 +1758,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 12, "file": "file", "length": 6, - "line": 50, - "offset": 933, + "line": 51, + "offset": 950, }, "value": "test", }, @@ -1735,25 +1773,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 6, "file": "file", "length": 5, - "line": 50, - "offset": 927, + "line": 51, + "offset": 944, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 6, "file": "file", "length": 13, - "line": 50, - "offset": 927, + "line": 51, + "offset": 944, }, "statement": true, }, @@ -1761,14 +1799,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 19, "file": "file", "length": 6, - "line": 49, - "offset": 913, + "line": 50, + "offset": 930, }, "value": "test", }, @@ -1776,25 +1814,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 13, "file": "file", "length": 5, - "line": 49, - "offset": 907, + "line": 50, + "offset": 924, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 13, "file": "file", "length": 13, - "line": 49, - "offset": 907, + "line": 50, + "offset": 924, }, "statement": true, }, @@ -1803,38 +1841,37 @@ exports[`Parser: Literals Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 49, - "offset": 899, + "line": 50, + "offset": 916, }, "value": 1, }, - "nodeType": 18, - "operator": 0, + "nodeType": 17, "operatorImage": "==", "position": { "basePath": "", "col": 5, "file": "file", "length": 6, - "line": 49, - "offset": 899, + "line": 50, + "offset": 916, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 10, "file": "file", "length": 1, - "line": 49, - "offset": 904, + "line": 50, + "offset": 921, }, "value": 1, }, @@ -1848,8 +1885,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 46, - "line": 49, - "offset": 895, + "line": 50, + "offset": 912, }, }, { @@ -1860,14 +1897,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 53, - "offset": 963, + "line": 54, + "offset": 980, }, "value": "true", }, @@ -1875,25 +1912,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 53, - "offset": 957, + "line": 54, + "offset": 974, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 53, - "offset": 957, + "line": 54, + "offset": 974, }, "statement": true, }, @@ -1910,21 +1947,21 @@ exports[`Parser: Literals Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 52, - "offset": 953, + "line": 53, + "offset": 970, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 52, - "offset": 947, + "line": 53, + "offset": 964, }, "value": "true", }, @@ -1937,8 +1974,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 31, - "line": 52, - "offset": 943, + "line": 53, + "offset": 960, }, }, { @@ -1947,14 +1984,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 17, "file": "file", "length": 6, - "line": 56, - "offset": 992, + "line": 57, + "offset": 1009, }, "value": "test", }, @@ -1962,39 +1999,39 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 11, "file": "file", "length": 5, - "line": 56, - "offset": 986, + "line": 57, + "offset": 1003, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 11, "file": "file", "length": 13, - "line": 56, - "offset": 986, + "line": 57, + "offset": 1003, }, "statement": true, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 56, - "offset": 980, + "line": 57, + "offset": 997, }, "value": "true", }, @@ -2007,8 +2044,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 24, - "line": 56, - "offset": 976, + "line": 57, + "offset": 993, }, }, { @@ -2016,14 +2053,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 12, "file": "file", "length": 6, - "line": 59, - "offset": 1038, + "line": 60, + "offset": 1055, }, "value": "test", }, @@ -2031,25 +2068,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 6, "file": "file", "length": 5, - "line": 59, - "offset": 1032, + "line": 60, + "offset": 1049, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 6, "file": "file", "length": 13, - "line": 59, - "offset": 1032, + "line": 60, + "offset": 1049, }, "statement": true, }, @@ -2057,14 +2094,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 17, "file": "file", "length": 6, - "line": 58, - "offset": 1018, + "line": 59, + "offset": 1035, }, "value": "test", }, @@ -2072,39 +2109,39 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 11, "file": "file", "length": 5, - "line": 58, - "offset": 1012, + "line": 59, + "offset": 1029, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 11, "file": "file", "length": 13, - "line": 58, - "offset": 1012, + "line": 59, + "offset": 1029, }, "statement": true, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 58, - "offset": 1006, + "line": 59, + "offset": 1023, }, "value": "true", }, @@ -2117,8 +2154,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 44, - "line": 58, - "offset": 1002, + "line": 59, + "offset": 1019, }, }, { @@ -2128,14 +2165,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 64, - "offset": 1094, + "line": 65, + "offset": 1111, }, "value": "test", }, @@ -2143,25 +2180,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 64, - "offset": 1088, + "line": 65, + "offset": 1105, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 64, - "offset": 1088, + "line": 65, + "offset": 1105, }, "statement": true, }, @@ -2178,8 +2215,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 8, "file": "file", "length": 20, - "line": 63, - "offset": 1084, + "line": 64, + "offset": 1101, }, }, "body": { @@ -2188,14 +2225,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 62, - "offset": 1068, + "line": 63, + "offset": 1085, }, "value": "test", }, @@ -2203,25 +2240,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 62, - "offset": 1062, + "line": 63, + "offset": 1079, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 62, - "offset": 1062, + "line": 63, + "offset": 1079, }, "statement": true, }, @@ -2238,21 +2275,21 @@ exports[`Parser: Literals Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 61, - "offset": 1058, + "line": 62, + "offset": 1075, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 61, - "offset": 1052, + "line": 62, + "offset": 1069, }, "value": "true", }, @@ -2265,8 +2302,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 57, - "line": 61, - "offset": 1048, + "line": 62, + "offset": 1065, }, }, { @@ -2277,14 +2314,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 72, - "offset": 1189, + "line": 73, + "offset": 1206, }, "value": "test", }, @@ -2292,25 +2329,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 72, - "offset": 1183, + "line": 73, + "offset": 1200, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 72, - "offset": 1183, + "line": 73, + "offset": 1200, }, "statement": true, }, @@ -2327,8 +2364,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 8, "file": "file", "length": 20, - "line": 71, - "offset": 1179, + "line": 72, + "offset": 1196, }, }, "body": { @@ -2337,14 +2374,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 70, - "offset": 1163, + "line": 71, + "offset": 1180, }, "value": "test", }, @@ -2352,25 +2389,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 70, - "offset": 1157, + "line": 71, + "offset": 1174, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 70, - "offset": 1157, + "line": 71, + "offset": 1174, }, "statement": true, }, @@ -2387,21 +2424,21 @@ exports[`Parser: Literals Pass 1`] = ` "col": 18, "file": "file", "length": 20, - "line": 69, - "offset": 1153, + "line": 70, + "offset": 1170, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 12, "file": "file", "length": 4, - "line": 69, - "offset": 1147, + "line": 70, + "offset": 1164, }, "value": "true", }, @@ -2414,8 +2451,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 8, "file": "file", "length": 56, - "line": 69, - "offset": 1143, + "line": 70, + "offset": 1160, }, }, "body": { @@ -2424,14 +2461,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 68, - "offset": 1127, + "line": 69, + "offset": 1144, }, "value": "test", }, @@ -2439,25 +2476,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 68, - "offset": 1121, + "line": 69, + "offset": 1138, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 68, - "offset": 1121, + "line": 69, + "offset": 1138, }, "statement": true, }, @@ -2474,21 +2511,21 @@ exports[`Parser: Literals Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 67, - "offset": 1117, + "line": 68, + "offset": 1134, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 67, - "offset": 1111, + "line": 68, + "offset": 1128, }, "value": "true", }, @@ -2501,8 +2538,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 93, - "line": 67, - "offset": 1107, + "line": 68, + "offset": 1124, }, }, { @@ -2510,14 +2547,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 14, "file": "file", "length": 6, - "line": 77, - "offset": 1244, + "line": 78, + "offset": 1261, }, "value": "test", }, @@ -2525,25 +2562,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 8, "file": "file", "length": 5, - "line": 77, - "offset": 1238, + "line": 78, + "offset": 1255, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 8, "file": "file", "length": 13, - "line": 77, - "offset": 1238, + "line": 78, + "offset": 1255, }, "statement": true, }, @@ -2553,14 +2590,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 76, - "offset": 1222, + "line": 77, + "offset": 1239, }, "value": "test", }, @@ -2568,25 +2605,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 76, - "offset": 1216, + "line": 77, + "offset": 1233, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 76, - "offset": 1216, + "line": 77, + "offset": 1233, }, "statement": true, }, @@ -2603,21 +2640,21 @@ exports[`Parser: Literals Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 75, - "offset": 1212, + "line": 76, + "offset": 1229, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 75, - "offset": 1206, + "line": 76, + "offset": 1223, }, "value": "true", }, @@ -2630,8 +2667,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 50, - "line": 75, - "offset": 1202, + "line": 76, + "offset": 1219, }, }, { @@ -2642,14 +2679,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 80, - "offset": 1274, + "line": 81, + "offset": 1291, }, "value": "test", }, @@ -2657,25 +2694,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 80, - "offset": 1268, + "line": 81, + "offset": 1285, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 80, - "offset": 1268, + "line": 81, + "offset": 1285, }, "statement": true, }, @@ -2692,21 +2729,21 @@ exports[`Parser: Literals Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 79, - "offset": 1264, + "line": 80, + "offset": 1281, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 79, - "offset": 1258, + "line": 80, + "offset": 1275, }, "value": "true", }, @@ -2719,22 +2756,22 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 31, - "line": 79, - "offset": 1254, + "line": 80, + "offset": 1271, }, }, { "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 7, "file": "file", "length": 6, - "line": 83, - "offset": 1315, + "line": 84, + "offset": 1332, }, "value": "test", }, @@ -2742,25 +2779,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 5, - "line": 83, - "offset": 1309, + "line": 84, + "offset": 1326, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 1, "file": "file", "length": 14, - "line": 83, - "offset": 1309, + "line": 84, + "offset": 1326, }, "statement": true, }, @@ -2769,25 +2806,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "f", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 1, - "line": 84, - "offset": 1324, + "line": 85, + "offset": 1341, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 1, "file": "file", "length": 4, - "line": 84, - "offset": 1324, + "line": 85, + "offset": 1341, }, "statement": true, }, @@ -2795,41 +2832,41 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 15, "file": "file", "length": 2, - "line": 85, - "offset": 1343, + "line": 86, + "offset": 1360, }, "value": 1, }, { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 19, "file": "file", "length": 2, - "line": 85, - "offset": 1347, + "line": 86, + "offset": 1364, }, "value": 1, }, ], "category": 3, "name": "@wasm.i32.add", - "nodeType": 24, + "nodeType": 23, "position": { "basePath": "", "col": 1, "file": "file", "length": 22, - "line": 85, - "offset": 1329, + "line": 86, + "offset": 1346, }, "statement": true, }, @@ -2840,14 +2877,14 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "c", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 87, - "offset": 1386, + "line": 88, + "offset": 1403, }, }, "nodeType": 12, @@ -2856,8 +2893,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 40, - "line": 87, - "offset": 1382, + "line": 88, + "offset": 1399, }, "value": { "category": 3, @@ -2869,152 +2906,147 @@ exports[`Parser: Literals Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 17, "file": "file", "length": 1, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "value": 1, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 11, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 3, - "nodeType": 21, + "nodeType": 20, "position": { "basePath": "", "col": 21, "file": "file", "length": 7, - "line": 87, - "offset": 1402, + "line": 88, + "offset": 1419, }, "value": { "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 22, "file": "file", "length": 1, - "line": 87, - "offset": 1403, + "line": 88, + "offset": 1420, }, "value": 1, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 22, "file": "file", "length": 5, - "line": 87, - "offset": 1403, + "line": 88, + "offset": 1420, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 26, "file": "file", "length": 1, - "line": 87, - "offset": 1407, + "line": 88, + "offset": 1424, }, "value": 1, }, }, }, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 15, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 31, "file": "file", "length": 1, - "line": 87, - "offset": 1412, + "line": 88, + "offset": 1429, }, "value": 1, }, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 19, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 35, "file": "file", "length": 1, - "line": 87, - "offset": 1416, + "line": 88, + "offset": 1433, }, "value": 1, }, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 23, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 39, "file": "file", "length": 1, - "line": 87, - "offset": 1420, + "line": 88, + "offset": 1437, }, "value": 1, }, @@ -3022,14 +3054,14 @@ exports[`Parser: Literals Pass 1`] = ` "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 6, - "line": 87, - "offset": 1389, + "line": 88, + "offset": 1406, }, }, }, @@ -3038,35 +3070,36 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "c", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 1, - "line": 88, - "offset": 1423, + "line": 89, + "offset": 1440, }, }, "nodeType": 13, + "operatorImage": "=", "position": { "basePath": "", "col": 1, "file": "file", "length": 5, - "line": 88, - "offset": 1423, + "line": 89, + "offset": 1440, }, "value": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 88, - "offset": 1427, + "line": 89, + "offset": 1444, }, "value": 1, }, @@ -3078,14 +3111,14 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "d", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 89, - "offset": 1434, + "line": 90, + "offset": 1451, }, }, "nodeType": 12, @@ -3094,33 +3127,33 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 18, - "line": 89, - "offset": 1430, + "line": 90, + "offset": 1447, }, "value": { "category": 6, "name": "a", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 17, "file": "file", "length": 1, - "line": 89, - "offset": 1446, + "line": 90, + "offset": 1463, }, }, "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 6, - "line": 89, - "offset": 1437, + "line": 90, + "offset": 1454, }, }, }, @@ -3131,14 +3164,14 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "e", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 90, - "offset": 1453, + "line": 91, + "offset": 1470, }, }, "nodeType": 12, @@ -3147,23 +3180,23 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 25, - "line": 90, - "offset": 1449, + "line": 91, + "offset": 1466, }, "value": { "category": 6, - "nodeType": 53, + "nodeType": 52, "parent": { "category": 6, "name": "objectTest3", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 14, "file": "file", "length": 11, - "line": 90, - "offset": 1462, + "line": 91, + "offset": 1479, }, }, "position": { @@ -3171,20 +3204,20 @@ exports[`Parser: Literals Pass 1`] = ` "col": 14, "file": "file", "length": 11, - "line": 90, - "offset": 1462, + "line": 91, + "offset": 1479, }, "property": { "category": 6, "name": "field3", - "nodeType": 54, + "nodeType": 53, "position": { "basePath": "", "col": 25, "file": "file", "length": 0, - "line": 90, - "offset": 1473, + "line": 91, + "offset": 1490, }, "property": undefined, }, @@ -3192,14 +3225,14 @@ exports[`Parser: Literals Pass 1`] = ` "varType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 3, - "line": 90, - "offset": 1456, + "line": 91, + "offset": 1473, }, }, }, @@ -3210,14 +3243,14 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "z", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 91, - "offset": 1486, + "line": 92, + "offset": 1503, }, }, "nodeType": 12, @@ -3226,8 +3259,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 52, - "line": 91, - "offset": 1482, + "line": 92, + "offset": 1499, }, "value": { "body": { @@ -3243,20 +3276,20 @@ exports[`Parser: Literals Pass 1`] = ` "col": 3, "file": "file", "length": 10, - "line": 92, - "offset": 1521, + "line": 93, + "offset": 1538, }, "returnValue": { "category": 6, "name": "g", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 10, "file": "file", "length": 1, - "line": 92, - "offset": 1528, + "line": 93, + "offset": 1545, }, }, }, @@ -3273,8 +3306,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 36, "file": "file", "length": 16, - "line": 91, - "offset": 1517, + "line": 92, + "offset": 1534, }, }, "category": 4, @@ -3285,7 +3318,7 @@ exports[`Parser: Literals Pass 1`] = ` "pathReturns": false, }, "genericTypes": undefined, - "nodeType": 34, + "nodeType": 33, "params": [ { "category": 6, @@ -3293,29 +3326,29 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "g", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 20, "file": "file", "length": 1, - "line": 91, - "offset": 1501, + "line": 92, + "offset": 1518, }, }, - "nodeType": 55, + "nodeType": 54, "optional": false, "paramType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 23, "file": "file", "length": 3, - "line": 91, - "offset": 1504, + "line": 92, + "offset": 1521, }, }, "position": { @@ -3323,8 +3356,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 20, "file": "file", "length": 1, - "line": 91, - "offset": 1501, + "line": 92, + "offset": 1518, }, }, ], @@ -3333,34 +3366,34 @@ exports[`Parser: Literals Pass 1`] = ` "col": 19, "file": "file", "length": 33, - "line": 91, - "offset": 1500, + "line": 92, + "offset": 1517, }, "returnType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 29, "file": "file", "length": 3, - "line": 91, - "offset": 1510, + "line": 92, + "offset": 1527, }, }, }, "varType": { "category": 5, "name": "Function", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 8, - "line": 91, - "offset": 1489, + "line": 92, + "offset": 1506, }, }, }, @@ -3371,14 +3404,14 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "h", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 7, "file": "file", "length": 1, - "line": 94, - "offset": 1541, + "line": 95, + "offset": 1558, }, }, "nodeType": 12, @@ -3387,33 +3420,33 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 20, - "line": 94, - "offset": 1535, + "line": 95, + "offset": 1552, }, "value": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 19, "file": "file", "length": 1, - "line": 94, - "offset": 1553, + "line": 95, + "offset": 1570, }, "value": 1, }, "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, "file": "file", "length": 6, - "line": 94, - "offset": 1544, + "line": 95, + "offset": 1561, }, }, }, @@ -3421,14 +3454,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [], "callee": { "category": 3, - "nodeType": 21, + "nodeType": 20, "position": { "basePath": "", "col": 1, "file": "file", "length": 47, - "line": 95, - "offset": 1556, + "line": 96, + "offset": 1573, }, "value": { "body": { @@ -3437,14 +3470,14 @@ exports[`Parser: Literals Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 96, - "offset": 1578, + "line": 97, + "offset": 1595, }, "value": "test", }, @@ -3452,25 +3485,25 @@ exports[`Parser: Literals Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 96, - "offset": 1572, + "line": 97, + "offset": 1589, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 96, - "offset": 1572, + "line": 97, + "offset": 1589, }, "statement": true, }, @@ -3485,19 +3518,19 @@ exports[`Parser: Literals Pass 1`] = ` "col": 3, "file": "file", "length": 11, - "line": 97, - "offset": 1589, + "line": 98, + "offset": 1606, }, "returnValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 10, "file": "file", "length": 2, - "line": 97, - "offset": 1596, + "line": 98, + "offset": 1613, }, "value": 1, }, @@ -3515,8 +3548,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 13, "file": "file", "length": 34, - "line": 95, - "offset": 1568, + "line": 96, + "offset": 1585, }, }, "category": 4, @@ -3527,40 +3560,40 @@ exports[`Parser: Literals Pass 1`] = ` "pathReturns": false, }, "genericTypes": undefined, - "nodeType": 34, + "nodeType": 33, "params": [], "position": { "basePath": "", "col": 2, "file": "file", "length": 45, - "line": 95, - "offset": 1557, + "line": 96, + "offset": 1574, }, "returnType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 6, "file": "file", "length": 3, - "line": 95, - "offset": 1561, + "line": 96, + "offset": 1578, }, }, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 1, "file": "file", "length": 50, - "line": 95, - "offset": 1556, + "line": 96, + "offset": 1573, }, "statement": true, }, @@ -3574,27 +3607,27 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 41, "file": "file", "length": 13, - "line": 100, - "offset": 1665, + "line": 101, + "offset": 1682, }, "valueType": undefined, }, ], "name": "OptionalSemi_Has_TestInterface", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, "file": "file", "length": 78, - "line": 100, - "offset": 1625, + "line": 101, + "offset": 1642, }, "typeLiteral": { "category": 5, @@ -3604,38 +3637,38 @@ exports[`Parser: Literals Pass 1`] = ` "fieldType": { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 101, - "offset": 1689, + "line": 102, + "offset": 1706, }, }, "mutable": false, "name": "test", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 101, - "offset": 1683, + "line": 102, + "offset": 1700, }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 55, "file": "file", "length": 24, - "line": 100, - "offset": 1679, + "line": 101, + "offset": 1696, }, }, }, @@ -3649,53 +3682,53 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 31, "file": "file", "length": 13, - "line": 103, - "offset": 1735, + "line": 104, + "offset": 1752, }, "valueType": undefined, }, ], "name": "OptionalSemi_Has_EnumTest", - "nodeType": 16, + "nodeType": 15, "position": { "basePath": "", "col": 1, "file": "file", "length": 68, - "line": 103, - "offset": 1705, + "line": 104, + "offset": 1722, }, "variants": [ { "category": 2, "identifier": "Test", - "nodeType": 17, + "nodeType": 16, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 104, - "offset": 1753, + "line": 105, + "offset": 1770, }, "value": [ { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 8, "file": "file", "length": 11, - "line": 104, - "offset": 1758, + "line": 105, + "offset": 1775, }, }, ], @@ -3712,27 +3745,27 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 37, "file": "file", "length": 13, - "line": 106, - "offset": 1810, + "line": 107, + "offset": 1827, }, "valueType": undefined, }, ], "name": "OptionalSemi_TestInterface", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, "file": "file", "length": 73, - "line": 106, - "offset": 1774, + "line": 107, + "offset": 1791, }, "typeLiteral": { "category": 5, @@ -3742,38 +3775,38 @@ exports[`Parser: Literals Pass 1`] = ` "fieldType": { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 107, - "offset": 1834, + "line": 108, + "offset": 1851, }, }, "mutable": false, "name": "test", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 107, - "offset": 1828, + "line": 108, + "offset": 1845, }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 51, "file": "file", "length": 24, - "line": 106, - "offset": 1824, + "line": 107, + "offset": 1841, }, }, }, @@ -3787,53 +3820,53 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 27, "file": "file", "length": 13, - "line": 109, - "offset": 1875, + "line": 110, + "offset": 1892, }, "valueType": undefined, }, ], "name": "OptionalSemi_EnumTest", - "nodeType": 16, + "nodeType": 15, "position": { "basePath": "", "col": 1, "file": "file", "length": 63, - "line": 109, - "offset": 1849, + "line": 110, + "offset": 1866, }, "variants": [ { "category": 2, "identifier": "Test", - "nodeType": 17, + "nodeType": 16, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 110, - "offset": 1893, + "line": 111, + "offset": 1910, }, "value": [ { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 8, "file": "file", "length": 11, - "line": 110, - "offset": 1898, + "line": 111, + "offset": 1915, }, }, ], @@ -3850,14 +3883,14 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 22, "file": "file", "length": 27, - "line": 113, - "offset": 1952, + "line": 114, + "offset": 1969, }, "valueType": undefined, }, @@ -3865,39 +3898,39 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest1", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 22, "file": "file", "length": 27, - "line": 113, - "offset": 1952, + "line": 114, + "offset": 1969, }, "valueType": undefined, }, ], "name": "Generic_TypeTest", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, "file": "file", "length": 58, - "line": 113, - "offset": 1931, + "line": 114, + "offset": 1948, }, "typeLiteral": { "category": 5, "name": "String", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 52, "file": "file", "length": 6, - "line": 113, - "offset": 1982, + "line": 114, + "offset": 1999, }, }, }, @@ -3911,27 +3944,27 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 32, "file": "file", "length": 13, - "line": 114, - "offset": 2021, + "line": 115, + "offset": 2038, }, "valueType": undefined, }, ], "name": "Generic_TestInterface", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, "file": "file", "length": 68, - "line": 114, - "offset": 1990, + "line": 115, + "offset": 2007, }, "typeLiteral": { "category": 5, @@ -3941,38 +3974,38 @@ exports[`Parser: Literals Pass 1`] = ` "fieldType": { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 115, - "offset": 2045, + "line": 116, + "offset": 2062, }, }, "mutable": false, "name": "test", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 115, - "offset": 2039, + "line": 116, + "offset": 2056, }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 46, "file": "file", "length": 24, - "line": 114, - "offset": 2035, + "line": 115, + "offset": 2052, }, }, }, @@ -3986,53 +4019,53 @@ exports[`Parser: Literals Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 22, "file": "file", "length": 13, - "line": 117, - "offset": 2081, + "line": 118, + "offset": 2098, }, "valueType": undefined, }, ], "name": "Generic_EnumTest", - "nodeType": 16, + "nodeType": 15, "position": { "basePath": "", "col": 1, "file": "file", "length": 58, - "line": 117, - "offset": 2060, + "line": 118, + "offset": 2077, }, "variants": [ { "category": 2, "identifier": "Test", - "nodeType": 17, + "nodeType": 16, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 118, - "offset": 2099, + "line": 119, + "offset": 2116, }, "value": [ { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 8, "file": "file", "length": 11, - "line": 118, - "offset": 2104, + "line": 119, + "offset": 2121, }, }, ], @@ -4047,8 +4080,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 27, - "line": 121, - "offset": 2135, + "line": 122, + "offset": 2152, }, "value": { "category": 1, @@ -4057,14 +4090,14 @@ exports[`Parser: Literals Pass 1`] = ` "name": { "category": 6, "name": "y", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 14, "file": "file", "length": 1, - "line": 121, - "offset": 2148, + "line": 122, + "offset": 2165, }, }, "nodeType": 12, @@ -4073,33 +4106,33 @@ exports[`Parser: Literals Pass 1`] = ` "col": 8, "file": "file", "length": 19, - "line": 121, - "offset": 2142, + "line": 122, + "offset": 2159, }, "value": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 26, "file": "file", "length": 1, - "line": 121, - "offset": 2160, + "line": 122, + "offset": 2177, }, "value": 1, }, "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 17, "file": "file", "length": 6, - "line": 121, - "offset": 2151, + "line": 122, + "offset": 2168, }, }, }, @@ -4112,20 +4145,20 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 9, - "line": 122, - "offset": 2163, + "line": 123, + "offset": 2180, }, "value": { "category": 6, "name": "h", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 8, "file": "file", "length": 1, - "line": 122, - "offset": 2170, + "line": 123, + "offset": 2187, }, }, }, @@ -4137,8 +4170,8 @@ exports[`Parser: Literals Pass 1`] = ` "col": 1, "file": "file", "length": 25, - "line": 123, - "offset": 2173, + "line": 124, + "offset": 2190, }, "value": { "category": 4, @@ -4148,25 +4181,25 @@ exports[`Parser: Literals Pass 1`] = ` "fieldValue": { "category": 6, "name": "c", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 124, - "offset": 2184, + "line": 125, + "offset": 2201, }, }, "name": "c", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 124, - "offset": 2184, + "line": 125, + "offset": 2201, }, }, { @@ -4174,25 +4207,25 @@ exports[`Parser: Literals Pass 1`] = ` "fieldValue": { "category": 6, "name": "d", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 125, - "offset": 2189, + "line": 126, + "offset": 2206, }, }, "name": "d", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 125, - "offset": 2189, + "line": 126, + "offset": 2206, }, }, { @@ -4200,36 +4233,36 @@ exports[`Parser: Literals Pass 1`] = ` "fieldValue": { "category": 6, "name": "z", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 126, - "offset": 2194, + "line": 127, + "offset": 2211, }, }, "name": "z", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 126, - "offset": 2194, + "line": 127, + "offset": 2211, }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 8, "file": "file", "length": 17, - "line": 123, - "offset": 2180, + "line": 124, + "offset": 2197, }, }, }, @@ -4243,6 +4276,12 @@ exports[`Parser: Literals Pass 1`] = ` "_varStack": Map {}, "_variables": Map {}, "loopDepth": undefined, + "operatorScope": { + "ASSIGNMENT": Map {}, + "INFIX": Map {}, + "POSTFIX": Map {}, + "PREFIX": Map {}, + }, }, "name": "file", "nodeType": 0, @@ -4250,7 +4289,7 @@ exports[`Parser: Literals Pass 1`] = ` "basePath": "", "col": 0, "file": "file", - "length": 2198, + "length": 2215, "line": 0, "offset": 0, }, @@ -4273,7 +4312,7 @@ exports[`Parser: Main Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 15, @@ -4287,7 +4326,7 @@ exports[`Parser: Main Pass 1`] = ` "variable": { "category": 6, "name": "a", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 8, @@ -4311,7 +4350,7 @@ exports[`Parser: Main Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 42, @@ -4328,12 +4367,12 @@ exports[`Parser: Main Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [ { "category": 5, "name": "String", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 21, @@ -4355,7 +4394,7 @@ exports[`Parser: Main Pass 1`] = ` "returnType": { "category": 5, "name": "Void", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 32, @@ -4369,7 +4408,7 @@ exports[`Parser: Main Pass 1`] = ` "variable": { "category": 6, "name": "print", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 13, @@ -4393,7 +4432,7 @@ exports[`Parser: Main Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 32, @@ -4410,7 +4449,7 @@ exports[`Parser: Main Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [], "position": { "basePath": "", @@ -4423,7 +4462,7 @@ exports[`Parser: Main Pass 1`] = ` "returnType": { "category": 5, "name": "Void", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -4437,7 +4476,7 @@ exports[`Parser: Main Pass 1`] = ` "variable": { "category": 6, "name": "f", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 13, @@ -4461,7 +4500,7 @@ exports[`Parser: Main Pass 1`] = ` }, "source": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 25, @@ -4475,7 +4514,7 @@ exports[`Parser: Main Pass 1`] = ` "typeSignature": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 16, @@ -4488,7 +4527,7 @@ exports[`Parser: Main Pass 1`] = ` "variable": { "category": 6, "name": "b", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 13, @@ -4506,7 +4545,7 @@ exports[`Parser: Main Pass 1`] = ` }, "genericTypes": undefined, "name": "A", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -4518,7 +4557,7 @@ exports[`Parser: Main Pass 1`] = ` "typeLiteral": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -4536,7 +4575,7 @@ exports[`Parser: Main Pass 1`] = ` }, "genericTypes": undefined, "name": "B", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -4547,7 +4586,7 @@ exports[`Parser: Main Pass 1`] = ` }, "typeLiteral": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 10, @@ -4560,7 +4599,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -4573,7 +4612,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 16, @@ -4586,7 +4625,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "u32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -4599,7 +4638,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "u64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 28, @@ -4612,7 +4651,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "f32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 34, @@ -4625,7 +4664,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "f64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 40, @@ -4645,7 +4684,7 @@ exports[`Parser: Main Pass 1`] = ` }, "genericTypes": undefined, "name": "C", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -4656,7 +4695,7 @@ exports[`Parser: Main Pass 1`] = ` }, "typeLiteral": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 10, @@ -4669,7 +4708,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -4685,12 +4724,12 @@ exports[`Parser: Main Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [ { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 17, @@ -4702,7 +4741,7 @@ exports[`Parser: Main Pass 1`] = ` }, { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 22, @@ -4715,7 +4754,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -4728,7 +4767,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 28, @@ -4751,7 +4790,7 @@ exports[`Parser: Main Pass 1`] = ` }, "returnType": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 36, @@ -4764,7 +4803,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "u32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 36, @@ -4777,7 +4816,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 42, @@ -4800,7 +4839,7 @@ exports[`Parser: Main Pass 1`] = ` }, "genericTypes": undefined, "name": "D", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, @@ -4811,7 +4850,7 @@ exports[`Parser: Main Pass 1`] = ` }, "typeLiteral": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 10, @@ -4824,7 +4863,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, @@ -4840,12 +4879,12 @@ exports[`Parser: Main Pass 1`] = ` "_typeStack": Map {}, }, "genericTypes": undefined, - "nodeType": 45, + "nodeType": 44, "params": [ { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 17, @@ -4857,7 +4896,7 @@ exports[`Parser: Main Pass 1`] = ` }, { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 22, @@ -4870,7 +4909,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 22, @@ -4883,7 +4922,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 28, @@ -4906,7 +4945,7 @@ exports[`Parser: Main Pass 1`] = ` }, "returnType": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 36, @@ -4918,7 +4957,7 @@ exports[`Parser: Main Pass 1`] = ` "types": [ { "category": 5, - "nodeType": 44, + "nodeType": 43, "position": { "basePath": "", "col": 36, @@ -4929,7 +4968,7 @@ exports[`Parser: Main Pass 1`] = ` }, "value": { "category": 5, - "nodeType": 42, + "nodeType": 41, "position": { "basePath": "", "col": 37, @@ -4942,7 +4981,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "u32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 37, @@ -4955,7 +4994,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "i64", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 43, @@ -4971,7 +5010,7 @@ exports[`Parser: Main Pass 1`] = ` { "category": 5, "name": "f32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 50, @@ -4994,7 +5033,7 @@ exports[`Parser: Main Pass 1`] = ` }, "genericTypes": undefined, "name": "E", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, @@ -5011,7 +5050,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 11, @@ -5023,7 +5062,7 @@ exports[`Parser: Main Pass 1`] = ` }, "mutable": false, "name": "field1", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -5039,7 +5078,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 15, @@ -5051,7 +5090,7 @@ exports[`Parser: Main Pass 1`] = ` }, "mutable": true, "name": "field2", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -5067,7 +5106,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 12, @@ -5079,7 +5118,7 @@ exports[`Parser: Main Pass 1`] = ` }, "mutable": false, "name": "field3", - "nodeType": 47, + "nodeType": 46, "optional": true, "position": { "basePath": "", @@ -5100,7 +5139,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 13, @@ -5112,7 +5151,7 @@ exports[`Parser: Main Pass 1`] = ` }, "mutable": false, "name": "field1", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -5124,7 +5163,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 11, @@ -5136,7 +5175,7 @@ exports[`Parser: Main Pass 1`] = ` }, "mutable": false, "name": "field4", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", @@ -5148,7 +5187,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 13, @@ -5166,7 +5205,7 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "objectTest", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, @@ -5193,7 +5232,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -5205,7 +5244,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5220,7 +5259,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -5232,7 +5271,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field2", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5247,7 +5286,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -5259,7 +5298,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field3", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5280,7 +5319,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 13, @@ -5292,7 +5331,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 5, @@ -5303,7 +5342,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 11, @@ -5314,7 +5353,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, "name": "field4", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5325,7 +5364,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 21, @@ -5338,7 +5377,7 @@ exports[`Parser: Main Pass 1`] = ` "varType": { "category": 5, "name": "E", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 17, @@ -5356,7 +5395,7 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "objectTest2", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, @@ -5383,7 +5422,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -5395,7 +5434,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5410,7 +5449,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -5422,7 +5461,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field2", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5443,7 +5482,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 13, @@ -5455,7 +5494,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field1", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 5, @@ -5466,7 +5505,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 11, @@ -5477,7 +5516,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, "name": "field4", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5488,7 +5527,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 22, @@ -5501,7 +5540,7 @@ exports[`Parser: Main Pass 1`] = ` "varType": { "category": 5, "name": "E", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 18, @@ -5519,7 +5558,7 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "objectTest3", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, @@ -5543,7 +5582,7 @@ exports[`Parser: Main Pass 1`] = ` "fields": [ { "category": 4, - "nodeType": 38, + "nodeType": 37, "position": { "basePath": "", "col": 3, @@ -5555,7 +5594,7 @@ exports[`Parser: Main Pass 1`] = ` "value": { "category": 6, "name": "objectTest2", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 6, @@ -5571,7 +5610,7 @@ exports[`Parser: Main Pass 1`] = ` "fieldMutable": false, "fieldValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 11, @@ -5583,7 +5622,7 @@ exports[`Parser: Main Pass 1`] = ` "value": 1, }, "name": "field3", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, @@ -5594,7 +5633,7 @@ exports[`Parser: Main Pass 1`] = ` }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 22, @@ -5607,7 +5646,7 @@ exports[`Parser: Main Pass 1`] = ` "varType": { "category": 5, "name": "E", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 18, @@ -5622,18 +5661,57 @@ exports[`Parser: Main Pass 1`] = ` "category": 1, "name": { "category": 6, - "nodeType": 53, + "name": "objectTest", + "nodeType": 51, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 10, + "line": 40, + "offset": 723, + }, + }, + "nodeType": 13, + "operatorImage": "=", + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 15, + "line": 40, + "offset": 723, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 2, + "line": 40, + "offset": 736, + }, + "value": 1, + }, + }, + { + "category": 1, + "name": { + "category": 6, + "nodeType": 52, "parent": { "category": 6, "name": "objectTest", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 10, - "line": 40, - "offset": 723, + "line": 41, + "offset": 740, }, }, "position": { @@ -5641,43 +5719,44 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 10, - "line": 40, - "offset": 723, + "line": 41, + "offset": 740, }, "property": { "category": 6, "name": "field2", - "nodeType": 54, + "nodeType": 53, "position": { "basePath": "", "col": 11, "file": "file", "length": 0, - "line": 40, - "offset": 733, + "line": 41, + "offset": 750, }, "property": undefined, }, }, "nodeType": 13, + "operatorImage": "=", "position": { "basePath": "", "col": 1, "file": "file", "length": 22, - "line": 40, - "offset": 723, + "line": 41, + "offset": 740, }, "value": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 21, "file": "file", "length": 2, - "line": 40, - "offset": 743, + "line": 41, + "offset": 760, }, "value": 2, }, @@ -5690,14 +5769,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 47, - "offset": 878, + "line": 48, + "offset": 895, }, "value": "Else Test", }, @@ -5705,25 +5784,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 47, - "offset": 872, + "line": 48, + "offset": 889, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 19, - "line": 47, - "offset": 872, + "line": 48, + "offset": 889, }, "statement": true, }, @@ -5740,8 +5819,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 8, "file": "file", "length": 25, - "line": 46, - "offset": 868, + "line": 47, + "offset": 885, }, }, "body": { @@ -5750,14 +5829,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 14, - "line": 45, - "offset": 844, + "line": 46, + "offset": 861, }, "value": "Else If Test", }, @@ -5765,25 +5844,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 45, - "offset": 838, + "line": 46, + "offset": 855, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 22, - "line": 45, - "offset": 838, + "line": 46, + "offset": 855, }, "statement": true, }, @@ -5800,8 +5879,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 30, "file": "file", "length": 28, - "line": 44, - "offset": 834, + "line": 45, + "offset": 851, }, }, "category": 1, @@ -5809,38 +5888,37 @@ exports[`Parser: Main Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 12, "file": "file", "length": 6, - "line": 44, - "offset": 816, + "line": 45, + "offset": 833, }, "value": "test", }, - "nodeType": 18, - "operator": 0, + "nodeType": 17, "operatorImage": "==", "position": { "basePath": "", "col": 12, "file": "file", "length": 16, - "line": 44, - "offset": 816, + "line": 45, + "offset": 833, }, "rhs": { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 22, "file": "file", "length": 6, - "line": 44, - "offset": 826, + "line": 45, + "offset": 843, }, "value": "test", }, @@ -5854,8 +5932,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 8, "file": "file", "length": 81, - "line": 44, - "offset": 812, + "line": 45, + "offset": 829, }, }, "body": { @@ -5864,14 +5942,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 9, - "line": 43, - "offset": 793, + "line": 44, + "offset": 810, }, "value": "If Test", }, @@ -5879,25 +5957,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 43, - "offset": 787, + "line": 44, + "offset": 804, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 43, - "offset": 787, + "line": 44, + "offset": 804, }, "statement": true, }, @@ -5914,8 +5992,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 13, "file": "file", "length": 23, - "line": 42, - "offset": 783, + "line": 43, + "offset": 800, }, }, "category": 1, @@ -5923,38 +6001,37 @@ exports[`Parser: Main Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 42, - "offset": 775, + "line": 43, + "offset": 792, }, "value": 1, }, - "nodeType": 18, - "operator": 0, + "nodeType": 17, "operatorImage": "==", "position": { "basePath": "", "col": 5, "file": "file", "length": 6, - "line": 42, - "offset": 775, + "line": 43, + "offset": 792, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 10, "file": "file", "length": 1, - "line": 42, - "offset": 780, + "line": 43, + "offset": 797, }, "value": 1, }, @@ -5968,8 +6045,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 123, - "line": 42, - "offset": 771, + "line": 43, + "offset": 788, }, }, { @@ -5977,14 +6054,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 12, "file": "file", "length": 6, - "line": 50, - "offset": 933, + "line": 51, + "offset": 950, }, "value": "test", }, @@ -5992,25 +6069,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 6, "file": "file", "length": 5, - "line": 50, - "offset": 927, + "line": 51, + "offset": 944, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 6, "file": "file", "length": 13, - "line": 50, - "offset": 927, + "line": 51, + "offset": 944, }, "statement": true, }, @@ -6018,14 +6095,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 19, "file": "file", "length": 6, - "line": 49, - "offset": 913, + "line": 50, + "offset": 930, }, "value": "test", }, @@ -6033,25 +6110,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 13, "file": "file", "length": 5, - "line": 49, - "offset": 907, + "line": 50, + "offset": 924, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 13, "file": "file", "length": 13, - "line": 49, - "offset": 907, + "line": 50, + "offset": 924, }, "statement": true, }, @@ -6060,38 +6137,37 @@ exports[`Parser: Main Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 49, - "offset": 899, + "line": 50, + "offset": 916, }, "value": 1, }, - "nodeType": 18, - "operator": 0, + "nodeType": 17, "operatorImage": "==", "position": { "basePath": "", "col": 5, "file": "file", "length": 6, - "line": 49, - "offset": 899, + "line": 50, + "offset": 916, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 10, "file": "file", "length": 1, - "line": 49, - "offset": 904, + "line": 50, + "offset": 921, }, "value": 1, }, @@ -6105,8 +6181,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 46, - "line": 49, - "offset": 895, + "line": 50, + "offset": 912, }, }, { @@ -6117,14 +6193,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 53, - "offset": 963, + "line": 54, + "offset": 980, }, "value": "true", }, @@ -6132,25 +6208,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 53, - "offset": 957, + "line": 54, + "offset": 974, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 53, - "offset": 957, + "line": 54, + "offset": 974, }, "statement": true, }, @@ -6167,21 +6243,21 @@ exports[`Parser: Main Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 52, - "offset": 953, + "line": 53, + "offset": 970, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 52, - "offset": 947, + "line": 53, + "offset": 964, }, "value": "true", }, @@ -6194,8 +6270,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 31, - "line": 52, - "offset": 943, + "line": 53, + "offset": 960, }, }, { @@ -6204,14 +6280,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 17, "file": "file", "length": 6, - "line": 56, - "offset": 992, + "line": 57, + "offset": 1009, }, "value": "test", }, @@ -6219,39 +6295,39 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 11, "file": "file", "length": 5, - "line": 56, - "offset": 986, + "line": 57, + "offset": 1003, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 11, "file": "file", "length": 13, - "line": 56, - "offset": 986, + "line": 57, + "offset": 1003, }, "statement": true, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 56, - "offset": 980, + "line": 57, + "offset": 997, }, "value": "true", }, @@ -6264,8 +6340,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 24, - "line": 56, - "offset": 976, + "line": 57, + "offset": 993, }, }, { @@ -6273,14 +6349,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 12, "file": "file", "length": 6, - "line": 59, - "offset": 1038, + "line": 60, + "offset": 1055, }, "value": "test", }, @@ -6288,25 +6364,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 6, "file": "file", "length": 5, - "line": 59, - "offset": 1032, + "line": 60, + "offset": 1049, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 6, "file": "file", "length": 13, - "line": 59, - "offset": 1032, + "line": 60, + "offset": 1049, }, "statement": true, }, @@ -6314,14 +6390,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 17, "file": "file", "length": 6, - "line": 58, - "offset": 1018, + "line": 59, + "offset": 1035, }, "value": "test", }, @@ -6329,39 +6405,39 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 11, "file": "file", "length": 5, - "line": 58, - "offset": 1012, + "line": 59, + "offset": 1029, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 11, "file": "file", "length": 13, - "line": 58, - "offset": 1012, + "line": 59, + "offset": 1029, }, "statement": true, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 58, - "offset": 1006, + "line": 59, + "offset": 1023, }, "value": "true", }, @@ -6374,8 +6450,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 44, - "line": 58, - "offset": 1002, + "line": 59, + "offset": 1019, }, }, { @@ -6385,14 +6461,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 64, - "offset": 1094, + "line": 65, + "offset": 1111, }, "value": "test", }, @@ -6400,25 +6476,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 64, - "offset": 1088, + "line": 65, + "offset": 1105, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 64, - "offset": 1088, + "line": 65, + "offset": 1105, }, "statement": true, }, @@ -6435,8 +6511,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 8, "file": "file", "length": 20, - "line": 63, - "offset": 1084, + "line": 64, + "offset": 1101, }, }, "body": { @@ -6445,14 +6521,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 62, - "offset": 1068, + "line": 63, + "offset": 1085, }, "value": "test", }, @@ -6460,25 +6536,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 62, - "offset": 1062, + "line": 63, + "offset": 1079, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 62, - "offset": 1062, + "line": 63, + "offset": 1079, }, "statement": true, }, @@ -6495,21 +6571,21 @@ exports[`Parser: Main Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 61, - "offset": 1058, + "line": 62, + "offset": 1075, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 61, - "offset": 1052, + "line": 62, + "offset": 1069, }, "value": "true", }, @@ -6522,8 +6598,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 57, - "line": 61, - "offset": 1048, + "line": 62, + "offset": 1065, }, }, { @@ -6534,14 +6610,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 72, - "offset": 1189, + "line": 73, + "offset": 1206, }, "value": "test", }, @@ -6549,25 +6625,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 72, - "offset": 1183, + "line": 73, + "offset": 1200, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 72, - "offset": 1183, + "line": 73, + "offset": 1200, }, "statement": true, }, @@ -6584,8 +6660,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 8, "file": "file", "length": 20, - "line": 71, - "offset": 1179, + "line": 72, + "offset": 1196, }, }, "body": { @@ -6594,14 +6670,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 70, - "offset": 1163, + "line": 71, + "offset": 1180, }, "value": "test", }, @@ -6609,25 +6685,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 70, - "offset": 1157, + "line": 71, + "offset": 1174, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 70, - "offset": 1157, + "line": 71, + "offset": 1174, }, "statement": true, }, @@ -6644,21 +6720,21 @@ exports[`Parser: Main Pass 1`] = ` "col": 18, "file": "file", "length": 20, - "line": 69, - "offset": 1153, + "line": 70, + "offset": 1170, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 12, "file": "file", "length": 4, - "line": 69, - "offset": 1147, + "line": 70, + "offset": 1164, }, "value": "true", }, @@ -6671,8 +6747,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 8, "file": "file", "length": 56, - "line": 69, - "offset": 1143, + "line": 70, + "offset": 1160, }, }, "body": { @@ -6681,14 +6757,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 68, - "offset": 1127, + "line": 69, + "offset": 1144, }, "value": "test", }, @@ -6696,25 +6772,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 68, - "offset": 1121, + "line": 69, + "offset": 1138, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 68, - "offset": 1121, + "line": 69, + "offset": 1138, }, "statement": true, }, @@ -6731,21 +6807,21 @@ exports[`Parser: Main Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 67, - "offset": 1117, + "line": 68, + "offset": 1134, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 67, - "offset": 1111, + "line": 68, + "offset": 1128, }, "value": "true", }, @@ -6758,8 +6834,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 93, - "line": 67, - "offset": 1107, + "line": 68, + "offset": 1124, }, }, { @@ -6767,14 +6843,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 14, "file": "file", "length": 6, - "line": 77, - "offset": 1244, + "line": 78, + "offset": 1261, }, "value": "test", }, @@ -6782,25 +6858,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 8, "file": "file", "length": 5, - "line": 77, - "offset": 1238, + "line": 78, + "offset": 1255, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 8, "file": "file", "length": 13, - "line": 77, - "offset": 1238, + "line": 78, + "offset": 1255, }, "statement": true, }, @@ -6810,14 +6886,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 76, - "offset": 1222, + "line": 77, + "offset": 1239, }, "value": "test", }, @@ -6825,25 +6901,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 76, - "offset": 1216, + "line": 77, + "offset": 1233, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 76, - "offset": 1216, + "line": 77, + "offset": 1233, }, "statement": true, }, @@ -6860,21 +6936,21 @@ exports[`Parser: Main Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 75, - "offset": 1212, + "line": 76, + "offset": 1229, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 75, - "offset": 1206, + "line": 76, + "offset": 1223, }, "value": "true", }, @@ -6887,8 +6963,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 50, - "line": 75, - "offset": 1202, + "line": 76, + "offset": 1219, }, }, { @@ -6899,14 +6975,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 80, - "offset": 1274, + "line": 81, + "offset": 1291, }, "value": "test", }, @@ -6914,25 +6990,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 80, - "offset": 1268, + "line": 81, + "offset": 1285, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 80, - "offset": 1268, + "line": 81, + "offset": 1285, }, "statement": true, }, @@ -6949,21 +7025,21 @@ exports[`Parser: Main Pass 1`] = ` "col": 11, "file": "file", "length": 20, - "line": 79, - "offset": 1264, + "line": 80, + "offset": 1281, }, }, "category": 1, "condition": { "category": 4, - "nodeType": 33, + "nodeType": 32, "position": { "basePath": "", "col": 5, "file": "file", "length": 4, - "line": 79, - "offset": 1258, + "line": 80, + "offset": 1275, }, "value": "true", }, @@ -6976,22 +7052,22 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 31, - "line": 79, - "offset": 1254, + "line": 80, + "offset": 1271, }, }, { "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 7, "file": "file", "length": 6, - "line": 83, - "offset": 1315, + "line": 84, + "offset": 1332, }, "value": "test", }, @@ -6999,25 +7075,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 5, - "line": 83, - "offset": 1309, + "line": 84, + "offset": 1326, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 1, "file": "file", "length": 14, - "line": 83, - "offset": 1309, + "line": 84, + "offset": 1326, }, "statement": true, }, @@ -7026,25 +7102,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "f", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 1, - "line": 84, - "offset": 1324, + "line": 85, + "offset": 1341, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 1, "file": "file", "length": 4, - "line": 84, - "offset": 1324, + "line": 85, + "offset": 1341, }, "statement": true, }, @@ -7052,41 +7128,41 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 15, "file": "file", "length": 2, - "line": 85, - "offset": 1343, + "line": 86, + "offset": 1360, }, "value": 1, }, { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 19, "file": "file", "length": 2, - "line": 85, - "offset": 1347, + "line": 86, + "offset": 1364, }, "value": 1, }, ], "category": 3, "name": "@wasm.i32.add", - "nodeType": 24, + "nodeType": 23, "position": { "basePath": "", "col": 1, "file": "file", "length": 22, - "line": 85, - "offset": 1329, + "line": 86, + "offset": 1346, }, "statement": true, }, @@ -7097,14 +7173,14 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "c", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 87, - "offset": 1386, + "line": 88, + "offset": 1403, }, }, "nodeType": 12, @@ -7113,8 +7189,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 40, - "line": 87, - "offset": 1382, + "line": 88, + "offset": 1399, }, "value": { "category": 3, @@ -7126,152 +7202,147 @@ exports[`Parser: Main Pass 1`] = ` "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 17, "file": "file", "length": 1, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "value": 1, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 11, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 3, - "nodeType": 21, + "nodeType": 20, "position": { "basePath": "", "col": 21, "file": "file", "length": 7, - "line": 87, - "offset": 1402, + "line": 88, + "offset": 1419, }, "value": { "category": 3, "lhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 22, "file": "file", "length": 1, - "line": 87, - "offset": 1403, + "line": 88, + "offset": 1420, }, "value": 1, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 22, "file": "file", "length": 5, - "line": 87, - "offset": 1403, + "line": 88, + "offset": 1420, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 26, "file": "file", "length": 1, - "line": 87, - "offset": 1407, + "line": 88, + "offset": 1424, }, "value": 1, }, }, }, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 15, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 31, "file": "file", "length": 1, - "line": 87, - "offset": 1412, + "line": 88, + "offset": 1429, }, "value": 1, }, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 19, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 35, "file": "file", "length": 1, - "line": 87, - "offset": 1416, + "line": 88, + "offset": 1433, }, "value": 1, }, }, - "nodeType": 19, - "operator": 0, + "nodeType": 17, "operatorImage": "+", "position": { "basePath": "", "col": 17, "file": "file", "length": 23, - "line": 87, - "offset": 1398, + "line": 88, + "offset": 1415, }, "rhs": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 39, "file": "file", "length": 1, - "line": 87, - "offset": 1420, + "line": 88, + "offset": 1437, }, "value": 1, }, @@ -7279,14 +7350,14 @@ exports[`Parser: Main Pass 1`] = ` "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 6, - "line": 87, - "offset": 1389, + "line": 88, + "offset": 1406, }, }, }, @@ -7295,35 +7366,36 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "c", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 1, "file": "file", "length": 1, - "line": 88, - "offset": 1423, + "line": 89, + "offset": 1440, }, }, "nodeType": 13, + "operatorImage": "=", "position": { "basePath": "", "col": 1, "file": "file", "length": 5, - "line": 88, - "offset": 1423, + "line": 89, + "offset": 1440, }, "value": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 88, - "offset": 1427, + "line": 89, + "offset": 1444, }, "value": 1, }, @@ -7335,14 +7407,14 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "d", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 89, - "offset": 1434, + "line": 90, + "offset": 1451, }, }, "nodeType": 12, @@ -7351,33 +7423,33 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 18, - "line": 89, - "offset": 1430, + "line": 90, + "offset": 1447, }, "value": { "category": 6, "name": "a", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 17, "file": "file", "length": 1, - "line": 89, - "offset": 1446, + "line": 90, + "offset": 1463, }, }, "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 6, - "line": 89, - "offset": 1437, + "line": 90, + "offset": 1454, }, }, }, @@ -7388,14 +7460,14 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "e", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 90, - "offset": 1453, + "line": 91, + "offset": 1470, }, }, "nodeType": 12, @@ -7404,23 +7476,23 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 25, - "line": 90, - "offset": 1449, + "line": 91, + "offset": 1466, }, "value": { "category": 6, - "nodeType": 53, + "nodeType": 52, "parent": { "category": 6, "name": "objectTest3", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 14, "file": "file", "length": 11, - "line": 90, - "offset": 1462, + "line": 91, + "offset": 1479, }, }, "position": { @@ -7428,20 +7500,20 @@ exports[`Parser: Main Pass 1`] = ` "col": 14, "file": "file", "length": 11, - "line": 90, - "offset": 1462, + "line": 91, + "offset": 1479, }, "property": { "category": 6, "name": "field3", - "nodeType": 54, + "nodeType": 53, "position": { "basePath": "", "col": 25, "file": "file", "length": 0, - "line": 90, - "offset": 1473, + "line": 91, + "offset": 1490, }, "property": undefined, }, @@ -7449,14 +7521,14 @@ exports[`Parser: Main Pass 1`] = ` "varType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 3, - "line": 90, - "offset": 1456, + "line": 91, + "offset": 1473, }, }, }, @@ -7467,14 +7539,14 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "z", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 5, "file": "file", "length": 1, - "line": 91, - "offset": 1486, + "line": 92, + "offset": 1503, }, }, "nodeType": 12, @@ -7483,8 +7555,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 52, - "line": 91, - "offset": 1482, + "line": 92, + "offset": 1499, }, "value": { "body": { @@ -7500,20 +7572,20 @@ exports[`Parser: Main Pass 1`] = ` "col": 3, "file": "file", "length": 10, - "line": 92, - "offset": 1521, + "line": 93, + "offset": 1538, }, "returnValue": { "category": 6, "name": "g", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 10, "file": "file", "length": 1, - "line": 92, - "offset": 1528, + "line": 93, + "offset": 1545, }, }, }, @@ -7530,8 +7602,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 36, "file": "file", "length": 16, - "line": 91, - "offset": 1517, + "line": 92, + "offset": 1534, }, }, "category": 4, @@ -7542,7 +7614,7 @@ exports[`Parser: Main Pass 1`] = ` "pathReturns": false, }, "genericTypes": undefined, - "nodeType": 34, + "nodeType": 33, "params": [ { "category": 6, @@ -7550,29 +7622,29 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "g", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 20, "file": "file", "length": 1, - "line": 91, - "offset": 1501, + "line": 92, + "offset": 1518, }, }, - "nodeType": 55, + "nodeType": 54, "optional": false, "paramType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 23, "file": "file", "length": 3, - "line": 91, - "offset": 1504, + "line": 92, + "offset": 1521, }, }, "position": { @@ -7580,8 +7652,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 20, "file": "file", "length": 1, - "line": 91, - "offset": 1501, + "line": 92, + "offset": 1518, }, }, ], @@ -7590,34 +7662,34 @@ exports[`Parser: Main Pass 1`] = ` "col": 19, "file": "file", "length": 33, - "line": 91, - "offset": 1500, + "line": 92, + "offset": 1517, }, "returnType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 29, "file": "file", "length": 3, - "line": 91, - "offset": 1510, + "line": 92, + "offset": 1527, }, }, }, "varType": { "category": 5, "name": "Function", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 8, "file": "file", "length": 8, - "line": 91, - "offset": 1489, + "line": 92, + "offset": 1506, }, }, }, @@ -7628,14 +7700,14 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "h", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 7, "file": "file", "length": 1, - "line": 94, - "offset": 1541, + "line": 95, + "offset": 1558, }, }, "nodeType": 12, @@ -7644,33 +7716,33 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 20, - "line": 94, - "offset": 1535, + "line": 95, + "offset": 1552, }, "value": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 19, "file": "file", "length": 1, - "line": 94, - "offset": 1553, + "line": 95, + "offset": 1570, }, "value": 1, }, "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 10, "file": "file", "length": 6, - "line": 94, - "offset": 1544, + "line": 95, + "offset": 1561, }, }, }, @@ -7678,14 +7750,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [], "callee": { "category": 3, - "nodeType": 21, + "nodeType": 20, "position": { "basePath": "", "col": 1, "file": "file", "length": 47, - "line": 95, - "offset": 1556, + "line": 96, + "offset": 1573, }, "value": { "body": { @@ -7694,14 +7766,14 @@ exports[`Parser: Main Pass 1`] = ` "args": [ { "category": 4, - "nodeType": 25, + "nodeType": 24, "position": { "basePath": "", "col": 9, "file": "file", "length": 6, - "line": 96, - "offset": 1578, + "line": 97, + "offset": 1595, }, "value": "test", }, @@ -7709,25 +7781,25 @@ exports[`Parser: Main Pass 1`] = ` "callee": { "category": 6, "name": "print", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 5, - "line": 96, - "offset": 1572, + "line": 97, + "offset": 1589, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 3, "file": "file", "length": 14, - "line": 96, - "offset": 1572, + "line": 97, + "offset": 1589, }, "statement": true, }, @@ -7742,19 +7814,19 @@ exports[`Parser: Main Pass 1`] = ` "col": 3, "file": "file", "length": 11, - "line": 97, - "offset": 1589, + "line": 98, + "offset": 1606, }, "returnValue": { "category": 4, - "nodeType": 26, + "nodeType": 25, "position": { "basePath": "", "col": 10, "file": "file", "length": 2, - "line": 97, - "offset": 1596, + "line": 98, + "offset": 1613, }, "value": 1, }, @@ -7772,8 +7844,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 13, "file": "file", "length": 34, - "line": 95, - "offset": 1568, + "line": 96, + "offset": 1585, }, }, "category": 4, @@ -7784,40 +7856,40 @@ exports[`Parser: Main Pass 1`] = ` "pathReturns": false, }, "genericTypes": undefined, - "nodeType": 34, + "nodeType": 33, "params": [], "position": { "basePath": "", "col": 2, "file": "file", "length": 45, - "line": 95, - "offset": 1557, + "line": 96, + "offset": 1574, }, "returnType": { "category": 5, "name": "i32", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 6, "file": "file", "length": 3, - "line": 95, - "offset": 1561, + "line": 96, + "offset": 1578, }, }, }, }, "category": 3, - "nodeType": 23, + "nodeType": 22, "position": { "basePath": "", "col": 1, "file": "file", "length": 50, - "line": 95, - "offset": 1556, + "line": 96, + "offset": 1573, }, "statement": true, }, @@ -7831,27 +7903,27 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 41, "file": "file", "length": 13, - "line": 100, - "offset": 1665, + "line": 101, + "offset": 1682, }, "valueType": undefined, }, ], "name": "OptionalSemi_Has_TestInterface", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, "file": "file", "length": 78, - "line": 100, - "offset": 1625, + "line": 101, + "offset": 1642, }, "typeLiteral": { "category": 5, @@ -7861,38 +7933,38 @@ exports[`Parser: Main Pass 1`] = ` "fieldType": { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 101, - "offset": 1689, + "line": 102, + "offset": 1706, }, }, "mutable": false, "name": "test", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 101, - "offset": 1683, + "line": 102, + "offset": 1700, }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 55, "file": "file", "length": 24, - "line": 100, - "offset": 1679, + "line": 101, + "offset": 1696, }, }, }, @@ -7906,53 +7978,53 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 31, "file": "file", "length": 13, - "line": 103, - "offset": 1735, + "line": 104, + "offset": 1752, }, "valueType": undefined, }, ], "name": "OptionalSemi_Has_EnumTest", - "nodeType": 16, + "nodeType": 15, "position": { "basePath": "", "col": 1, "file": "file", "length": 68, - "line": 103, - "offset": 1705, + "line": 104, + "offset": 1722, }, "variants": [ { "category": 2, "identifier": "Test", - "nodeType": 17, + "nodeType": 16, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 104, - "offset": 1753, + "line": 105, + "offset": 1770, }, "value": [ { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 8, "file": "file", "length": 11, - "line": 104, - "offset": 1758, + "line": 105, + "offset": 1775, }, }, ], @@ -7969,27 +8041,27 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 37, "file": "file", "length": 13, - "line": 106, - "offset": 1810, + "line": 107, + "offset": 1827, }, "valueType": undefined, }, ], "name": "OptionalSemi_TestInterface", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, "file": "file", "length": 73, - "line": 106, - "offset": 1774, + "line": 107, + "offset": 1791, }, "typeLiteral": { "category": 5, @@ -7999,38 +8071,38 @@ exports[`Parser: Main Pass 1`] = ` "fieldType": { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 107, - "offset": 1834, + "line": 108, + "offset": 1851, }, }, "mutable": false, "name": "test", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 107, - "offset": 1828, + "line": 108, + "offset": 1845, }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 51, "file": "file", "length": 24, - "line": 106, - "offset": 1824, + "line": 107, + "offset": 1841, }, }, }, @@ -8044,53 +8116,53 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 27, "file": "file", "length": 13, - "line": 109, - "offset": 1875, + "line": 110, + "offset": 1892, }, "valueType": undefined, }, ], "name": "OptionalSemi_EnumTest", - "nodeType": 16, + "nodeType": 15, "position": { "basePath": "", "col": 1, "file": "file", "length": 63, - "line": 109, - "offset": 1849, + "line": 110, + "offset": 1866, }, "variants": [ { "category": 2, "identifier": "Test", - "nodeType": 17, + "nodeType": 16, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 110, - "offset": 1893, + "line": 111, + "offset": 1910, }, "value": [ { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 8, "file": "file", "length": 11, - "line": 110, - "offset": 1898, + "line": 111, + "offset": 1915, }, }, ], @@ -8107,14 +8179,14 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 22, "file": "file", "length": 27, - "line": 113, - "offset": 1952, + "line": 114, + "offset": 1969, }, "valueType": undefined, }, @@ -8122,39 +8194,39 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest1", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 22, "file": "file", "length": 27, - "line": 113, - "offset": 1952, + "line": 114, + "offset": 1969, }, "valueType": undefined, }, ], "name": "Generic_TypeTest", - "nodeType": 39, + "nodeType": 38, "position": { "basePath": "", "col": 1, "file": "file", "length": 58, - "line": 113, - "offset": 1931, + "line": 114, + "offset": 1948, }, "typeLiteral": { "category": 5, "name": "String", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 52, "file": "file", "length": 6, - "line": 113, - "offset": 1982, + "line": 114, + "offset": 1999, }, }, }, @@ -8168,27 +8240,27 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 32, "file": "file", "length": 13, - "line": 114, - "offset": 2021, + "line": 115, + "offset": 2038, }, "valueType": undefined, }, ], "name": "Generic_TestInterface", - "nodeType": 40, + "nodeType": 39, "position": { "basePath": "", "col": 1, "file": "file", "length": 68, - "line": 114, - "offset": 1990, + "line": 115, + "offset": 2007, }, "typeLiteral": { "category": 5, @@ -8198,38 +8270,38 @@ exports[`Parser: Main Pass 1`] = ` "fieldType": { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 9, "file": "file", "length": 11, - "line": 115, - "offset": 2045, + "line": 116, + "offset": 2062, }, }, "mutable": false, "name": "test", - "nodeType": 47, + "nodeType": 46, "optional": false, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 115, - "offset": 2039, + "line": 116, + "offset": 2056, }, }, ], - "nodeType": 46, + "nodeType": 45, "position": { "basePath": "", "col": 46, "file": "file", "length": 24, - "line": 114, - "offset": 2035, + "line": 115, + "offset": 2052, }, }, }, @@ -8243,53 +8315,53 @@ exports[`Parser: Main Pass 1`] = ` "category": 5, "constraints": undefined, "name": "GenericTest", - "nodeType": 49, + "nodeType": 48, "position": { "basePath": "", "col": 22, "file": "file", "length": 13, - "line": 117, - "offset": 2081, + "line": 118, + "offset": 2098, }, "valueType": undefined, }, ], "name": "Generic_EnumTest", - "nodeType": 16, + "nodeType": 15, "position": { "basePath": "", "col": 1, "file": "file", "length": 58, - "line": 117, - "offset": 2060, + "line": 118, + "offset": 2077, }, "variants": [ { "category": 2, "identifier": "Test", - "nodeType": 17, + "nodeType": 16, "position": { "basePath": "", "col": 3, "file": "file", "length": 17, - "line": 118, - "offset": 2099, + "line": 119, + "offset": 2116, }, "value": [ { "category": 5, "name": "GenericTest", - "nodeType": 48, + "nodeType": 47, "position": { "basePath": "", "col": 8, "file": "file", "length": 11, - "line": 118, - "offset": 2104, + "line": 119, + "offset": 2121, }, }, ], @@ -8304,8 +8376,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 27, - "line": 121, - "offset": 2135, + "line": 122, + "offset": 2152, }, "value": { "category": 1, @@ -8314,14 +8386,14 @@ exports[`Parser: Main Pass 1`] = ` "name": { "category": 6, "name": "y", - "nodeType": 51, + "nodeType": 50, "position": { "basePath": "", "col": 14, "file": "file", "length": 1, - "line": 121, - "offset": 2148, + "line": 122, + "offset": 2165, }, }, "nodeType": 12, @@ -8330,33 +8402,33 @@ exports[`Parser: Main Pass 1`] = ` "col": 8, "file": "file", "length": 19, - "line": 121, - "offset": 2142, + "line": 122, + "offset": 2159, }, "value": { "category": 4, - "nodeType": 32, + "nodeType": 31, "position": { "basePath": "", "col": 26, "file": "file", "length": 1, - "line": 121, - "offset": 2160, + "line": 122, + "offset": 2177, }, "value": 1, }, "varType": { "category": 5, "name": "Number", - "nodeType": 41, + "nodeType": 40, "position": { "basePath": "", "col": 17, "file": "file", "length": 6, - "line": 121, - "offset": 2151, + "line": 122, + "offset": 2168, }, }, }, @@ -8369,20 +8441,20 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 9, - "line": 122, - "offset": 2163, + "line": 123, + "offset": 2180, }, "value": { "category": 6, "name": "h", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 8, "file": "file", "length": 1, - "line": 122, - "offset": 2170, + "line": 123, + "offset": 2187, }, }, }, @@ -8394,8 +8466,8 @@ exports[`Parser: Main Pass 1`] = ` "col": 1, "file": "file", "length": 25, - "line": 123, - "offset": 2173, + "line": 124, + "offset": 2190, }, "value": { "category": 4, @@ -8405,25 +8477,25 @@ exports[`Parser: Main Pass 1`] = ` "fieldValue": { "category": 6, "name": "c", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 124, - "offset": 2184, + "line": 125, + "offset": 2201, }, }, "name": "c", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 124, - "offset": 2184, + "line": 125, + "offset": 2201, }, }, { @@ -8431,25 +8503,25 @@ exports[`Parser: Main Pass 1`] = ` "fieldValue": { "category": 6, "name": "d", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 125, - "offset": 2189, + "line": 126, + "offset": 2206, }, }, "name": "d", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 125, - "offset": 2189, + "line": 126, + "offset": 2206, }, }, { @@ -8457,36 +8529,36 @@ exports[`Parser: Main Pass 1`] = ` "fieldValue": { "category": 6, "name": "z", - "nodeType": 52, + "nodeType": 51, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 126, - "offset": 2194, + "line": 127, + "offset": 2211, }, }, "name": "z", - "nodeType": 37, + "nodeType": 36, "position": { "basePath": "", "col": 3, "file": "file", "length": 1, - "line": 126, - "offset": 2194, + "line": 127, + "offset": 2211, }, }, ], - "nodeType": 36, + "nodeType": 35, "position": { "basePath": "", "col": 8, "file": "file", "length": 17, - "line": 123, - "offset": 2180, + "line": 124, + "offset": 2197, }, }, }, @@ -8500,6 +8572,2396 @@ exports[`Parser: Main Pass 1`] = ` "_varStack": Map {}, "_variables": Map {}, "loopDepth": undefined, + "operatorScope": { + "ASSIGNMENT": Map {}, + "INFIX": Map {}, + "POSTFIX": Map {}, + "PREFIX": Map {}, + }, + }, + "name": "file", + "nodeType": 0, + "position": { + "basePath": "", + "col": 0, + "file": "file", + "length": 2215, + "line": 0, + "offset": 0, + }, +} +`; + +exports[`Parser: Operator Precedence Pass 1`] = ` +{ + "body": [ + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "aINFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 6, + "line": 2, + "offset": 23, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 26, + "line": 2, + "offset": 19, + }, + "value": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 2, + "line": 2, + "offset": 37, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "+", + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 7, + "line": 2, + "offset": 37, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 2, + "offset": 42, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 13, + "file": "file", + "length": 3, + "line": 2, + "offset": 31, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "bINFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 6, + "line": 3, + "offset": 50, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 26, + "line": 3, + "offset": 46, + }, + "value": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 2, + "line": 3, + "offset": 64, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "-", + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 7, + "line": 3, + "offset": 64, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 3, + "offset": 69, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 13, + "file": "file", + "length": 3, + "line": 3, + "offset": 58, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "cINFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 6, + "line": 4, + "offset": 77, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 26, + "line": 4, + "offset": 73, + }, + "value": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 2, + "line": 4, + "offset": 91, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "*", + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 7, + "line": 4, + "offset": 91, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 4, + "offset": 96, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 13, + "file": "file", + "length": 3, + "line": 4, + "offset": 85, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "dINFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 6, + "line": 5, + "offset": 104, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 26, + "line": 5, + "offset": 100, + }, + "value": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 2, + "line": 5, + "offset": 118, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "/", + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 7, + "line": 5, + "offset": 118, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 5, + "offset": 123, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 13, + "file": "file", + "length": 3, + "line": 5, + "offset": 112, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "eINFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 6, + "line": 6, + "offset": 131, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 26, + "line": 6, + "offset": 127, + }, + "value": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 2, + "line": 6, + "offset": 145, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "%", + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 7, + "line": 6, + "offset": 145, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 6, + "offset": 150, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 13, + "file": "file", + "length": 3, + "line": 6, + "offset": 139, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "fINFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 6, + "line": 7, + "offset": 158, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 26, + "line": 7, + "offset": 154, + }, + "value": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 2, + "line": 7, + "offset": 172, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "^", + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 7, + "line": 7, + "offset": 172, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 7, + "offset": 177, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 13, + "file": "file", + "length": 3, + "line": 7, + "offset": 166, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "fINFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 6, + "line": 8, + "offset": 185, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 27, + "line": 8, + "offset": 181, + }, + "value": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 2, + "line": 8, + "offset": 199, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "==", + "position": { + "basePath": "", + "col": 19, + "file": "file", + "length": 8, + "line": 8, + "offset": 199, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 25, + "file": "file", + "length": 2, + "line": 8, + "offset": 205, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 13, + "file": "file", + "length": 3, + "line": 8, + "offset": 193, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "aPREFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 7, + "line": 10, + "offset": 233, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 10, + "offset": 229, + }, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "+", + "position": { + "basePath": "", + "col": 20, + "file": "file", + "length": 4, + "line": 10, + "offset": 248, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 10, + "offset": 249, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 3, + "line": 10, + "offset": 242, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "bPREFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 7, + "line": 11, + "offset": 257, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 11, + "offset": 253, + }, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "-", + "position": { + "basePath": "", + "col": 20, + "file": "file", + "length": 4, + "line": 11, + "offset": 272, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 11, + "offset": 273, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 3, + "line": 11, + "offset": 266, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "cPREFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 7, + "line": 12, + "offset": 281, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 12, + "offset": 277, + }, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "*", + "position": { + "basePath": "", + "col": 20, + "file": "file", + "length": 4, + "line": 12, + "offset": 296, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 12, + "offset": 297, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 3, + "line": 12, + "offset": 290, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "dPREFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 7, + "line": 13, + "offset": 305, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 13, + "offset": 301, + }, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "/", + "position": { + "basePath": "", + "col": 20, + "file": "file", + "length": 4, + "line": 13, + "offset": 320, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 13, + "offset": 321, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 3, + "line": 13, + "offset": 314, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "ePREFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 7, + "line": 14, + "offset": 329, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 14, + "offset": 325, + }, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "%", + "position": { + "basePath": "", + "col": 20, + "file": "file", + "length": 4, + "line": 14, + "offset": 344, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 14, + "offset": 345, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 3, + "line": 14, + "offset": 338, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "fPREFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 7, + "line": 15, + "offset": 353, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 15, + "offset": 349, + }, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "^", + "position": { + "basePath": "", + "col": 20, + "file": "file", + "length": 4, + "line": 15, + "offset": 368, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 15, + "offset": 369, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 14, + "file": "file", + "length": 3, + "line": 15, + "offset": 362, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "aPOSTFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 8, + "line": 17, + "offset": 398, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 17, + "offset": 394, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "+", + "position": { + "basePath": "", + "col": 23, + "file": "file", + "length": 1, + "line": 17, + "offset": 416, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 17, + "offset": 414, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 15, + "file": "file", + "length": 3, + "line": 17, + "offset": 408, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "bPOSTFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 8, + "line": 18, + "offset": 423, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 18, + "offset": 419, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "-", + "position": { + "basePath": "", + "col": 23, + "file": "file", + "length": 1, + "line": 18, + "offset": 441, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 18, + "offset": 439, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 15, + "file": "file", + "length": 3, + "line": 18, + "offset": 433, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "cPOSTFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 8, + "line": 19, + "offset": 448, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 19, + "offset": 444, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "*", + "position": { + "basePath": "", + "col": 23, + "file": "file", + "length": 1, + "line": 19, + "offset": 466, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 19, + "offset": 464, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 15, + "file": "file", + "length": 3, + "line": 19, + "offset": 458, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "dPOSTFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 8, + "line": 20, + "offset": 473, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 20, + "offset": 469, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "/", + "position": { + "basePath": "", + "col": 23, + "file": "file", + "length": 1, + "line": 20, + "offset": 491, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 20, + "offset": 489, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 15, + "file": "file", + "length": 3, + "line": 20, + "offset": 483, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "ePOSTFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 8, + "line": 21, + "offset": 498, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 21, + "offset": 494, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "%", + "position": { + "basePath": "", + "col": 23, + "file": "file", + "length": 1, + "line": 21, + "offset": 516, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 21, + "offset": 514, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 15, + "file": "file", + "length": 3, + "line": 21, + "offset": 508, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "fPOSTFIX", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 8, + "line": 22, + "offset": 523, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 24, + "line": 22, + "offset": 519, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "^", + "position": { + "basePath": "", + "col": 23, + "file": "file", + "length": 1, + "line": 22, + "offset": 541, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 21, + "file": "file", + "length": 2, + "line": 22, + "offset": 539, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 15, + "file": "file", + "length": 3, + "line": 22, + "offset": 533, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "aPrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 25, + "offset": 563, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 37, + "line": 25, + "offset": 559, + }, + "value": { + "category": 3, + "lhs": { + "category": 3, + "nodeType": 20, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 5, + "line": 25, + "offset": 582, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 27, + "file": "file", + "length": 1, + "line": 25, + "offset": 585, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 25, + "file": "file", + "length": 2, + "line": 25, + "offset": 583, + }, + "value": 1, + }, + }, + }, + "nodeType": 17, + "operatorImage": "+", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 13, + "line": 25, + "offset": 582, + }, + "rhs": { + "category": 3, + "nodeType": 20, + "position": { + "basePath": "", + "col": 32, + "file": "file", + "length": 5, + "line": 25, + "offset": 590, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 35, + "file": "file", + "length": 1, + "line": 25, + "offset": 593, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 33, + "file": "file", + "length": 2, + "line": 25, + "offset": 591, + }, + "value": 1, + }, + }, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 25, + "offset": 576, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "bPrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 26, + "offset": 601, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 34, + "line": 26, + "offset": 597, + }, + "value": { + "category": 3, + "lhs": { + "category": 3, + "nodeType": 19, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 4, + "line": 26, + "offset": 620, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 25, + "file": "file", + "length": 2, + "line": 26, + "offset": 621, + }, + "value": 1, + }, + }, + "nodeType": 17, + "operatorImage": "+", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 10, + "line": 26, + "offset": 620, + }, + "rhs": { + "category": 3, + "nodeType": 19, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 30, + "file": "file", + "length": 4, + "line": 26, + "offset": 626, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 31, + "file": "file", + "length": 2, + "line": 26, + "offset": 627, + }, + "value": 1, + }, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 26, + "offset": 614, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "cPrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 27, + "offset": 635, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 29, + "line": 27, + "offset": 631, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 27, + "file": "file", + "length": 2, + "line": 27, + "offset": 657, + }, + "statement": false, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 4, + "line": 27, + "offset": 654, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 25, + "file": "file", + "length": 2, + "line": 27, + "offset": 655, + }, + "value": 1, + }, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 27, + "offset": 648, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "dPrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 28, + "offset": 664, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 29, + "line": 28, + "offset": 660, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "!!", + "position": { + "basePath": "", + "col": 27, + "file": "file", + "length": 2, + "line": 28, + "offset": 686, + }, + "statement": false, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 4, + "line": 28, + "offset": 683, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 25, + "file": "file", + "length": 2, + "line": 28, + "offset": 684, + }, + "value": 1, + }, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 28, + "offset": 677, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "ePrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 29, + "offset": 694, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 30, + "line": 29, + "offset": 690, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "!", + "position": { + "basePath": "", + "col": 28, + "file": "file", + "length": 2, + "line": 29, + "offset": 717, + }, + "statement": false, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "!!", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 5, + "line": 29, + "offset": 713, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 26, + "file": "file", + "length": 2, + "line": 29, + "offset": 715, + }, + "value": 1, + }, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 29, + "offset": 707, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "fPrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 30, + "offset": 724, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 29, + "line": 30, + "offset": 720, + }, + "value": { + "category": 3, + "nodeType": 19, + "operatorImage": "+!", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 5, + "line": 30, + "offset": 743, + }, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 26, + "file": "file", + "length": 2, + "line": 30, + "offset": 745, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 30, + "offset": 737, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "gPrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 31, + "offset": 753, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 27, + "line": 31, + "offset": 749, + }, + "value": { + "category": 3, + "nodeType": 18, + "operatorImage": "!+", + "position": { + "basePath": "", + "col": 26, + "file": "file", + "length": 1, + "line": 31, + "offset": 774, + }, + "statement": false, + "value": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 31, + "offset": 772, + }, + "value": 1, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 31, + "offset": 766, + }, + }, + }, + { + "category": 1, + "declarationType": 1, + "flags": [], + "name": { + "category": 6, + "name": "hPrecedence", + "nodeType": 50, + "position": { + "basePath": "", + "col": 5, + "file": "file", + "length": 11, + "line": 32, + "offset": 782, + }, + }, + "nodeType": 12, + "position": { + "basePath": "", + "col": 1, + "file": "file", + "length": 96, + "line": 32, + "offset": 778, + }, + "value": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 2, + "line": 32, + "offset": 801, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "+", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 7, + "line": 32, + "offset": 801, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 29, + "file": "file", + "length": 2, + "line": 32, + "offset": 806, + }, + "value": 1, + }, + }, + "nodeType": 17, + "operatorImage": "**", + "position": { + "basePath": "", + "col": 24, + "file": "file", + "length": 72, + "line": 32, + "offset": 801, + }, + "rhs": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 35, + "file": "file", + "length": 2, + "line": 32, + "offset": 812, + }, + "value": 1, + }, + "nodeType": 17, + "operatorImage": "+", + "position": { + "basePath": "", + "col": 35, + "file": "file", + "length": 7, + "line": 32, + "offset": 812, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 40, + "file": "file", + "length": 2, + "line": 32, + "offset": 817, + }, + "value": 1, + }, + }, + "nodeType": 17, + "operatorImage": "*", + "position": { + "basePath": "", + "col": 35, + "file": "file", + "length": 12, + "line": 32, + "offset": 812, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 45, + "file": "file", + "length": 2, + "line": 32, + "offset": 822, + }, + "value": 2, + }, + }, + "nodeType": 17, + "operatorImage": "/", + "position": { + "basePath": "", + "col": 35, + "file": "file", + "length": 17, + "line": 32, + "offset": 812, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 50, + "file": "file", + "length": 2, + "line": 32, + "offset": 827, + }, + "value": 3, + }, + }, + "nodeType": 17, + "operatorImage": "%", + "position": { + "basePath": "", + "col": 35, + "file": "file", + "length": 61, + "line": 32, + "offset": 812, + }, + "rhs": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 55, + "file": "file", + "length": 2, + "line": 32, + "offset": 832, + }, + "value": 4, + }, + "nodeType": 17, + "operatorImage": "-", + "position": { + "basePath": "", + "col": 55, + "file": "file", + "length": 41, + "line": 32, + "offset": 832, + }, + "rhs": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 60, + "file": "file", + "length": 2, + "line": 32, + "offset": 837, + }, + "value": 5, + }, + "nodeType": 17, + "operatorImage": "^", + "position": { + "basePath": "", + "col": 60, + "file": "file", + "length": 7, + "line": 32, + "offset": 837, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 65, + "file": "file", + "length": 2, + "line": 32, + "offset": 842, + }, + "value": 6, + }, + }, + "nodeType": 17, + "operatorImage": "==", + "position": { + "basePath": "", + "col": 60, + "file": "file", + "length": 36, + "line": 32, + "offset": 837, + }, + "rhs": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 3, + "lhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 71, + "file": "file", + "length": 2, + "line": 32, + "offset": 848, + }, + "value": 7, + }, + "nodeType": 17, + "operatorImage": "&&", + "position": { + "basePath": "", + "col": 71, + "file": "file", + "length": 8, + "line": 32, + "offset": 848, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 77, + "file": "file", + "length": 2, + "line": 32, + "offset": 854, + }, + "value": 8, + }, + }, + "nodeType": 17, + "operatorImage": "<", + "position": { + "basePath": "", + "col": 71, + "file": "file", + "length": 13, + "line": 32, + "offset": 848, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 82, + "file": "file", + "length": 2, + "line": 32, + "offset": 859, + }, + "value": 9, + }, + }, + "nodeType": 17, + "operatorImage": ">", + "position": { + "basePath": "", + "col": 71, + "file": "file", + "length": 19, + "line": 32, + "offset": 848, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 87, + "file": "file", + "length": 3, + "line": 32, + "offset": 864, + }, + "value": 10, + }, + }, + "nodeType": 17, + "operatorImage": "?", + "position": { + "basePath": "", + "col": 71, + "file": "file", + "length": 25, + "line": 32, + "offset": 848, + }, + "rhs": { + "category": 4, + "nodeType": 25, + "position": { + "basePath": "", + "col": 93, + "file": "file", + "length": 3, + "line": 32, + "offset": 870, + }, + "value": 12, + }, + }, + }, + }, + }, + }, + "varType": { + "category": 5, + "name": "i32", + "nodeType": 40, + "position": { + "basePath": "", + "col": 18, + "file": "file", + "length": 3, + "line": 32, + "offset": 795, + }, + }, + }, + ], + "category": 0, + "data": { + "_exports": Map {}, + "_imports": Map {}, + "_typeStack": Map {}, + "_types": Map {}, + "_varStack": Map {}, + "_variables": Map {}, + "loopDepth": undefined, + "operatorScope": { + "ASSIGNMENT": Map {}, + "INFIX": Map {}, + "POSTFIX": Map {}, + "PREFIX": Map {}, + }, }, "name": "file", "nodeType": 0, @@ -8507,7 +10969,7 @@ exports[`Parser: Main Pass 1`] = ` "basePath": "", "col": 0, "file": "file", - "length": 2198, + "length": 874, "line": 0, "offset": 0, }, diff --git a/src/Compiler/Analyzer/index.ts b/src/Compiler/Analyzer/index.ts index e54f922..2c47a5b 100644 --- a/src/Compiler/Analyzer/index.ts +++ b/src/Compiler/Analyzer/index.ts @@ -1,7 +1,7 @@ import Node, { - CallExpressionNode, DeclarationTypes, Expression, + FlagNode, NodeCategory, NodeType, ObjectFieldNode, @@ -9,11 +9,13 @@ import Node, { Statement, TypeUsageNode, ValueSpreadNode, + VariableDefinition, } from '../Types/ParseNodes'; import { AnalyzerProperties, ExportMap, ImportMap, + OperatorStore, TypeMap, TypeStack, VariableClosure, @@ -35,6 +37,54 @@ import { setVariable, } from '../Helpers/Helpers'; import { operators } from '../Helpers/Operators'; +// Helper +const addOperator = ( + operatorScope: OperatorStore, + flags: FlagNode[], + variable: VariableDefinition +) => { + if (flags.findIndex((flag) => flag.value == 'operator') != -1) { + flags + .filter((flag) => flag.value == 'operator') + .forEach((flag) => { + if ( + flag.args.length == 2 && + flag.args[0].nodeType == NodeType.StringLiteral && + flag.args[1].nodeType == NodeType.StringLiteral + ) { + // Set The Operator Information + if (flag.args[1].value == 'PREFIX') + operatorScope.PREFIX.set(flag.args[0].value, [ + variable.name, + ...(operatorScope.PREFIX.has(flag.args[0].value) + ? operatorScope.PREFIX.get(flag.args[0].value)! + : []), + ]); + else if (flag.args[1].value == 'INFIX') + operatorScope.INFIX.set(flag.args[0].value, [ + variable.name, + ...(operatorScope.INFIX.has(flag.args[0].value) + ? operatorScope.INFIX.get(flag.args[0].value)! + : []), + ]); + else if (flag.args[1].value == 'POSTFIX') + operatorScope.POSTFIX.set(flag.args[0].value, [ + variable.name, + ...(operatorScope.POSTFIX.has(flag.args[0].value) + ? operatorScope.POSTFIX.get(flag.args[0].value)! + : []), + ]); + else if (flag.args[1].value == 'ASSIGNMENT') + operatorScope.ASSIGNMENT.set(flag.args[0].value, [ + variable.name, + ...(operatorScope.ASSIGNMENT.has(flag.args[0].value) + ? operatorScope.ASSIGNMENT.get(flag.args[0].value)! + : []), + ]); + } + }); + } +}; // Analyze Node const analyzeNode = >( // Code @@ -170,7 +220,7 @@ const analyzeNode = >( node.position ); } - if (!['PREFIX', 'INFIX', 'POSTFIX'].includes(node.args[1].value)) { + if (!['PREFIX', 'INFIX', 'POSTFIX', 'ASSIGNMENT'].includes(node.args[1].value)) { return BriskError( rawProgram, BriskErrorType.InvalidOperator, @@ -197,8 +247,11 @@ const analyzeNode = >( ]); if ( nextElement == undefined || - nextElement.nodeType != NodeType.DeclarationStatement || - nextElement.value.nodeType != NodeType.FunctionLiteral + ((nextElement.nodeType != NodeType.DeclarationStatement || + nextElement.value.nodeType != NodeType.FunctionLiteral) && + (nextElement.nodeType != NodeType.ExportStatement || + nextElement.value.nodeType != NodeType.DeclarationStatement || + nextElement.value.value.nodeType != NodeType.FunctionLiteral)) ) { return BriskParseError( rawProgram, @@ -208,7 +261,14 @@ const analyzeNode = >( ); } // Attach The Flag - nextElement.flags.push(node); + switch (nextElement.nodeType) { + case NodeType.DeclarationStatement: + nextElement.flags.push(node); + break; + case NodeType.ExportStatement: + nextElement.value.flags.push(node); + break; + } // Return The Node return node; } @@ -252,28 +312,42 @@ const analyzeNode = >( }; } case NodeType.ImportStatement: { - // TODO: Handle Operator Imports - // Add Import - _imports.set(node.variable.name, { - name: node.variable.name, - path: node.source.value, - position: node.position, - }); - node.variable.reference = createVariable( - rawProgram, - _variables, - _varStack, - { - name: node.variable.name, - mainScope: true, - global: true, - constant: true, - import: true, - type: createPrimType(node.variable.position, 'Unknown'), - baseType: undefined, - }, - node.position - ); + // TODO: Handle Import Objects + if (!Array.isArray(node.variable)) { + return BriskError( + rawProgram, + BriskErrorType.FeatureNotYetImplemented, + [], + node.variable.position + ); + } else { + node.variable = node.variable.map((label) => { + // TODO: Handle Operator + if (label.flag != undefined) addOperator(operatorScope, [label.flag], label.variable); + // Add Import To List + _imports.set(label.variable.name, { + name: label.variable.name, + path: node.source.value, + position: node.position, + }); + label.variable.reference = createVariable( + rawProgram, + _variables, + _varStack, + { + name: label.variable.name, + mainScope: true, + global: true, + constant: true, + import: true, + type: createPrimType(label.variable.position, 'Unknown'), + baseType: undefined, + }, + node.position + ); + return label; + }); + } return node; } case NodeType.WasmImportStatement: { @@ -449,31 +523,23 @@ const analyzeNode = >( // Analyze The Value node.value = _analyzeNode(node.value, 0); // Add Operator To List - if (node.flags.findIndex((flag) => flag.value == 'operator') != -1) { - node.flags - .filter((flag) => flag.value == 'operator') - .forEach((flag) => { - if ( - flag.args.length == 2 && - flag.args[0].nodeType == NodeType.StringLiteral && - flag.args[1].nodeType == NodeType.StringLiteral - ) { - if (flag.args[1].value == 'PREFIX') - operatorScope.PREFIX.set(flag.args[0].value, node.name.name); - else if (flag.args[1].value == 'INFIX') - operatorScope.INFIX.set(flag.args[0].value, node.name.name); - else if (flag.args[1].value == 'POSTFIX') - operatorScope.POSTFIX.set(flag.args[0].value, node.name.name); - } - }); - } + addOperator(operatorScope, node.flags, node.name); // Return Node return node; } - case NodeType.AssignmentStatement: - // Analyze Value + case NodeType.AssignmentStatement: { + // Ensure Operator Exists node.value = _analyzeNode(node.value, 0); - case NodeType.PostFixStatement: { + // Match The Operator Expression + const opFunc = operatorScope.ASSIGNMENT.get(node.operatorImage); + if (opFunc == undefined) { + return BriskTypeError( + rawProgram, + BriskErrorType.UnknownOperator, + [node.operatorImage], + node.position + ); + } // Analyze Variable node.name = _analyzeNode(node.name, 0); if (node.name.nodeType == NodeType.MemberAccess) return node; @@ -576,10 +642,10 @@ const analyzeNode = >( } return node; // Expressions - // TODO: Make A Generic INFIX Expression - case NodeType.ComparisonExpression: - case NodeType.ArithmeticExpression: { - // Get Operator Function + case NodeType.InfixExpression: { + node.lhs = _analyzeNode(node.lhs, 0); + node.rhs = _analyzeNode(node.rhs, 0); + // Match The Operator Expression const opFunc = operatorScope.INFIX.get(node.operatorImage); if (opFunc == undefined) { return BriskTypeError( @@ -589,28 +655,38 @@ const analyzeNode = >( node.position ); } - node.lhs = _analyzeNode(node.lhs, 0); - node.rhs = _analyzeNode(node.rhs, 0); - // Build A Function Call - const funcCall: CallExpressionNode = { - nodeType: NodeType.CallExpression, - category: NodeCategory.Expression, - callee: { - nodeType: NodeType.VariableUsage, - category: NodeCategory.Variable, - name: opFunc, - position: node.position, - }, - args: [node.rhs, node.lhs], - statement: false, - position: node.position, - }; - // @ts-ignore - return _analyzeNode(funcCall, nodePosition); + return node; + } + case NodeType.PostfixExpression: { + node.value = _analyzeNode(node.value, 0); + // Match The Operator Expression + const opFunc = operatorScope.POSTFIX.get(node.operatorImage); + if (opFunc == undefined) { + return BriskTypeError( + rawProgram, + BriskErrorType.UnknownOperator, + [node.operatorImage], + node.position + ); + } + return node; + } + case NodeType.PrefixExpression: { + node.value = _analyzeNode(node.value, 0); + // Match The Operator Expression + const opFunc = operatorScope.PREFIX.get(node.operatorImage); + if (opFunc == undefined) { + return BriskTypeError( + rawProgram, + BriskErrorType.UnknownOperator, + [node.operatorImage], + node.position + ); + } + return node; } case NodeType.TypeCastExpression: node.typeLiteral = _analyzeNode(node.typeLiteral, 0); - case NodeType.UnaryExpression: case NodeType.ParenthesisExpression: node.value = _analyzeNode(node.value, 0); return node; @@ -953,6 +1029,7 @@ const analyzeProgram = (rawProgram: string, program: ProgramNode): ProgramNode = PREFIX: new Map(), INFIX: new Map(), POSTFIX: new Map(), + ASSIGNMENT: new Map(), }; // Return Our Node return { @@ -995,7 +1072,7 @@ const analyzeProgram = (rawProgram: string, program: ProgramNode): ProgramNode = loopDepth: undefined, }, program, - 0, + i, child ); }), @@ -1007,6 +1084,7 @@ const analyzeProgram = (rawProgram: string, program: ProgramNode): ProgramNode = _types: types, _varStack: varStack, _typeStack: typeStack, + operatorScope: operatorScope, loopDepth: undefined, }, }; diff --git a/src/Compiler/Codegen/Helpers.ts b/src/Compiler/Codegen/Helpers.ts index 5e37c2b..29056eb 100644 --- a/src/Compiler/Codegen/Helpers.ts +++ b/src/Compiler/Codegen/Helpers.ts @@ -45,7 +45,7 @@ export const encodeBriskType = ( properties._typeStacks, expr, createPrimType(expr.position, _type), - false + 0 ) ) ) diff --git a/src/Compiler/Codegen/index.ts b/src/Compiler/Codegen/index.ts index 5ac937a..f547d96 100644 --- a/src/Compiler/Codegen/index.ts +++ b/src/Compiler/Codegen/index.ts @@ -6,15 +6,7 @@ import { encodeBriskType, initializeBriskType, } from './Helpers'; -import { - ArithmeticExpressionOperator, - ComparisonExpressionOperator, - FunctionSignatureLiteralNode, - NodeType, - PostFixOperator, - ProgramNode, - UnaryExpressionOperator, -} from '../Types/ParseNodes'; +import { FunctionSignatureLiteralNode, NodeType, ProgramNode } from '../Types/ParseNodes'; import { UnresolvedBytes, WasmModule } from '../../wasmBuilder/Types/Nodes'; import { getExpressionType, typeEqual } from '../TypeChecker/Helpers'; import { createPrimType } from '../Helpers/typeBuilders'; @@ -147,22 +139,36 @@ const generateCode = ( } // TODO: Handle Import Statement case NodeType.ImportStatement: { - const importType = encodeBriskType( - rawProgram, - properties, - getVariable(_variables, node.variable).type - ); - // Add The Import - addImport( - wasmModule, - createGlobalImport( - `${brisk_moduleIdentifier}${node.source.value}.wasm`, - `${brisk_moduleIdentifier}${node.variable.name}`, - generateVariableName(node.variable.name, node.variable.reference!), - importType, - false - ) - ); + // TODO: Allow Importing Types + // TODO: Handle Import Objects + if (!Array.isArray(node.variable)) { + return BriskError( + rawProgram, + BriskErrorType.FeatureNotYetImplemented, + [], + node.variable.position + ); + } else { + node.variable = node.variable.map((label) => { + const importType = encodeBriskType( + rawProgram, + properties, + getVariable(_variables, label.variable).type + ); + // Add The Import + addImport( + wasmModule, + createGlobalImport( + `${brisk_moduleIdentifier}${node.source.value}.wasm`, + `${brisk_moduleIdentifier}${label.variable.name}`, + generateVariableName(label.variable.name, label.variable.reference!), + importType, + false + ) + ); + return label; + }); + } // Return A Reference To The Import return []; // Return A Blank Expression } @@ -240,6 +246,7 @@ const generateCode = ( } } case NodeType.AssignmentStatement: { + if (node.operatorImage != '=') throw 'Unreachable'; // Get The Variable Information if (node.name.nodeType != NodeType.MemberAccess) { const varData = getVariable(_variables, node.name); @@ -262,305 +269,13 @@ const generateCode = ( return Expressions.returnExpression(_generateCode(node.returnValue)); // Otherwise Return Void else return Expressions.returnExpression(Expressions.i32_ConstExpression(brisk_Void_Value)); - case NodeType.PostFixStatement: { - // Get The Variable Information - if (node.name.nodeType != NodeType.MemberAccess) { - const varData = getVariable(_variables, node.name); - // Build Get Expression - const val: UnresolvedBytes = varData.global - ? Expressions.global_GetExpression(`${varData.name}${varData.reference}`) - : Expressions.local_GetExpression(`${varData.name}${varData.reference}`); - // Build Add Expression - let add: UnresolvedBytes; - // Handle Stack Types - const exprAType = varData.type; - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (node.operator == PostFixOperator.Increment) { - if (exprAType.name == 'i32' || exprAType.name == 'u32') - add = Expressions.i32_AddExpression(val, Expressions.i32_ConstExpression(1)); - else if (exprAType.name == 'i64' || exprAType.name == 'u64') - add = Expressions.i64_AddExpression(val, Expressions.i64_ConstExpression(1)); - else if (exprAType.name == 'f32') - add = Expressions.f32_AddExpression(val, Expressions.f32_ConstExpression(1)); - else if (exprAType.name == 'f64') - add = Expressions.f64_AddExpression(val, Expressions.f64_ConstExpression(1)); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } else { - if (exprAType.name == 'i32' || exprAType.name == 'u32') - add = Expressions.i32_SubExpression(val, Expressions.i32_ConstExpression(1)); - else if (exprAType.name == 'i64' || exprAType.name == 'u64') - add = Expressions.i64_SubExpression(val, Expressions.i64_ConstExpression(1)); - else if (exprAType.name == 'f32') - add = Expressions.f32_SubExpression(val, Expressions.f32_ConstExpression(1)); - else if (exprAType.name == 'f64') - add = Expressions.f64_SubExpression(val, Expressions.f64_ConstExpression(1)); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - // Build Set Expression - if (varData.global) { - // Assign To A Wasm Global - return Expressions.global_SetExpression(`${varData.name}${varData.reference}`, add); - } else { - // Return The Set Expression - return Expressions.local_SetExpression(`${varData.name}${varData.reference}`, add); - } - } else { - // TODO: Handle Member Access - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } // TODO: Handle EnumDefinitionStatement // TODO: Handle EnumVariant - case NodeType.ArithmeticExpression: { - // TODO: Move this into The Language - // Get The Expression Type For More Performant Equality - // The Left and Right Side are the same type so we only need one - const exprAType = getExpressionType( - rawProgram, - _variables, - _types, - _typeStack, - _typeStacks, - node.lhs - ); - // Compile Both Sides - const lhs = _generateCode(node.lhs); - const rhs = _generateCode(node.rhs); - // Equal Comparison - if (node.operator == ArithmeticExpressionOperator.ArithmeticAdd) { - // Comparison - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (exprAType.name == 'i32' || exprAType.name == 'u32') - return Expressions.i32_AddExpression(lhs, rhs); - else if (exprAType.name == 'i64' || exprAType.name == 'u64') - return Expressions.i64_AddExpression(lhs, rhs); - else if (exprAType.name == 'f32') return Expressions.f32_AddExpression(lhs, rhs); - else if (exprAType.name == 'f64') return Expressions.f64_AddExpression(lhs, rhs); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } else if (node.operator == ArithmeticExpressionOperator.ArithmeticSub) { - // Comparison - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (exprAType.name == 'i32' || exprAType.name == 'u32') - return Expressions.i32_SubExpression(lhs, rhs); - else if (exprAType.name == 'i64' || exprAType.name == 'u64') - return Expressions.i64_SubExpression(lhs, rhs); - else if (exprAType.name == 'f32') return Expressions.f32_SubExpression(lhs, rhs); - else if (exprAType.name == 'f64') return Expressions.f64_SubExpression(lhs, rhs); - } else { - // TODO: Handle Heap Types - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } else if (node.operator == ArithmeticExpressionOperator.ArithmeticDiv) { - // Comparison - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (exprAType.name == 'i32' || exprAType.name == 'u32') - return Expressions.i32_Div_sExpression(lhs, rhs); - else if (exprAType.name == 'i64' || exprAType.name == 'u64') - return Expressions.i64_Div_sExpression(lhs, rhs); - else if (exprAType.name == 'f32') return Expressions.f32_DivExpression(lhs, rhs); - else if (exprAType.name == 'f64') return Expressions.f64_DivExpression(lhs, rhs); - } else { - // TODO: Handle Heap Types - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } else if (node.operator == ArithmeticExpressionOperator.ArithmeticMul) { - // Comparison - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (exprAType.name == 'i32' || exprAType.name == 'u32') - return Expressions.i32_MulExpression(lhs, rhs); - else if (exprAType.name == 'i64' || exprAType.name == 'u64') - return Expressions.i64_MulExpression(lhs, rhs); - else if (exprAType.name == 'f32') return Expressions.f32_MulExpression(lhs, rhs); - else if (exprAType.name == 'f64') return Expressions.f64_MulExpression(lhs, rhs); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } - case NodeType.ComparisonExpression: { - // TODO: Move this into The Language - // Get The Expression Type For More Performant Equality - // The Left and Right Side are the same type so we only need one - const exprAType = getExpressionType( - rawProgram, - _variables, - _types, - _typeStack, - _typeStacks, - node.lhs - ); - // Compile Both Sides - const lhs = _generateCode(node.lhs); - const rhs = _generateCode(node.rhs); - // Equal Comparison - if (node.operator == ComparisonExpressionOperator.ComparisonEqual) { - // Comparison - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (exprAType.name == 'i32' || exprAType.name == 'u32') - return Expressions.i32_eqExpression(lhs, rhs); - else if (exprAType.name == 'i64' || exprAType.name == 'u64') - return Expressions.i64_eqExpression(lhs, rhs); - else if (exprAType.name == 'f32') return Expressions.f32_eqExpression(lhs, rhs); - else if (exprAType.name == 'f64') return Expressions.f64_eqExpression(lhs, rhs); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } else if (node.operator == ComparisonExpressionOperator.ComparisonAnd) { - // Comparison - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (exprAType.name == 'Boolean') return Expressions.i32_AndExpression(lhs, rhs); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } else if (node.operator == ComparisonExpressionOperator.ComparisonOr) { - // Comparison - if (exprAType.nodeType == NodeType.TypePrimLiteral) { - // Handle Stack Types - if (exprAType.name == 'Boolean') return Expressions.i32_orExpression(lhs, rhs); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } else { - return BriskError(rawProgram, BriskErrorType.FeatureNotYetImplemented, [], node.position); - } - } - // TODO: Handle UnaryExpression - case NodeType.UnaryExpression: { - const valueType = getExpressionType( - rawProgram, - _variables, - _types, - _typeStack, - _typeStacks, - node.value - ); - switch (node.operator) { - case UnaryExpressionOperator.UnaryNot: - // TODO: Verify this works - return Expressions.i32_xorExpression( - _generateCode(node.value), - Expressions.i32_ConstExpression(-1) - ); - case UnaryExpressionOperator.UnaryNegative: - // Handle Stack Types - if (valueType.nodeType == NodeType.TypePrimLiteral) { - if (valueType.name == 'i32') - return Expressions.i32_MulExpression( - _generateCode(node.value), - Expressions.i32_ConstExpression(-1) - ); - else if (valueType?.name == 'i64') - return Expressions.i64_MulExpression( - _generateCode(node.value), - Expressions.i64_ConstExpression(-1) - ); - else if (valueType?.name == 'f32') - return Expressions.f32_MulExpression( - _generateCode(node.value), - Expressions.f32_ConstExpression(-1) - ); - else if (valueType?.name == 'f64') - return Expressions.f64_MulExpression( - _generateCode(node.value), - Expressions.f64_ConstExpression(-1) - ); - else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - } else { - // TODO: Handle Heap Types - return BriskError( - rawProgram, - BriskErrorType.FeatureNotYetImplemented, - [], - node.position - ); - } - case UnaryExpressionOperator.UnaryPositive: - return _generateCode(node.value); - } - } + case NodeType.InfixExpression: + case NodeType.PostfixExpression: + case NodeType.PrefixExpression: + // TODO: Make This TypeSafe + throw 'Unreachable'; case NodeType.ParenthesisExpression: return _generateCode(node.value); // TODO: Handle TypeCastExpression @@ -597,7 +312,7 @@ const generateCode = ( _typeStacks, outType, createPrimType(node.position, 'Void'), - false + 0 ) ) return Expressions.dropExpression(expr); @@ -615,7 +330,7 @@ const generateCode = ( case NodeType.F32Literal: return Expressions.f32_ConstExpression(node.value); case NodeType.F64Literal: - return Expressions.i32_ConstExpression(node.value); + return Expressions.f64_ConstExpression(node.value); // TODO: Handle NumberLiteral case NodeType.ConstantLiteral: // 1 represents true @@ -668,7 +383,7 @@ const generateCode = ( _typeStacks, node.returnType, createPrimType(node.returnType.position, 'Void'), - false + 0 ) ) { body.push(compiledBody); @@ -787,7 +502,7 @@ const generateCodeProgram = (rawProgram: string, program: ProgramNode): Uint8Arr Types.createNumericType(WasmTypes.WasmI32), Expressions.i32_ConstExpression(0) ); - // TODO: Compile LinkingInfo Section + // Compile LinkingInfo Section wasmModule = createCustomSection(wasmModule, [ // Custom Section Id ...encodeString('LinkingInfo'), diff --git a/src/Compiler/Errors/ErrorBuilder.ts b/src/Compiler/Errors/ErrorBuilder.ts index baef6c9..8796a74 100644 --- a/src/Compiler/Errors/ErrorBuilder.ts +++ b/src/Compiler/Errors/ErrorBuilder.ts @@ -8,66 +8,6 @@ const addLineNumbers = (code: string, lineNumber: number) => { }; // Builds Pretty Error Messages export const prettyError = (code: string, message: string, position: Position) => { - // // Static Properties - // const lineCount = 3; - // const maxLineWidth = process?.stdout?.columns ?? 80; - // // Cut Error Into Pieces - // // const aboveCode = code.substring(); - // // const badCode = code.substring(position.offset, position.offset + position.length); - // // const belowCode = code.substring(); - // const lines = code.split('\n'); - // const buffer = []; - // let offset = 0; - // for (let i = 0; i < lines.length; i++) { - // const line = lines[i]; - // // Build Length - // offset += line.length; - // // If We found the area of interest get rid of anything extra - // if (i == position.line - 1) { - // // Build The message - // let str = ''; - // // Push The Line Start - // str += line.slice(0, position.col - 1); - // // Push The Error Section - // str += `\x1b[31m\x1b[1m${line.slice( - // position.col - 1, - // position.col + position.length - 1 - // )}\x1b[0m`; - // // Push The Line End - // str += line.slice(position.col + position.length - 1); - // // Push The Line - // buffer.push(str); - // // Append The Formatting For The Error - // buffer.push( - // `\x1b[35m\x1b[1m${' '.repeat(position.col - 1)}${'─'.repeat( - // Math.floor(position.length / 2) - (position.length % 2 == 0 ? 1 : 0) - // )}┬${'─'.repeat(Math.floor(position.length / 2))}\x1b[0m` - // ); - // buffer.push( - // `${' '.repeat( - // position.col + Math.floor(position.length / 2) - (position.length % 2 == 0 ? 2 : 1) - // )}\x1b[35m\x1b[1m│\x1b[0m` - // ); - // // Push Message - // let msg = ''; - // msg += '\x1b[35m\x1b[1m'; - // msg += `${' '.repeat( - // position.col + Math.floor(position.length / 2) - (position.length % 2 == 0 ? 2 : 1) - // )}`; - // msg += '╰─ '; - // msg += message; - // msg += '\x1b[0m'; - // buffer.push(msg); - // } else { - // // Append To Buffer - // buffer.push(line); - // } - // } - // console.log(code); - // console.log(position); - // console.log(buffer.join('\n')); - // Build Output - // Return Output // Create Detailed Error Message const width = process.stdout.columns || 80; const offset = position.offset; diff --git a/src/Compiler/Lexer/Tokens.ts b/src/Compiler/Lexer/Tokens.ts index 251e652..daec1ec 100644 --- a/src/Compiler/Lexer/Tokens.ts +++ b/src/Compiler/Lexer/Tokens.ts @@ -112,39 +112,49 @@ export const operators = createToken({ name: LexerTokenType.Operators, pattern: Lexer.NA, }); -export const reserved = createToken({ - name: LexerTokenType.Reserved, +export const expressionOperators = createToken({ + name: LexerTokenType.ExpressionOperators, + categories: operators, pattern: Lexer.NA, }); -export const postFixOperators = createToken({ - name: LexerTokenType.PostFixOperators, - pattern: Lexer.NA, +export const statementOperators = createToken({ + name: LexerTokenType.StatementOperators, categories: operators, -}); -export const comparisonOperators = createToken({ - name: LexerTokenType.ComparisonOperators, pattern: Lexer.NA, - categories: operators, }); export const assignmentOperators = createToken({ name: LexerTokenType.AssignmentOperators, + categories: operators, pattern: Lexer.NA, +}); +export const operators180 = createToken({ + name: LexerTokenType.Operators180, categories: operators, + pattern: Lexer.NA, }); -export const arithmeticOperators = createToken({ - name: LexerTokenType.ArithmeticOperators, +export const operators170 = createToken({ + name: LexerTokenType.Operators170, + categories: operators, pattern: Lexer.NA, +}); +export const operators160 = createToken({ + name: LexerTokenType.Operators160, categories: operators, + pattern: Lexer.NA, }); -export const logicalOperators = createToken({ - name: LexerTokenType.LogicalOperators, +export const operators150 = createToken({ + name: LexerTokenType.Operators150, + categories: operators, pattern: Lexer.NA, +}); +export const operators140 = createToken({ + name: LexerTokenType.Operators140, categories: operators, + pattern: Lexer.NA, }); -export const typeOperators = createToken({ - name: LexerTokenType.TypeOperators, +export const reserved = createToken({ + name: LexerTokenType.Reserved, pattern: Lexer.NA, - categories: operators, }); // Comments export const TknComment = createToken({ @@ -397,6 +407,12 @@ export const TknSemiColon = createToken({ categories: separatorTokens, pattern: ';', }); +export const TknThickArrow = createToken({ + label: 'ThickArrow', + name: LexerTokenType.ThickArrow, + categories: separatorTokens, + pattern: '=>', +}); export const TknWhitespace = createToken({ label: 'Whitespace', name: LexerTokenType.WhiteSpace, @@ -404,126 +420,74 @@ export const TknWhitespace = createToken({ pattern: /[ \t\s\r\n]+/, line_breaks: true, }); // ws -// Operators -export const TknPostFixIncrement = createToken({ - label: 'PostFix Increment', - name: LexerTokenType.TknPostFixIncrement, - categories: postFixOperators, - pattern: '++', -}); -export const TknPostFixDecrement = createToken({ - label: 'PostFix Decrement', - name: LexerTokenType.TknPostFixDecrement, - categories: postFixOperators, - pattern: '--', -}); -export const TknComparisonEqual = createToken({ - label: 'Comparison Equal', - name: LexerTokenType.TknComparisonEqual, - categories: comparisonOperators, - pattern: '==', -}); -export const TknComparisonNotEqual = createToken({ - label: 'Comparison Not Equal', - name: LexerTokenType.TknComparisonNotEqual, - categories: comparisonOperators, - pattern: '!=', -}); -export const TknComparisonLessThanEqual = createToken({ - label: 'Comparison Less Than Or Equal To', - name: LexerTokenType.TknComparisonLessThanOrEqual, - categories: comparisonOperators, - pattern: '<=', -}); -export const TknComparisonGreaterThanEqual = createToken({ - label: 'Comparison Greater Than Or Equal To', - name: LexerTokenType.TknComparisonGreaterThanOrEqual, - categories: comparisonOperators, - pattern: '>=', -}); -export const TknComparisonGreaterThan = createToken({ - label: 'Comparison Greater Than', - name: LexerTokenType.TknComparisonGreaterThan, - categories: comparisonOperators, - pattern: '>', -}); -export const TknComparisonLessThan = createToken({ - label: 'Comparison Less Than', - name: LexerTokenType.TknComparisonLessThan, - categories: comparisonOperators, +// Expression Operators +export const TknOperator180 = createToken({ + label: 'TknInFix180', + name: LexerTokenType.TknOperator180, + categories: operators180, + pattern: /(\*\*)[~$&*/+\-=><^|!?%:.]*/, +}); +export const TknOperator170 = createToken({ + label: 'TknInFix170', + name: LexerTokenType.TknOperator170, + categories: operators170, + pattern: /(\*|\/|%)[~$&*/+\-=><^|!?%:.]*/, +}); +export const TknOperator160 = createToken({ + label: 'TknInFix160', + name: LexerTokenType.TknOperator160, + categories: operators160, + pattern: /(\+|-)[~$&*/+\-=><^|!?%:.]*/, +}); +export const TknOperator150 = createToken({ + label: 'TknInFix150', + name: LexerTokenType.TknOperator150, + categories: operators150, + pattern: /(\^|==|!=|<=|>=)[~$&*/+\-=><^|!?%:.]*/, +}); +export const TknOperator140 = createToken({ + label: 'TknInFix140', + name: LexerTokenType.TknOperator140, + categories: operators140, + pattern: /(&|\$|\|\||!|#)[~$&*/+\-=><^|!?%:.]*/, +}); +export const TknLeftArrow = createToken({ + label: 'LeftArrow', + name: LexerTokenType.TknLeftArrow, + categories: operators140, pattern: '<', }); -export const TknComparisonAnd = createToken({ - label: 'Comparison And', - name: LexerTokenType.TknComparisonAnd, - categories: comparisonOperators, - pattern: '&&', +export const TknRightArrow = createToken({ + label: 'RightArrow', + name: LexerTokenType.TknRightArrow, + categories: operators140, + pattern: '>', }); -export const TknComparisonOr = createToken({ - label: 'Comparison Or', - name: LexerTokenType.TknComparisonOr, - categories: comparisonOperators, - pattern: '||', +export const TknQuestionMark = createToken({ + label: 'Tkn Question Mark', + name: LexerTokenType.TknQuestionMark, + categories: operators140, + pattern: '?', }); -export const TknThickArrow = createToken({ - label: 'Arrow', - name: LexerTokenType.TknArrow, - pattern: '=>', +export const TknUnion = createToken({ + label: 'Tkn Union', + name: LexerTokenType.TknUnion, + categories: operators, + pattern: '|', }); -export const TknNot = createToken({ - label: 'Not', - name: LexerTokenType.TknNot, - categories: logicalOperators, - pattern: '!', +// Statement Operators +export const TknAssignmentOperator = createToken({ + label: 'TknAssignmentOperator', + name: LexerTokenType.TknAssignmentOperator, + categories: assignmentOperators, + pattern: /(\+|-|\*|%)=/, }); export const TknEqual = createToken({ label: 'Equal', - name: LexerTokenType.TknEqual, + name: LexerTokenType.TknAssignmentOperator, categories: assignmentOperators, pattern: '=', }); -export const TknAdd = createToken({ - label: 'Add', - name: LexerTokenType.TknAdd, - categories: arithmeticOperators, - pattern: '+', -}); -export const TknSub = createToken({ - label: 'Subtract', - name: LexerTokenType.TknSubtract, - categories: arithmeticOperators, - pattern: '-', -}); -export const TknDiv = createToken({ - label: 'Division', - name: LexerTokenType.TknDivision, - categories: arithmeticOperators, - pattern: '/', - longer_alt: TknComment, -}); -export const TknPow = createToken({ - label: 'Power Of', - name: LexerTokenType.TknPower, - categories: arithmeticOperators, - pattern: '**', -}); -export const TknMul = createToken({ - label: 'Multiplication', - name: LexerTokenType.TknMultiply, - categories: arithmeticOperators, - pattern: '*', -}); -export const TknUnion = createToken({ - label: 'Tkn Type Union', - name: LexerTokenType.TknUnion, - categories: typeOperators, - pattern: '|', -}); -export const TknQuestionMark = createToken({ - label: 'Tkn Question Mark', - name: LexerTokenType.TknQuestionMark, - pattern: '?', -}); // Reserved Tokens export const TknMatch = createToken({ label: 'Match', @@ -580,6 +544,12 @@ export const TknFlag = createToken({ name: LexerTokenType.TknFlag, pattern: /@(operator|unsafe|inline)/, }); // Flag +// Marker +export const TknMarker = createToken({ + label: 'TknMarker', + name: LexerTokenType.TknMarker, + pattern: '@', +}); // Flag // Identifiers export const TknIdentifier = createToken({ label: 'Identifier', @@ -594,12 +564,14 @@ export const Tokens = [ literalTokens, separatorTokens, operators, + expressionOperators, + statementOperators, + operators180, + operators170, + operators160, + operators150, + operators140, reserved, - postFixOperators, - comparisonOperators, - assignmentOperators, - arithmeticOperators, - logicalOperators, // Comments TknComment, // Literals @@ -644,26 +616,19 @@ export const Tokens = [ TknPeriod, TknColon, TknSemiColon, - TknPostFixIncrement, - TknPostFixDecrement, - TknComparisonEqual, - TknComparisonNotEqual, - TknComparisonLessThanEqual, - TknComparisonGreaterThanEqual, - TknComparisonGreaterThan, - TknComparisonLessThan, - TknComparisonAnd, - TknComparisonOr, TknThickArrow, - TknNot, + // Operators + TknAssignmentOperator, + TknOperator180, + TknOperator170, + TknOperator160, + TknOperator150, + TknOperator140, + TknLeftArrow, + TknRightArrow, TknEqual, - TknAdd, - TknSub, - TknDiv, - TknPow, - TknMul, - TknUnion, TknQuestionMark, + TknUnion, // Reserved Tokens TknMatch, TknClass, @@ -674,6 +639,8 @@ export const Tokens = [ TknAsync, // Flags TknFlag, + // Marker + TknMarker, // Identifiers TknIdentifier, ]; diff --git a/src/Compiler/Parser/index.ts b/src/Compiler/Parser/index.ts index 3a3a24a..b484c3e 100644 --- a/src/Compiler/Parser/index.ts +++ b/src/Compiler/Parser/index.ts @@ -1,5 +1,5 @@ // Imports -import { EmbeddedActionsParser, ILexingResult, TokenType } from 'chevrotain'; +import { EmbeddedActionsParser, ILexingResult, IOrAlt, IToken, TokenType } from 'chevrotain'; import * as Tokens from '../Lexer/Tokens'; import ErrorProvider from './ErrorProvider'; import * as Nodes from '../Types/ParseNodes'; @@ -10,6 +10,12 @@ import { __DEBUG__ } from '@brisk/config'; class Parser extends EmbeddedActionsParser { private basePath: string; private file: string; + // Caches + private c2: IOrAlt[] | undefined; + private c6: IOrAlt[] | undefined; + private c10: IOrAlt[] | undefined; + private c17: IOrAlt[] | undefined; + private c20: IOrAlt[] | undefined; constructor(tokens: TokenType[], basePath: string, file: string) { super(tokens, { maxLookahead: 2, @@ -37,6 +43,13 @@ class Parser extends EmbeddedActionsParser { // Stacks _varStack: new Map(), _typeStack: new Map(), + // Misc + operatorScope: { + PREFIX: new Map(), + INFIX: new Map(), + POSTFIX: new Map(), + ASSIGNMENT: new Map(), + }, // Flags loopDepth: undefined, }, @@ -61,11 +74,14 @@ class Parser extends EmbeddedActionsParser { return body; }); private topLevelStatement = this.RULE('TopLevelStatement', (): Nodes.Statement => { - const statement = this.OR([ - { ALT: () => this.SUBRULE(this.importStatement) }, - { ALT: () => this.SUBRULE(this.exportStatement) }, - { ALT: () => this.SUBRULE(this.flag) }, - ]); + const statement = this.OR( + this.c2 || + (this.c2 = [ + { ALT: () => this.SUBRULE(this.importStatement) }, + { ALT: () => this.SUBRULE(this.exportStatement) }, + { ALT: () => this.SUBRULE(this.flag) }, + ]) + ); this.CONSUME(Tokens.TknSemiColon); this.ACTION(() => (statement.position.length += 1)); return statement; @@ -91,7 +107,7 @@ class Parser extends EmbeddedActionsParser { const statement = this.SUBRULE(this._statement); this.OR([ { - // @ts-ignore + //@ts-ignore GATE: () => this.input[this.currIdx]?.image != '}', ALT: () => { this.CONSUME(Tokens.TknSemiColon); @@ -110,14 +126,17 @@ class Parser extends EmbeddedActionsParser { return statement; }); private _statement = this.RULE('_Statement', (): Nodes.Statement => { - return this.OR([ - { ALT: () => this.SUBRULE(this.blockStatement) }, - { ALT: () => this.SUBRULE(this.typeAlias) }, - { ALT: () => this.SUBRULE(this.ifStatement) }, - { ALT: () => this.SUBRULE(this.whileStatement) }, - { ALT: () => this.SUBRULE(this.declarationStatement) }, - { ALT: () => this.SUBRULE(this.singleLineStatement) }, - ]); + return this.OR( + this.c6 || + (this.c6 = [ + { ALT: () => this.SUBRULE(this.blockStatement) }, + { ALT: () => this.SUBRULE(this.typeAlias) }, + { ALT: () => this.SUBRULE(this.ifStatement) }, + { ALT: () => this.SUBRULE(this.whileStatement) }, + { ALT: () => this.SUBRULE(this.declarationStatement) }, + { ALT: () => this.SUBRULE(this.singleLineStatement) }, + ]) + ); }); // Flags private flag = this.RULE('Flag', (): Nodes.FlagNode => { @@ -171,17 +190,13 @@ class Parser extends EmbeddedActionsParser { private singleLineStatement = this.RULE('SingleLineStatement', (): Nodes.Statement => { return this.OR([ { ALT: () => this.SUBRULE(this.returnStatement) }, - { - GATE: this.BACKTRACK(this.expressionStatement), - ALT: () => this.SUBRULE(this.expressionStatement), - }, { GATE: this.BACKTRACK(this.assignmentStatement), ALT: () => this.SUBRULE(this.assignmentStatement), }, { - GATE: this.BACKTRACK(this.postFixStatement), - ALT: () => this.SUBRULE(this.postFixStatement), + GATE: this.BACKTRACK(this.expressionStatement), + ALT: () => this.SUBRULE(this.expressionStatement), }, { ALT: () => this.SUBRULE(this.breakStatement) }, { ALT: () => this.SUBRULE(this.breakIfStatement) }, @@ -360,14 +375,33 @@ class Parser extends EmbeddedActionsParser { const variable = this.OR([ { ALT: () => { - // TODO: Support Destructuring Imports - return this.SUBRULE(this.variableDefinition); + const importLabels: Nodes.ImportLabelNode[] = []; + // Support Destructuring Imports + this.CONSUME(Tokens.TknLBrace); + this.AT_LEAST_ONE_SEP({ + SEP: Tokens.TknComma, + DEF: () => { + const flag = this.OPTION(() => this.SUBRULE(this.flag)); + const variable = this.SUBRULE(this.variableDefinitionNode); + importLabels.push({ + flag: flag, + variable: variable, + }); + }, + }); + this.CONSUME(Tokens.TknRBrace); + return importLabels; + }, + }, + { + ALT: () => { + return this.SUBRULE1(this.variableDefinitionNode); }, }, { ALT: () => { this.CONSUME(Tokens.TknWasm); - const variable = this.SUBRULE1(this.variableDefinitionNode); + const variable = this.SUBRULE2(this.variableDefinitionNode); this.CONSUME(Tokens.TknColon); typeSignature = this.SUBRULE(this.typeLiteral); return variable; @@ -414,14 +448,17 @@ class Parser extends EmbeddedActionsParser { ); private exportStatement = this.RULE('ExportStatement', (): Nodes.ExportStatementNode => { const location = this.CONSUME(Tokens.TknExport); - const variable: Nodes.ExportStatementValue = this.OR([ - { ALT: () => this.SUBRULE(this.variableUsageNode) }, - { ALT: () => this.SUBRULE(this.declarationStatement) }, - { ALT: () => this.SUBRULE(this.objectLiteral) }, - { ALT: () => this.SUBRULE(this.interfaceDefinition) }, - { ALT: () => this.SUBRULE(this.enumDefinitionStatement) }, - { ALT: () => this.SUBRULE(this.typeAlias) }, - ]); + const variable: Nodes.ExportStatementValue = this.OR( + this.c10 || + (this.c10 = [ + { ALT: () => this.SUBRULE(this.variableUsageNode) }, + { ALT: () => this.SUBRULE(this.declarationStatement) }, + { ALT: () => this.SUBRULE(this.objectLiteral) }, + { ALT: () => this.SUBRULE(this.interfaceDefinition) }, + { ALT: () => this.SUBRULE(this.enumDefinitionStatement) }, + { ALT: () => this.SUBRULE(this.typeAlias) }, + ]) + ); return this.ACTION((): Nodes.ExportStatementNode => { return { nodeType: Nodes.NodeType.ExportStatement, @@ -460,7 +497,7 @@ class Parser extends EmbeddedActionsParser { const name = this.SUBRULE(this.variableDefinition); this.CONSUME(Tokens.TknColon); const varType = this.SUBRULE(this.typeLiteral); - this.CONSUME(Tokens.assignmentOperators); + this.CONSUME(Tokens.TknEqual); const value = this.SUBRULE(this.expression); return this.ACTION((): Nodes.DeclarationStatementNode => { return { @@ -486,7 +523,7 @@ class Parser extends EmbeddedActionsParser { 'assignmentStatement', (): Nodes.AssignmentStatementNode => { const name = this.SUBRULE(this.variableUsage); - this.CONSUME(Tokens.assignmentOperators); + const operatorImage = this.CONSUME(Tokens.assignmentOperators).image; const value = this.SUBRULE(this.expression); return this.ACTION((): Nodes.AssignmentStatementNode => { return { @@ -494,6 +531,7 @@ class Parser extends EmbeddedActionsParser { category: Nodes.NodeCategory.Statement, name: name, value: value, + operatorImage: operatorImage, position: { ...name.position, length: value.position.offset + value.position.length - name.position.offset - 1, @@ -526,41 +564,61 @@ class Parser extends EmbeddedActionsParser { }; }); }); - private postFixStatement = this.RULE('PostFixStatement', (): Nodes.PostFixStatementNode => { - const name = this.SUBRULE(this.variableUsage); - const { location, operator } = this.OR([ + private expressionStatement = this.RULE('expressionStatement', (): Nodes.Statement => { + return this.OR([ { - ALT: () => { - const location = this.CONSUME(Tokens.TknPostFixIncrement); - return { location: location, operator: Nodes.PostFixOperator.Increment }; - }, + GATE: this.BACKTRACK(this.postfixOperatorStatement), + ALT: () => this.SUBRULE(this.postfixOperatorStatement), }, { ALT: () => { - const location = this.CONSUME(Tokens.TknPostFixDecrement); - return { location: location, operator: Nodes.PostFixOperator.Decrement }; + return ( + this.SUBRULE(this.callExpression, { ARGS: [true, true] }) + ); }, }, - ]); - return this.ACTION((): Nodes.PostFixStatementNode => { - return { - nodeType: Nodes.NodeType.PostFixStatement, - category: Nodes.NodeCategory.Statement, - operator: operator, - name: name, - position: { - ...name.position, - length: location.endOffset! - name.position.offset, - }, - }; - }); - }); - private expressionStatement = this.RULE('expressionStatement', (): Nodes.Expression => { - return this.OR([ - { ALT: () => this.SUBRULE(this.callExpression, { ARGS: [true, true] }) }, { ALT: () => this.SUBRULE(this.wasmCallExpression, { ARGS: [true] }) }, ]); }); + // PostFix Operators + // TODO: Combine This With The Expression Rule + private postfixOperatorStatement = this.RULE( + 'postfixOperatorStatement', + (): Nodes.PostfixExpressionNode => { + // Match The Operator List + const operators: IToken[] = []; + const expression = this.SUBRULE(this.variableUsage); + this.AT_LEAST_ONE(() => { + operators.push(this.CONSUME(Tokens.operators)); + }); + return this.ACTION((): Nodes.PostfixExpressionNode => { + // TODO: Make This Type Safe + //@ts-ignore + return operators.reduce((prevValue, currentValue): Nodes.PostfixExpressionNode => { + return { + nodeType: Nodes.NodeType.PostfixExpression, + category: Nodes.NodeCategory.Expression, + operatorImage: currentValue.image, + value: prevValue, + statement: true, + position: { + offset: currentValue.startOffset, + // TODO: Ensure this math is correct + length: + prevValue.position.offset + + prevValue.position.length - + currentValue.startOffset + + 1, + line: currentValue.startLine || 0, + col: currentValue.startColumn || 0, + basePath: this.basePath, + file: this.file, + }, + }; + }, expression); + }); + } + ); // Enums private enumDefinitionStatement = this.RULE( 'EnumDefinitionStatement', @@ -623,8 +681,8 @@ class Parser extends EmbeddedActionsParser { }); const location = this.CONSUME(Tokens.TknRParen); return { - value: values, endOffset: location?.endOffset || 0, + value: values, }; }, }, @@ -638,7 +696,7 @@ class Parser extends EmbeddedActionsParser { value: value?.value, position: { offset: identifier.startOffset, - length: (value?.endOffset ?? identifier.endOffset) - identifier.startOffset + 1, + length: (value?.endOffset ?? identifier.endOffset ?? 0) - identifier.startOffset + 1, line: identifier.startLine || 0, col: identifier.startColumn || 0, basePath: this.basePath, @@ -649,278 +707,310 @@ class Parser extends EmbeddedActionsParser { }); // Expressions private expression = this.RULE('Expression', (): Nodes.Expression => { - return this.SUBRULE(this.comparisonExpression); + return this.SUBRULE(this.typeCastExpression); }); - private comparisonExpression = this.RULE( - 'ComparisonExpression', - (): Nodes.Expression | Nodes.ComparisonExpressionNode => { - const operators: [Nodes.ComparisonExpressionOperator, string][] = []; + // Type Cast Expression + private typeCastExpression = this.RULE( + 'TypeCastExpression', + (): Nodes.TypeCastExpression | Nodes.Expression => { + const typeCast: [IToken, Nodes.TypeLiteral][] = []; + this.MANY(() => { + const location = this.CONSUME(Tokens.TknLeftArrow); + const typeLiteral = this.SUBRULE(this.typeLiteral); + this.CONSUME(Tokens.TknRightArrow); + typeCast.push([location, typeLiteral]); + }); + const value = this.SUBRULE(this.subExpression); + if (typeCast.length == 0) { + return value; + } else { + return this.ACTION((): Nodes.TypeCastExpression => { + return typeCast.reduce((prevValue, currValue): Nodes.TypeCastExpression => { + return { + nodeType: Nodes.NodeType.TypeCastExpression, + category: Nodes.NodeCategory.Expression, + value: prevValue, + typeLiteral: currValue[1], + position: { + offset: currValue[0].startOffset, + length: + prevValue.position.offset + + prevValue.position.length - + currValue[0].startOffset + + 1, + line: currValue[0].startLine || 0, + col: currValue[0].startColumn || 0, + basePath: this.basePath, + file: this.file, + }, + }; + }, value); + }); + } + } + ); + private subExpression = this.RULE('subExpression', (): Nodes.Expression => { + return this.OR([ + { + GATE: this.BACKTRACK(this.infix180Expression), + ALT: () => this.SUBRULE(this.infix180Expression), + }, + { + ALT: () => this.SUBRULE(this.postfixOperator), + }, + ]); + }); + // PostFix Operators + private postfixOperator = this.RULE( + 'postfixOperator', + (): Nodes.PostfixExpressionNode | Nodes.Expression => { + // Match The Operator List + const operators: IToken[] = []; + const expression = this.SUBRULE(this.prefixOperator); + this.MANY(() => { + operators.push(this.CONSUME(Tokens.operators)); + }); + if (operators.length == 0) { + return expression; + } else { + return this.ACTION(() => { + return operators.reduce((prevValue, currentValue): Nodes.PostfixExpressionNode => { + return { + nodeType: Nodes.NodeType.PostfixExpression, + category: Nodes.NodeCategory.Expression, + operatorImage: currentValue.image, + value: prevValue, + statement: false, + position: { + offset: currentValue.startOffset, + // TODO: Ensure this math is correct + length: + prevValue.position.offset + + prevValue.position.length - + currentValue.startOffset + + 1, + line: currentValue.startLine || 0, + col: currentValue.startColumn || 0, + basePath: this.basePath, + file: this.file, + }, + }; + }, expression); + }); + } + } + ); + // Infix Expressions + private infix180Expression = this.RULE( + 'Infix180Expression', + (): Nodes.InfixExpressionNode | Nodes.Expression => { + // Match The Operator List + const operators: string[] = []; const expressions: Nodes.Expression[] = []; - const lhs = this.SUBRULE(this._comparisonExpression); + const lhs = this.SUBRULE(this.infix170Expression); this.MANY(() => { - const operator = this.OR([ - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonAnd); - return [Nodes.ComparisonExpressionOperator.ComparisonAnd, '&&']; - }, - }, - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonOr); - return [Nodes.ComparisonExpressionOperator.ComparisonOr, '||']; - }, - }, - ]); - operators.push(operator); - expressions.push(this.SUBRULE1(this._comparisonExpression)); + operators.push(this.CONSUME(Tokens.operators180).image); + expressions.push(this.SUBRULE1(this.infix170Expression)); }); if (expressions.length == 0) { return lhs; } else { return this.ACTION(() => { - return expressions.reduce( - (prevValue, currentValue, index): Nodes.ComparisonExpressionNode => { - return { - nodeType: Nodes.NodeType.ComparisonExpression, - category: Nodes.NodeCategory.Expression, - lhs: prevValue, - operator: operators[index][0], - operatorImage: operators[index][1], - rhs: currentValue, - position: { - ...prevValue.position, - length: - currentValue.position.offset + - currentValue.position.length - - prevValue.position.offset, - }, - }; - }, - lhs - ); + return expressions.reduce((prevValue, currentValue, index): Nodes.InfixExpressionNode => { + return { + nodeType: Nodes.NodeType.InfixExpression, + category: Nodes.NodeCategory.Expression, + lhs: prevValue, + operatorImage: operators[index], + rhs: currentValue, + position: { + ...prevValue.position, + length: + currentValue.position.offset + + currentValue.position.length - + prevValue.position.offset, + }, + }; + }, lhs); }); } } ); - private _comparisonExpression = this.RULE( - '_ComparisonExpression', - (): Nodes.Expression | Nodes.ComparisonExpressionNode => { - const operators: [Nodes.ComparisonExpressionOperator, string][] = []; + private infix170Expression = this.RULE( + 'Infix170Expression', + (): Nodes.InfixExpressionNode | Nodes.Expression => { + // Match The Operator List + const operators: string[] = []; const expressions: Nodes.Expression[] = []; - const lhs = this.SUBRULE(this.arithmeticShiftingExpression); + const lhs = this.SUBRULE(this.infix160Expression); this.MANY(() => { - const operator = this.OR([ - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonEqual); - return [Nodes.ComparisonExpressionOperator.ComparisonEqual, '==']; - }, - }, - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonNotEqual); - return [Nodes.ComparisonExpressionOperator.ComparisonNotEqual, '!=']; - }, - }, - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonLessThan); - return [Nodes.ComparisonExpressionOperator.ComparisonLessThan, '<']; - }, - }, - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonGreaterThan); - return [Nodes.ComparisonExpressionOperator.ComparisonGreaterThan, '>']; - }, - }, - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonLessThanEqual); - return [Nodes.ComparisonExpressionOperator.ComparisonLessThanOrEqual, '<=']; - }, - }, - { - ALT: (): [Nodes.ComparisonExpressionOperator, string] => { - this.CONSUME(Tokens.TknComparisonGreaterThanEqual); - return [Nodes.ComparisonExpressionOperator.ComparisonGreaterThanOrEqual, '>=']; - }, - }, - ]); - operators.push(operator); - expressions.push(this.SUBRULE1(this.arithmeticShiftingExpression)); + operators.push(this.CONSUME(Tokens.operators170).image); + expressions.push(this.SUBRULE1(this.infix160Expression)); }); if (expressions.length == 0) { return lhs; } else { return this.ACTION(() => { - return expressions.reduce( - (prevValue, currentValue, index): Nodes.ComparisonExpressionNode => { - return { - nodeType: Nodes.NodeType.ComparisonExpression, - category: Nodes.NodeCategory.Expression, - lhs: prevValue, - operator: operators[index][0], - operatorImage: operators[index][1], - rhs: currentValue, - position: { - ...prevValue.position, - length: - currentValue.position.offset + - currentValue.position.length - - prevValue.position.offset, - }, - }; - }, - lhs - ); + return expressions.reduce((prevValue, currentValue, index): Nodes.InfixExpressionNode => { + return { + nodeType: Nodes.NodeType.InfixExpression, + category: Nodes.NodeCategory.Expression, + lhs: prevValue, + operatorImage: operators[index], + rhs: currentValue, + position: { + ...prevValue.position, + length: + currentValue.position.offset + + currentValue.position.length - + prevValue.position.offset, + }, + }; + }, lhs); }); } } ); - // Arithmetic Expressions - private arithmeticShiftingExpression = this.RULE( - 'ArithmeticShiftingExpression', - (): Nodes.Expression => { - const operators: [Nodes.ArithmeticExpressionOperator, string][] = []; + private infix160Expression = this.RULE( + 'Infix160Expression', + (): Nodes.InfixExpressionNode | Nodes.Expression => { + // Match The Operator List + const operators: string[] = []; const expressions: Nodes.Expression[] = []; - const lhs = this.SUBRULE(this.arithmeticScalingExpression); + const lhs = this.SUBRULE(this.infix150Expression); this.MANY(() => { - operators.push( - this.OR([ - { - ALT: (): [Nodes.ArithmeticExpressionOperator, string] => { - this.CONSUME(Tokens.TknAdd); - return [Nodes.ArithmeticExpressionOperator.ArithmeticAdd, '+']; - }, - }, - { - ALT: (): [Nodes.ArithmeticExpressionOperator, string] => { - this.CONSUME(Tokens.TknSub); - return [Nodes.ArithmeticExpressionOperator.ArithmeticSub, '-']; - }, - }, - ]) - ); - expressions.push(this.SUBRULE1(this.arithmeticScalingExpression)); + operators.push(this.CONSUME(Tokens.operators160).image); + expressions.push(this.SUBRULE1(this.infix150Expression)); }); if (expressions.length == 0) { return lhs; } else { return this.ACTION(() => { - return expressions.reduce( - (prevValue, currentValue, index): Nodes.ArithmeticExpressionNode => { - return { - nodeType: Nodes.NodeType.ArithmeticExpression, - category: Nodes.NodeCategory.Expression, - lhs: prevValue, - operator: operators[index][0], - operatorImage: operators[index][1], - rhs: currentValue, - position: { - ...prevValue.position, - length: - currentValue.position.offset + - currentValue.position.length - - prevValue.position.offset, - }, - }; - }, - lhs - ); + return expressions.reduce((prevValue, currentValue, index): Nodes.InfixExpressionNode => { + return { + nodeType: Nodes.NodeType.InfixExpression, + category: Nodes.NodeCategory.Expression, + lhs: prevValue, + operatorImage: operators[index], + rhs: currentValue, + position: { + ...prevValue.position, + length: + currentValue.position.offset + + currentValue.position.length - + prevValue.position.offset, + }, + }; + }, lhs); }); } } ); - private arithmeticScalingExpression = this.RULE( - 'ArithmeticScalingExpression', - (): Nodes.Expression => { - const operators: [Nodes.ArithmeticExpressionOperator, string][] = []; + private infix150Expression = this.RULE( + 'Infix150Expression', + (): Nodes.InfixExpressionNode | Nodes.Expression => { + // Match The Operator List + const operators: string[] = []; const expressions: Nodes.Expression[] = []; - const lhs = this.SUBRULE(this.arithmeticPowerExpression); + const lhs = this.SUBRULE(this.infix140Expression); this.MANY(() => { - operators.push( - this.OR([ - { - ALT: (): [Nodes.ArithmeticExpressionOperator, string] => { - this.CONSUME(Tokens.TknDiv); - return [Nodes.ArithmeticExpressionOperator.ArithmeticDiv, '/']; - }, - }, - { - ALT: (): [Nodes.ArithmeticExpressionOperator, string] => { - this.CONSUME(Tokens.TknMul); - return [Nodes.ArithmeticExpressionOperator.ArithmeticMul, '*']; - }, - }, - ]) - ); - expressions.push(this.SUBRULE1(this.arithmeticPowerExpression)); + operators.push(this.CONSUME(Tokens.operators150).image); + expressions.push(this.SUBRULE1(this.infix140Expression)); }); if (expressions.length == 0) { return lhs; } else { return this.ACTION(() => { - return expressions.reduce( - (prevValue, currentValue, index): Nodes.ArithmeticExpressionNode => { - return { - nodeType: Nodes.NodeType.ArithmeticExpression, - category: Nodes.NodeCategory.Expression, - lhs: prevValue, - operator: operators[index][0], - operatorImage: operators[index][1], - rhs: currentValue, - position: { - ...prevValue.position, - length: - currentValue.position.offset + - currentValue.position.length - - prevValue.position.offset, - }, - }; - }, - lhs - ); + return expressions.reduce((prevValue, currentValue, index): Nodes.InfixExpressionNode => { + return { + nodeType: Nodes.NodeType.InfixExpression, + category: Nodes.NodeCategory.Expression, + lhs: prevValue, + operatorImage: operators[index], + rhs: currentValue, + position: { + ...prevValue.position, + length: + currentValue.position.offset + + currentValue.position.length - + prevValue.position.offset, + }, + }; + }, lhs); }); } } ); - private arithmeticPowerExpression = this.RULE( - 'ArithmeticPowerExpression', - (): Nodes.Expression => { - const operators: [Nodes.ArithmeticExpressionOperator, string][] = []; + private infix140Expression = this.RULE( + 'Infix140Expression', + (): Nodes.InfixExpressionNode | Nodes.Expression => { + // Match The Operator List + const operators: string[] = []; const expressions: Nodes.Expression[] = []; - const lhs = this.SUBRULE(this.simpleExpression); + const lhs = this.SUBRULE(this.prefixOperator); this.MANY(() => { - this.CONSUME(Tokens.TknPow); - operators.push([Nodes.ArithmeticExpressionOperator.ArithmeticPow, '**']); - expressions.push(this.SUBRULE1(this.simpleExpression)); + operators.push(this.CONSUME(Tokens.operators140).image); + expressions.push(this.SUBRULE1(this.prefixOperator)); }); if (expressions.length == 0) { return lhs; } else { return this.ACTION(() => { - return expressions.reduce( - (prevValue, currentValue, index): Nodes.ArithmeticExpressionNode => { - return { - nodeType: Nodes.NodeType.ArithmeticExpression, - category: Nodes.NodeCategory.Expression, - lhs: prevValue, - operator: operators[index][0], - operatorImage: operators[index][1], - rhs: currentValue, - position: { - ...prevValue.position, - length: - currentValue.position.offset + - currentValue.position.length - - prevValue.position.offset, - }, - }; - }, - lhs - ); + return expressions.reduce((prevValue, currentValue, index): Nodes.InfixExpressionNode => { + return { + nodeType: Nodes.NodeType.InfixExpression, + category: Nodes.NodeCategory.Expression, + lhs: prevValue, + operatorImage: operators[index], + rhs: currentValue, + position: { + ...prevValue.position, + length: + currentValue.position.offset + + currentValue.position.length - + prevValue.position.offset, + }, + }; + }, lhs); + }); + } + } + ); + // Prefix Operators + private prefixOperator = this.RULE( + 'prefixOperator', + (): Nodes.PrefixExpressionNode | Nodes.Expression => { + // Match The Operator List + const operators: IToken[] = []; + this.MANY(() => { + operators.push(this.CONSUME(Tokens.operators)); + }); + const expression = this.SUBRULE(this.simpleExpression); + if (operators.length == 0) { + return expression; + } else { + return this.ACTION(() => { + return operators.reduce((prevValue, currentValue): Nodes.PrefixExpressionNode => { + return { + nodeType: Nodes.NodeType.PrefixExpression, + category: Nodes.NodeCategory.Expression, + operatorImage: currentValue.image, + value: prevValue, + position: { + offset: currentValue.startOffset, + // TODO: Ensure this math is correct + length: + prevValue.position.offset + + prevValue.position.length - + currentValue.startOffset + + 1, + line: currentValue.startLine || 0, + col: currentValue.startColumn || 0, + basePath: this.basePath, + file: this.file, + }, + }; + }, expression); }); } } @@ -928,47 +1018,15 @@ class Parser extends EmbeddedActionsParser { // Simple Expressions private simpleExpression = this.RULE('SimpleExpression', (): Nodes.Expression => { return this.OR({ - MAX_LOOKAHEAD: 6, - DEF: [ - { ALT: () => this.SUBRULE(this._simpleExpression) }, - { ALT: () => this.SUBRULE(this.functionDefinition) }, - ], - }); - }); - private _simpleExpression = this.RULE('_SimpleExpression', (): Nodes.Expression => { - return this.OR({ - MAX_LOOKAHEAD: 3, + MAX_LOOKAHEAD: 4, DEF: [ - { ALT: () => this.SUBRULE(this.typeCastExpression) }, - { ALT: () => this.SUBRULE(this.unaryExpression) }, { ALT: () => this.SUBRULE(this.callExpression, { ARGS: [false, false] }) }, { ALT: () => this.SUBRULE(this.wasmCallExpression, { ARGS: [false] }) }, - { ALT: () => this.SUBRULE(this._literal) }, + { ALT: () => this.SUBRULE(this.literal) }, ], }); }); - private typeCastExpression = this.RULE('TypeCastExpression', (): Nodes.TypeCastExpression => { - const location = this.CONSUME(Tokens.TknComparisonLessThan); - const typeLiteral = this.SUBRULE(this.typeLiteral); - this.CONSUME(Tokens.TknComparisonGreaterThan); - const value = this.SUBRULE(this._simpleExpression); - return this.ACTION((): Nodes.TypeCastExpression => { - return { - nodeType: Nodes.NodeType.TypeCastExpression, - category: Nodes.NodeCategory.Expression, - value: value, - typeLiteral: typeLiteral, - position: { - offset: location.startOffset, - length: value.position.offset + value.position.length - location.startOffset + 1, - line: location.startLine || 0, - col: location.startColumn || 0, - basePath: this.basePath, - file: this.file, - }, - }; - }); - }); + // Simple Expressions private callExpression = this.RULE( 'callExpression', (requireFunctionCall = false, statement = false): Nodes.Expression => { @@ -983,94 +1041,31 @@ class Parser extends EmbeddedActionsParser { const FunctionHead = () => { this.AT_LEAST_ONE(() => calls.push(this.SUBRULE(this.arguments))); return this.ACTION((): Nodes.CallExpressionNode => { - return calls.reduce((prevValue, currValue): Nodes.CallExpressionNode => { - return { - nodeType: Nodes.NodeType.CallExpression, - category: Nodes.NodeCategory.Expression, - callee: prevValue, - args: (currValue).args, - statement: statement, - position: { - ...prevValue.position, - length: - currValue.position.offset + currValue.position.length - prevValue.position.offset, - }, - }; - }, callee); + return calls.reduce( + (prevValue, currValue): Nodes.CallExpressionNode => { + return { + nodeType: Nodes.NodeType.CallExpression, + category: Nodes.NodeCategory.Expression, + callee: prevValue, + args: (currValue).args, + statement: statement, + position: { + ...prevValue.position, + length: + currValue.position.offset + + currValue.position.length - + prevValue.position.offset, + }, + }; + }, + callee + ); }); }; if (requireFunctionCall) return FunctionHead(); else return this.OPTION(FunctionHead) || callee; } ); - private unaryExpression = this.RULE('UnaryExpression', (): Nodes.UnaryExpressionNode => { - const { location, operator } = this.OR([ - { - ALT: () => { - return { - location: this.CONSUME(Tokens.TknNot), - operator: Nodes.UnaryExpressionOperator.UnaryNot, - }; - }, - }, - { - ALT: () => { - return { - location: this.CONSUME(Tokens.TknAdd), - operator: Nodes.UnaryExpressionOperator.UnaryPositive, - }; - }, - }, - { - ALT: () => { - return { - location: this.CONSUME(Tokens.TknSub), - operator: Nodes.UnaryExpressionOperator.UnaryNegative, - }; - }, - }, - ]); - const value = this.SUBRULE1(this.expression); - return this.ACTION((): Nodes.UnaryExpressionNode => { - return { - nodeType: Nodes.NodeType.UnaryExpression, - category: Nodes.NodeCategory.Expression, - operator: operator, - value: value, - position: { - offset: location.startOffset, - length: value.position.offset + value.position.length - location.startOffset, - line: location.startLine || 0, - col: location.startColumn || 0, - basePath: this.basePath, - file: this.file, - }, - }; - }); - }); - private parenthesisExpression = this.RULE( - 'ParenthesisExpression', - (): Nodes.ParenthesisExpressionNode => { - const location = this.CONSUME(Tokens.TknLParen); - const expression = this.SUBRULE(this.expression); - const close = this.CONSUME(Tokens.TknRParen); - return this.ACTION((): Nodes.ParenthesisExpressionNode => { - return { - nodeType: Nodes.NodeType.ParenthesisExpression, - category: Nodes.NodeCategory.Expression, - value: expression, - position: { - offset: location.startOffset, - length: close.endOffset! - location.startOffset + 1, - line: location.startLine || 0, - col: location.startColumn || 0, - basePath: this.basePath, - file: this.file, - }, - }; - }); - } - ); private wasmCallExpression = this.RULE( 'wasmCallExpression', (statement = false): Nodes.WasmCallExpressionNode => { @@ -1118,27 +1113,49 @@ class Parser extends EmbeddedActionsParser { }, }; }); + private parenthesisExpression = this.RULE( + 'ParenthesisExpression', + (): Nodes.ParenthesisExpressionNode => { + const location = this.CONSUME(Tokens.TknLParen); + const expression = this.SUBRULE(this.expression); + const close = this.CONSUME(Tokens.TknRParen); + return this.ACTION((): Nodes.ParenthesisExpressionNode => { + return { + nodeType: Nodes.NodeType.ParenthesisExpression, + category: Nodes.NodeCategory.Expression, + value: expression, + position: { + offset: location.startOffset, + length: close.endOffset! - location.startOffset + 1, + line: location.startLine || 0, + col: location.startColumn || 0, + basePath: this.basePath, + file: this.file, + }, + }; + }); + } + ); // Literals private literal = this.RULE('Literal', (): Nodes.Literal => { - return this.OR([ - { ALT: () => this.SUBRULE(this._literal) }, - { ALT: () => this.SUBRULE(this.functionDefinition) }, - ]); - }); - private _literal = this.RULE('_Literal', (): Nodes.Literal => { - return this.OR([ - { ALT: () => this.SUBRULE(this.stringLiteral) }, - { ALT: () => this.SUBRULE(this.i32Literal) }, - { ALT: () => this.SUBRULE(this.i64Literal) }, - { ALT: () => this.SUBRULE(this.u32Literal) }, - { ALT: () => this.SUBRULE(this.u64Literal) }, - { ALT: () => this.SUBRULE(this.f32Literal) }, - { ALT: () => this.SUBRULE(this.f64Literal) }, - { ALT: () => this.SUBRULE(this.numberLiteral) }, - { ALT: () => this.SUBRULE(this.constantLiteral) }, - { ALT: () => this.SUBRULE(this.arrayLiteral) }, - { ALT: () => this.SUBRULE(this.objectLiteral) }, - ]); + return this.OR( + this.c17 || + (this.c17 = [ + { ALT: () => this.SUBRULE(this.stringLiteral) }, + { ALT: () => this.SUBRULE(this.i32Literal) }, + { ALT: () => this.SUBRULE(this.i64Literal) }, + { ALT: () => this.SUBRULE(this.u32Literal) }, + { ALT: () => this.SUBRULE(this.u64Literal) }, + { ALT: () => this.SUBRULE(this.f32Literal) }, + { ALT: () => this.SUBRULE(this.f64Literal) }, + { ALT: () => this.SUBRULE(this.numberLiteral) }, + { ALT: () => this.SUBRULE(this.constantLiteral) }, + { ALT: () => this.SUBRULE(this.arrayLiteral) }, + { ALT: () => this.SUBRULE(this.objectLiteral) }, + { ALT: () => this.SUBRULE(this.genericFunctionDefinition) }, + { ALT: () => this.SUBRULE(this.functionDefinition) }, + ]) + ); }); private stringLiteral = this.RULE('StringLiteral', (): Nodes.StringLiteralNode => { const value = this.CONSUME(Tokens.TknString); @@ -1356,7 +1373,7 @@ class Parser extends EmbeddedActionsParser { { ALT: () => { const fieldValue = this.SUBRULE(this.variableUsageNode); - return { + return { nodeType: Nodes.NodeType.ObjectField, category: Nodes.NodeCategory.Literal, name: fieldValue.name, @@ -1423,7 +1440,7 @@ class Parser extends EmbeddedActionsParser { }); }); private variableDefinition = this.RULE('VariableDefinition', (): Nodes.VariableDefinition => { - return this.OR([{ ALT: () => this.SUBRULE(this.variableDefinitionNode) }]); + return this.SUBRULE(this.variableDefinitionNode); }); private variableDefinitionNode = this.RULE( 'VariableDefinitionNode', @@ -1463,12 +1480,15 @@ class Parser extends EmbeddedActionsParser { }); private memberAccessNode = this.RULE('MemberAccess', (): Nodes.MemberAccessNode => { // TODO: Allow Member Access Nodes On Any Expression - const parent = this.OR([ - { ALT: () => this.SUBRULE(this.variableUsageNode) }, - // { ALT: () => this.SUBRULE(this.parenthesisExpression) }, - // { ALT: () => this.SUBRULE(this.objectLiteral) }, - // { ALT: () => this.SUBRULE(this.callExpression, { ARGS: [false, true]}) }, - ]); + const parent = this.OR( + this.c20 || + (this.c20 = [ + { ALT: () => this.SUBRULE(this.variableUsageNode) }, + // { ALT: () => this.SUBRULE(this.parenthesisExpression) }, + // { ALT: () => this.SUBRULE(this.objectLiteral) }, + // { ALT: () => this.SUBRULE(this.callExpression, { ARGS: [false, true]}) }, + ]) + ); const property = this.SUBRULE(this.propertyUsageNode); return this.ACTION((): Nodes.MemberAccessNode => { return { @@ -1512,9 +1532,31 @@ class Parser extends EmbeddedActionsParser { }; }); }); + private genericFunctionDefinition = this.RULE( + 'GenericFunctionDefinition', + (): Nodes.FunctionLiteralNode => { + const location = this.CONSUME(Tokens.TknMarker); + const genericTypes = this.SUBRULE(this.genericType); + const functionDefinition = this.SUBRULE(this.functionDefinition); + return this.ACTION((): Nodes.FunctionLiteralNode => { + return { + ...functionDefinition, + genericTypes: genericTypes, + position: { + offset: location.startOffset, + length: + location.endOffset! - location.startOffset + 1 + functionDefinition.position.length, + line: location.startLine || 0, + col: location.startColumn || 0, + basePath: this.basePath, + file: this.file, + }, + }; + }); + } + ); private functionDefinition = this.RULE('FunctionDefinition', (): Nodes.FunctionLiteralNode => { const params: Nodes.ParameterNode[] = []; - const genericTypes = this.OPTION(() => this.SUBRULE(this.genericType)); const location = this.CONSUME(Tokens.TknLParen); this.MANY_SEP({ SEP: Tokens.TknComma, @@ -1559,7 +1601,7 @@ class Parser extends EmbeddedActionsParser { params: params, returnType: returnType, body: body, - genericTypes: genericTypes, + genericTypes: undefined, data: { _closure: new Set(), _varStack: new Map(), @@ -1853,7 +1895,7 @@ class Parser extends EmbeddedActionsParser { identifier: Nodes.TypeIdentifierNode; constraints: Nodes.TypeLiteral | undefined; }[] = []; - const location = this.CONSUME(Tokens.TknComparisonLessThan); + const location = this.CONSUME(Tokens.TknLeftArrow); const identifier = this.SUBRULE(this.typeIdentifier); const constraint = this.OPTION(() => { this.CONSUME(Tokens.TknEqual); @@ -1875,7 +1917,7 @@ class Parser extends EmbeddedActionsParser { constraints: constraint, }); }); - const close = this.CONSUME(Tokens.TknComparisonGreaterThan); + const close = this.CONSUME(Tokens.TknRightArrow); return this.ACTION((): Nodes.GenericTypeNode[] => { return generics.map((generic): Nodes.GenericTypeNode => { return { @@ -1931,6 +1973,7 @@ const parse = (lexingResult: ILexingResult, code: string, basePath: string, file basePath: basePath, file: file, }; + console.dir(parser.errors, { depth: null }); BriskCustomError(code, 'ParseError', message, position); } if (parsed == undefined) { diff --git a/src/Compiler/TypeChecker/Helpers.ts b/src/Compiler/TypeChecker/Helpers.ts index 9f46beb..c956c34 100644 --- a/src/Compiler/TypeChecker/Helpers.ts +++ b/src/Compiler/TypeChecker/Helpers.ts @@ -9,7 +9,6 @@ import { ParameterNode, PropertyUsageNode, TypeLiteral, - UnaryExpressionOperator, } from '../Types/ParseNodes'; import { TypeMap, TypeStack, VariableMap } from '../Types/AnalyzerNodes'; import { mapExpression } from './WasmTypes'; @@ -128,7 +127,7 @@ export const typeCompatible = ( typeStacks: TypeStack[], typeA: TypeLiteral, typeB: TypeLiteral, - throwError = false + throwError = 0 ): boolean => { // Resolve Both Types const resolvedA = resolveType(rawProgram, typePool, typeStack, typeStacks, typeA); @@ -141,12 +140,12 @@ export const typeCompatible = ( typeStacks, resolvedA, resolvedB, - false + 0 ); if (typesEqual) return true; // TODO: Ensure Types Are Compatible // Throw Error Or Return False - if (throwError) { + if (throwError == 1) { BriskTypeError( rawProgram, BriskErrorType.IncompatibleTypes, @@ -156,6 +155,8 @@ export const typeCompatible = ( ], resolvedB.position ); + } else if (throwError == 2) { + throw 'Type Mismatch'; } return false; }; @@ -167,7 +168,7 @@ export const strictTypeEqual = ( typeStacks: TypeStack[], typeA: TypeLiteral, typeB: TypeLiteral, - throwError = true + throwError = 1 ) => { // Resolve Both Types const resolvedA = resolveType(rawProgram, typePool, typeStack, typeStacks, typeA); @@ -178,15 +179,20 @@ export const strictTypeEqual = ( resolvedB.nodeType == NodeType.TypePrimLiteral ) { // Throw An Error If The Types Are Not The Same And ThrowError Is True - if (resolvedA.name != resolvedB.name && throwError) { - BriskTypeError( - rawProgram, - BriskErrorType.TypeMisMatch, - [resolvedA.name, resolvedB.name], - resolvedA.position - ); + if (resolvedA.name != resolvedB.name) { + if (throwError == 1) { + BriskTypeError( + rawProgram, + BriskErrorType.TypeMisMatch, + [resolvedA.name, resolvedB.name], + resolvedB.position + ); + } else if (throwError == 2) { + throw 'Type Mismatch'; + } + return false; } - return resolvedA.name == resolvedB.name; + return true; } // Return False Normally return false; @@ -199,7 +205,7 @@ export const typeEqual = ( typeStacks: TypeStack[], typeA: TypeLiteral, typeB: TypeLiteral, - throwError = true + throwError = 1 ): boolean => { // Resolve Both Types const resolvedA = resolveType(rawProgram, typePool, typeStack, typeStacks, typeA); @@ -213,15 +219,20 @@ export const typeEqual = ( resolvedB.nodeType == NodeType.TypePrimLiteral ) { // Throw An Error If The Types Are Not The Same And ThrowError Is True - if (resolvedA.name != resolvedB.name && throwError) { - BriskTypeError( - rawProgram, - BriskErrorType.TypeMisMatch, - [resolvedA.name, resolvedB.name], - typeA.position - ); + if (resolvedA.name != resolvedB.name) { + if (throwError == 1) { + BriskTypeError( + rawProgram, + BriskErrorType.TypeMisMatch, + [resolvedA.name, resolvedB.name], + typeA.position + ); + } else if (throwError == 2) { + throw 'Type mismatch'; + } + return false; } - return resolvedA.name == resolvedB.name; + return true; } if ( strictTypeEqual(rawProgram, typePool, typeStack, typeStacks, resolvedA, resolvedB, throwError) @@ -317,7 +328,7 @@ export const typeEqual = ( // Handle Lengths if (resolvedA.length != undefined && resolvedB.length != undefined) { // Check That If A Length Is Specified B Length Should Be Specified - if (throwError) { + if (throwError == 1) { BriskTypeError( rawProgram, BriskErrorType.TypeMisMatch, @@ -327,13 +338,15 @@ export const typeEqual = ( ], typeA.position ); + } else if (throwError == 2) { + throw 'Type Mismatch'; } return false; } // If A Length Is Specified Then B Length Should Be Same if (resolvedA.length != undefined && resolvedA.length.value != resolvedB.length?.value) { // Check That If A Length Is Specified B Length Should Be Specified - if (throwError) { + if (throwError == 1) { BriskTypeError( rawProgram, BriskErrorType.TypeMisMatch, @@ -343,6 +356,8 @@ export const typeEqual = ( ], typeA.position ); + } else if (throwError == 2) { + throw 'Type Mismatch'; } return false; } @@ -393,18 +408,23 @@ export const typeEqual = ( } } // Return Valid - if (!valid && throwError) { - BriskTypeError( - rawProgram, - BriskErrorType.TypeMisMatch, - [ - nameType(rawProgram, typePool, typeStack, typeStacks, resolvedA), - nameType(rawProgram, typePool, typeStack, typeStacks, resolvedB), - ], - resolvedB.position - ); + if (!valid) { + if (throwError == 1) { + BriskTypeError( + rawProgram, + BriskErrorType.TypeMisMatch, + [ + nameType(rawProgram, typePool, typeStack, typeStacks, resolvedA), + nameType(rawProgram, typePool, typeStack, typeStacks, resolvedB), + ], + resolvedB.position + ); + } else if (throwError == 2) { + throw 'Type Mismatch'; + } + return false; } - return valid; + return true; } } // Handle Union Types @@ -412,15 +432,13 @@ export const typeEqual = ( // If Type A Is Union // Check Each Type Value for (const type of resolvedA.types) { - if (typeEqual(rawProgram, typePool, typeStack, typeStacks, type, resolvedB, false)) - return true; + if (typeEqual(rawProgram, typePool, typeStack, typeStacks, type, resolvedB, 0)) return true; } } else if (resolvedB.nodeType == NodeType.TypeUnionLiteral) { // If Type B Is Union // Check Each Type Value for (const type of resolvedB.types) { - if (typeEqual(rawProgram, typePool, typeStack, typeStacks, type, resolvedA, false)) - return true; + if (typeEqual(rawProgram, typePool, typeStack, typeStacks, type, resolvedA, 0)) return true; } } // Handle Function Types @@ -433,7 +451,7 @@ export const typeEqual = ( (resolvedA.genericTypes == undefined && resolvedB.genericTypes != undefined) || (resolvedA.genericTypes != undefined && resolvedB.genericTypes == undefined) ) { - if (throwError) { + if (throwError == 1) { BriskTypeError( rawProgram, BriskErrorType.TypeMisMatch, @@ -443,6 +461,8 @@ export const typeEqual = ( ], resolvedB.position ); + } else if (throwError == 2) { + throw 'Type Mismatch'; } return false; } @@ -459,7 +479,7 @@ export const typeEqual = ( } // Check That Params Are Same if (resolvedA.params.length != resolvedB.params.length) { - if (throwError) { + if (throwError == 1) { BriskTypeError( rawProgram, BriskErrorType.TypeMisMatch, @@ -469,6 +489,8 @@ export const typeEqual = ( ], resolvedB.position ); + } else if (throwError == 2) { + throw 'Type Mismatch'; } return false; } @@ -491,7 +513,7 @@ export const typeEqual = ( ); } // Throw Error Or Return False - if (throwError) { + if (throwError == 1) { BriskTypeError( rawProgram, BriskErrorType.TypeMisMatch, @@ -501,6 +523,8 @@ export const typeEqual = ( ], resolvedB.position ); + } else if (throwError == 2) { + throw 'Type Mismatch'; } return false; }; @@ -538,7 +562,7 @@ export const resolveType = ( typeStacks, resolvedType, checkType, - false + 0 ); }) ) { @@ -624,33 +648,11 @@ export const getExpressionType = ( props?: { mutable?: boolean } ): TypeLiteral => { switch (expression.nodeType) { - case NodeType.ComparisonExpression: - return createPrimType(expression.position, 'Boolean'); - case NodeType.ArithmeticExpression: - return getExpressionType( - rawProgram, - varPool, - typePool, - typeStack, - typeStacks, - expression.lhs - ); - case NodeType.UnaryExpression: - if (expression.operator == UnaryExpressionOperator.UnaryNot) { - return createPrimType(expression.position, 'Boolean'); - } else if ( - expression.operator == UnaryExpressionOperator.UnaryNegative || - expression.operator == UnaryExpressionOperator.UnaryPositive - ) { - return getExpressionType( - rawProgram, - varPool, - typePool, - typeStack, - typeStacks, - expression.value - ); - } + case NodeType.InfixExpression: + case NodeType.PrefixExpression: + case NodeType.PostfixExpression: + // TODO: Ensure we cannot get over here and are TypeSafe + throw 'Unreachable'; case NodeType.ParenthesisExpression: return getExpressionType( rawProgram, diff --git a/src/Compiler/TypeChecker/index.ts b/src/Compiler/TypeChecker/index.ts index 10d34a6..94ed6d4 100644 --- a/src/Compiler/TypeChecker/index.ts +++ b/src/Compiler/TypeChecker/index.ts @@ -1,22 +1,21 @@ import Node, { - // ComparisonExpressionOperator, + CallExpressionNode, EnumVariantNode, GenericTypeNode, NodeCategory, NodeType, ProgramNode, TypeLiteral, - UnaryExpressionOperator, } from '../Types/ParseNodes'; import { ExportMap, VariableData } from '../Types/AnalyzerNodes'; import { TypeCheckProperties } from 'Compiler/Types/TypeNodes'; import { mapExpression } from './WasmTypes'; -import { createPrimType, createUnionType } from '../Helpers/typeBuilders'; +import { createPrimType } from '../Helpers/typeBuilders'; import { BriskError, BriskSyntaxError, BriskTypeError } from '../Errors/Compiler'; import { BriskErrorType } from '../Errors/Errors'; import { getExpressionType, nameType, resolveType, typeCompatible, typeEqual } from './Helpers'; -import { getVariable, setType, setVariable } from '../Helpers/Helpers'; +import { getVariable, getVariableReference, setType, setVariable } from '../Helpers/Helpers'; // TODO: Implement Type Narrowing // TODO: Implement Values As Types // TODO: Support Wasm Interface Types @@ -28,6 +27,8 @@ const typeCheckNode = >( importData: Map, // Stacks properties: TypeCheckProperties, + // Flag + throwTypeError: number, // Nodes node: T ): T => { @@ -43,13 +44,24 @@ const typeCheckNode = >( // Stacks _varStack, _typeStack, + // Misc + operatorScope, // TypeChecking Information _returnType, } = properties; const _typeCheckNode = <_T extends Exclude>( childNode: _T, - props: Partial = properties - ): _T => typeCheckNode(rawProgram, importData, { ...properties, ...props }, childNode); + props: Partial = properties, + throwTypeErr = throwTypeError + ): _T => { + return typeCheckNode( + rawProgram, + importData, + { ...properties, ...props }, + throwTypeErr, + childNode + ); + }; // Match The Node For Analysis switch (node.nodeType) { // Statements @@ -63,7 +75,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.condition), - createPrimType(node.condition.position, 'Boolean') + createPrimType(node.condition.position, 'Boolean'), + throwTypeError ); // Analyze Body node.body = _typeCheckNode(node.body); @@ -80,7 +93,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.condition), - createPrimType(node.condition.position, 'Boolean') + createPrimType(node.condition.position, 'Boolean'), + throwTypeError ); // Analyze Body node.body = _typeCheckNode(node.body); @@ -97,7 +111,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.condition), - createPrimType(node.condition.position, 'Boolean') + createPrimType(node.condition.position, 'Boolean'), + throwTypeError ); return node; case NodeType.ContinueStatement: @@ -112,7 +127,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.condition), - createPrimType(node.condition.position, 'Boolean') + createPrimType(node.condition.position, 'Boolean'), + throwTypeError ); return node; case NodeType.FlagStatement: @@ -132,7 +148,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.args[0]), - createPrimType(node.args[0].position, 'String') + createPrimType(node.args[0].position, 'String'), + throwTypeError ); typeEqual( rawProgram, @@ -140,7 +157,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.args[1]), - createPrimType(node.args[1].position, 'String') + createPrimType(node.args[1].position, 'String'), + throwTypeError ); } else if (node.args.length != 0) { BriskTypeError( @@ -164,21 +182,33 @@ const typeCheckNode = >( }); return node; case NodeType.ImportStatement: { - // TODO: Make it so a destructure imports everything and a name imports it as an object - // Get The Export Name - const moduleMap = importData.get(node.source.value); - if (moduleMap == undefined) - return BriskError(rawProgram, BriskErrorType.CompilerError, [], node.position); - const exportData = moduleMap.get(node.variable.name); - if (exportData == undefined) - return BriskError(rawProgram, BriskErrorType.CompilerError, [], node.position); // TODO: Allow Importing Types - // Set Variable Type - setVariable(_variables, node.variable, { - type: exportData.baseType, - baseType: exportData.baseType, - global: true, - }); + // TODO: Handle Import Objects + if (!Array.isArray(node.variable)) { + return BriskError( + rawProgram, + BriskErrorType.FeatureNotYetImplemented, + [], + node.variable.position + ); + } else { + node.variable = node.variable.map((label) => { + // Get The Export Name + const moduleMap = importData.get(node.source.value); + if (moduleMap == undefined) + return BriskError(rawProgram, BriskErrorType.CompilerError, [], node.position); + const exportData = moduleMap.get(label.variable.name); + if (exportData == undefined) + return BriskError(rawProgram, BriskErrorType.CompilerError, [], node.position); + // Set Variable Type + setVariable(_variables, label.variable, { + type: exportData.baseType, + baseType: exportData.baseType, + global: true, + }); + return label; + }); + } // Return Node return node; } @@ -330,15 +360,6 @@ const typeCheckNode = >( } // Analyze Type node.varType = _typeCheckNode(node.varType); - // Type Check - typeEqual( - rawProgram, - _types, - _typeStack, - _typeStacks, - node.varType, - getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.value) - ); // Set Variable Type To Be More Accurate setVariable(_variables, node.name, { type: node.varType, @@ -346,37 +367,73 @@ const typeCheckNode = >( }); // Analyze Value node.value = _typeCheckNode(node.value); - // Return Node - return node; - case NodeType.AssignmentStatement: { - // Analyze Node - node.value = _typeCheckNode(node.value); - node.name = _typeCheckNode(node.name); - // Get The Type Of The Variable - const varType = getExpressionType( - rawProgram, - _variables, - _types, - _typeStack, - _typeStacks, - node.name, - { mutable: true } - ); - // Type Check Node + // Type Check typeEqual( rawProgram, _types, _typeStack, _typeStacks, - varType, - getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.value) + node.varType, + getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.value), + throwTypeError ); // Return Node return node; - } - case NodeType.PostFixStatement: { - // Analyze Node + case NodeType.AssignmentStatement: { + // Analyze The Inputs + node.value = _typeCheckNode(node.value); node.name = _typeCheckNode(node.name); + // Find The Operator + const opFuncs = operatorScope.ASSIGNMENT.get(node.operatorImage) ?? []; + const opFunc = opFuncs + .map((opFuncName) => { + // Get Callee Type + const funcCall: CallExpressionNode = { + nodeType: NodeType.CallExpression, + category: NodeCategory.Expression, + callee: { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + reference: getVariableReference( + rawProgram, + { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + }, + { + pool: _variables, + stack: _varStack, + stacks: _varStacks, + } + ), + }, + args: [node.name, node.value], + statement: false, + position: node.position, + }; + // Check If It Works + try { + _typeCheckNode(funcCall, {}, 2); + return funcCall; + } catch (e) { + return undefined; + } + }) + .find((n) => n != undefined); + // Throw If We Did Not Find Anything + if (opFunc == undefined) { + return BriskTypeError( + rawProgram, + BriskErrorType.UnknownOperator, + [node.operatorImage], + node.position + ); + } + // Ensure The Function Returns The Correct Type // Get The Type Of The Variable const varType = getExpressionType( rawProgram, @@ -388,24 +445,18 @@ const typeCheckNode = >( { mutable: true } ); // Type Check Node - typeCompatible( + typeEqual( rawProgram, _types, _typeStack, _typeStacks, varType, - createUnionType( - node.position, - createPrimType(node.position, 'u32'), - createPrimType(node.position, 'u64'), - createPrimType(node.position, 'i32'), - createPrimType(node.position, 'i64'), - createPrimType(node.position, 'f32'), - createPrimType(node.position, 'f64'), - createPrimType(node.position, 'Number') - ) + getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, opFunc), + throwTypeError ); // Return Node + node.operatorImage = '='; + node.value = opFunc; return node; } case NodeType.ReturnStatement: { @@ -434,7 +485,15 @@ const typeCheckNode = >( ); } // Type Check Return - typeEqual(rawProgram, _types, _typeStack, _typeStacks, _returnType, returnValueType); + typeEqual( + rawProgram, + _types, + _typeStack, + _typeStacks, + _returnType, + returnValueType, + throwTypeError + ); return node; } case NodeType.EnumDefinitionStatement: @@ -473,58 +532,186 @@ const typeCheckNode = >( } return node; // Expressions - // TODO: Remove Operator TypeChecking - case NodeType.ArithmeticExpression: - throw 'Unreachable'; - // // Check That Types Are Numeric - // typeEqual( - // rawProgram, - // _types, - // _typeStack, - // _typeStacks, - // getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.lhs), - // createUnionType( - // node.lhs.position, - // createPrimType(node.lhs.position, 'f32'), - // createPrimType(node.lhs.position, 'f64'), - // createPrimType(node.lhs.position, 'i32'), - // createPrimType(node.lhs.position, 'i64'), - // createPrimType(node.lhs.position, 'u32'), - // createPrimType(node.lhs.position, 'u64'), - // createPrimType(node.lhs.position, 'Number') - // ) - // ); - case NodeType.ComparisonExpression: - throw 'Unreachable'; - // // Check Both Type A And B Are The Same - // typeEqual( - // rawProgram, - // _types, - // _typeStack, - // _typeStacks, - // getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.lhs), - // getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.rhs) - // ); - // // Check Individual - // if ( - // node.operator == ComparisonExpressionOperator.ComparisonAnd || - // node.operator == ComparisonExpressionOperator.ComparisonOr - // ) - // typeEqual( - // rawProgram, - // _types, - // _typeStack, - // _typeStacks, - // getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.lhs), - // createPrimType(node.position, 'Boolean') - // ); - // // Return Node - // return node; + case NodeType.InfixExpression: { + // Analyze The Inputs + node.lhs = _typeCheckNode(node.lhs); + node.rhs = _typeCheckNode(node.rhs); + // Find The Operator + const opFuncs = operatorScope.INFIX.get(node.operatorImage) ?? []; + const opFunc = opFuncs + .map((opFuncName) => { + // Get Callee Type + const funcCall: CallExpressionNode = { + nodeType: NodeType.CallExpression, + category: NodeCategory.Expression, + callee: { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + reference: getVariableReference( + rawProgram, + { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + }, + { + pool: _variables, + stack: _varStack, + stacks: _varStacks, + } + ), + }, + args: [node.rhs, node.lhs], + statement: false, + position: node.position, + }; + // Check If It Works + try { + _typeCheckNode(funcCall, {}, 2); + return funcCall; + } catch (e) { + return undefined; + } + }) + .find((n) => n != undefined); + // Throw If We Did Not Find Anything + if (opFunc == undefined) { + return BriskTypeError( + rawProgram, + BriskErrorType.UnknownOperator, + [node.operatorImage], + node.position + ); + } + // Analyze The Function Call + // TODO: Make This Type Safe + //@ts-ignore + return _typeCheckNode(opFunc); + } + case NodeType.PostfixExpression: { + // Analyze The Inputs + node.value = _typeCheckNode(node.value); + // Find The Operator + const opFuncs = operatorScope.POSTFIX.get(node.operatorImage) ?? []; + const opFunc = opFuncs + .map((opFuncName) => { + // Get Callee Type + const funcCall: CallExpressionNode = { + nodeType: NodeType.CallExpression, + category: NodeCategory.Expression, + callee: { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + reference: getVariableReference( + rawProgram, + { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + }, + { + pool: _variables, + stack: _varStack, + stacks: _varStacks, + } + ), + }, + args: [node.value], + statement: node.statement, + position: node.position, + }; + // Check If It Works + try { + _typeCheckNode(funcCall, {}, 2); + return funcCall; + } catch (e) { + return undefined; + } + }) + .find((n) => n != undefined); + // Throw If We Did Not Find Anything + if (opFunc == undefined) { + return BriskTypeError( + rawProgram, + BriskErrorType.UnknownOperator, + [node.operatorImage], + node.position + ); + } + // Analyze The Function Call + // TODO: Make This Type Safe + //@ts-ignore + return _typeCheckNode(opFunc); + } + case NodeType.PrefixExpression: { + // Analyze The Inputs + node.value = _typeCheckNode(node.value); + // Find The Operator + const opFuncs = operatorScope.PREFIX.get(node.operatorImage) ?? []; + const opFunc = opFuncs + .map((opFuncName) => { + // Get Callee Type + const funcCall: CallExpressionNode = { + nodeType: NodeType.CallExpression, + category: NodeCategory.Expression, + callee: { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + reference: getVariableReference( + rawProgram, + { + nodeType: NodeType.VariableUsage, + category: NodeCategory.Variable, + name: opFuncName, + position: node.position, + }, + { + pool: _variables, + stack: _varStack, + stacks: _varStacks, + } + ), + }, + args: [node.value], + statement: false, + position: node.position, + }; + // Check If It Works + try { + _typeCheckNode(funcCall, {}, 2); + return funcCall; + } catch (e) { + return undefined; + } + }) + .find((n) => n != undefined); + // Throw If We Did Not Find Anything + if (opFunc == undefined) { + return BriskTypeError( + rawProgram, + BriskErrorType.UnknownOperator, + [node.operatorImage], + node.position + ); + } + // Analyze The Function Call + // TODO: Make This Type Safe + //@ts-ignore + return _typeCheckNode(opFunc); + } case NodeType.TypeCastExpression: // Analyze Properties node.typeLiteral = _typeCheckNode(node.typeLiteral); node.value = _typeCheckNode(node.value); - // Check if type is compatible + // TODO: I want typeCasting in brisk to be unsafe and support casting between any types by just shoving the raw bits in place. typeCompatible( rawProgram, _types, @@ -535,34 +722,6 @@ const typeCheckNode = >( ); // Return Node return node; - case NodeType.UnaryExpression: { - // Check What Operator Is Being Used - let expectedType: TypeLiteral; - if (node.operator == UnaryExpressionOperator.UnaryNot) { - expectedType = createPrimType(node.position, 'Boolean'); - } else { - // -, + - expectedType = createUnionType( - node.position, - createPrimType(node.position, 'f32'), - createPrimType(node.position, 'f64'), - createPrimType(node.position, 'i32'), - createPrimType(node.position, 'i64'), - createPrimType(node.position, 'u32'), - createPrimType(node.position, 'u64'), - createPrimType(node.position, 'Number') - ); - } - typeEqual( - rawProgram, - _types, - _typeStack, - _typeStacks, - expectedType, - getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.value) - ); - return node; - } case NodeType.ParenthesisExpression: node.value = _typeCheckNode(node.value); return node; @@ -621,7 +780,7 @@ const typeCheckNode = >( _typeStacks, createPrimType(param.position, 'Void'), param, - false + 0 ) ) { break; @@ -651,7 +810,15 @@ const typeCheckNode = >( if (!genericValues.has(param.name)) { // Ensure Generic Type Works if (param.constraints != undefined) - typeEqual(rawProgram, _types, _typeStack, _typeStacks, param.constraints, argType); + typeEqual( + rawProgram, + _types, + _typeStack, + _typeStacks, + param.constraints, + argType, + throwTypeError + ); // Set Generic Value genericValues.set(param.name, argType); } @@ -659,7 +826,7 @@ const typeCheckNode = >( argType = genericValues.get(param.name)!; } // Check That Types Are Same - typeEqual(rawProgram, _types, _typeStack, _typeStacks, param, argType); + typeEqual(rawProgram, _types, _typeStack, _typeStacks, param, argType, throwTypeError); } // Return Node return node; @@ -696,7 +863,7 @@ const typeCheckNode = >( _typeStacks, createPrimType(param.position, 'Void'), param, - false + 0 ) ) { break; @@ -726,7 +893,15 @@ const typeCheckNode = >( if (!genericValues.has(param.name)) { // Ensure Generic Type Works if (param.constraints != undefined) - typeEqual(rawProgram, _types, _typeStack, _typeStacks, param.constraints, argType); + typeEqual( + rawProgram, + _types, + _typeStack, + _typeStacks, + param.constraints, + argType, + throwTypeError + ); // Set Generic Value genericValues.set(param.name, argType); } @@ -734,7 +909,7 @@ const typeCheckNode = >( argType = genericValues.get(param.name)!; } // Check That Types Are Same - typeEqual(rawProgram, _types, _typeStack, _typeStacks, param, argType); + typeEqual(rawProgram, _types, _typeStack, _typeStacks, param, argType, throwTypeError); } // Return Node return node; @@ -807,7 +982,7 @@ const typeCheckNode = >( _typeStacks, node.returnType, createPrimType(node.position, 'Void'), - false + 0 ) ) { // Type Check Return @@ -817,7 +992,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, node.returnType, - getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.body) + getExpressionType(rawProgram, _variables, _types, _typeStack, _typeStacks, node.body), + throwTypeError ); } } @@ -830,7 +1006,8 @@ const typeCheckNode = >( _typeStack, _typeStacks, node.returnType, - createPrimType(node.position, 'Void') + createPrimType(node.position, 'Void'), + throwTypeError ); } // Return Node @@ -994,9 +1171,11 @@ const typeCheckProgram = ( _varStack: program.data._varStack, _typeStack: program.data._typeStack, loopDepth: program.data.loopDepth, + operatorScope: program.data.operatorScope, // TypeChecking Information _returnType: undefined, }, + 1, childNode ); }), diff --git a/src/Compiler/Types/AnalyzerNodes.ts b/src/Compiler/Types/AnalyzerNodes.ts index 4170f82..9e6e16f 100644 --- a/src/Compiler/Types/AnalyzerNodes.ts +++ b/src/Compiler/Types/AnalyzerNodes.ts @@ -7,6 +7,12 @@ interface ImportItem { position: Position; } export type ExportMap = Map; +export interface OperatorStore { + PREFIX: Map; + INFIX: Map; + POSTFIX: Map; + ASSIGNMENT: Map; +} export interface AnalyzerProperties { // Pools _imports: ImportMap; @@ -21,11 +27,7 @@ export interface AnalyzerProperties { _varStack: VariableStack; _typeStack: TypeStack; // Misc - operatorScope: { - PREFIX: Map; - INFIX: Map; - POSTFIX: Map; - }; + operatorScope: OperatorStore; // Flags loopDepth: undefined | number; } diff --git a/src/Compiler/Types/LexerNodes.ts b/src/Compiler/Types/LexerNodes.ts index db7b13f..9cb0128 100644 --- a/src/Compiler/Types/LexerNodes.ts +++ b/src/Compiler/Types/LexerNodes.ts @@ -5,13 +5,15 @@ export const enum LexerTokenType { Literals = 'Literals', Separators = 'Separators', Operators = 'Operators', - Reserved = 'Reserved', - PostFixOperators = 'PostFixOperators', - ComparisonOperators = 'ComparisonOperators', + ExpressionOperators = 'ExpressionOperators', + StatementOperators = 'StatementOperators', AssignmentOperators = 'AssignmentOperators', - ArithmeticOperators = 'ArithmeticOperators', - LogicalOperators = 'LogicalOperators', - TypeOperators = 'TypeOperators', + Operators180 = 'Operators180', + Operators170 = 'Operators170', + Operators160 = 'Operators160', + Operators150 = 'Operators150', + Operators140 = 'Operators140', + Reserved = 'Reserved', // Keywords ImportToken = 'ImportToken', WasmToken = 'WasmToken', @@ -42,30 +44,20 @@ export const enum LexerTokenType { Period = 'Period', Colon = 'Colon', Semicolon = 'Semicolon', + ThickArrow = 'ThickArrow', WhiteSpace = 'Space', // Operators - TknPostFixIncrement = 'PostfixIncrement', - TknPostFixDecrement = 'PostfixDecrement', - TknComparisonEqual = 'TknComparisonEqual', - TknComparisonNotEqual = 'TknComparisonNotEqual', - TknComparisonLessThanOrEqual = 'TknComparisonLessThanOrEqual', - TknComparisonGreaterThanOrEqual = 'TknComparisonGreaterThanOrEqual', - TknComparisonGreaterThan = 'TknComparisonGreaterThan', - TknComparisonLessThan = 'TknComparisonLessThan', - TknComparisonAnd = 'TknComparisonAnd', - TknComparisonOr = 'TknComparisonOr', - TknArrow = 'TknArrow', - - TknNot = 'TknNot', - + TknOperator180 = 'TknOperator180', + TknOperator170 = 'TknOperator170', + TknOperator160 = 'TknOperator160', + TknOperator150 = 'TknOperator150', + TknOperator140 = 'TknOperator140', + TknLeftArrow = 'TknLeftArrow', + TknRightArrow = 'TknRightArrow', TknEqual = 'TknEqual', - TknAdd = 'TknAdd', - TknSubtract = 'TknSubtract', - TknDivision = 'TknDivision', - TknMultiply = 'TknMultiply', - TknPower = 'TknPower', - TknUnion = 'TypeUnion', TknQuestionMark = 'TknQuestionMark', + TknUnion = 'TknUnion', + TknAssignmentOperator = 'TknAssignmentOperator', // Literals TknStringLiteral = 'String', TknI32Literal = 'I32', @@ -89,5 +81,6 @@ export const enum LexerTokenType { TknFlag = 'TknFlag', TknComment = 'TknComment', + TknMarker = 'TknMarker', TknIdentifier = 'TknIdentifier', } diff --git a/src/Compiler/Types/ParseNodes.ts b/src/Compiler/Types/ParseNodes.ts index b2722f4..aeed861 100644 --- a/src/Compiler/Types/ParseNodes.ts +++ b/src/Compiler/Types/ParseNodes.ts @@ -20,14 +20,13 @@ export const enum NodeType { DeclarationStatement, AssignmentStatement, ReturnStatement, - PostFixStatement, EnumDefinitionStatement, // Enums EnumVariant, // Expressions - ComparisonExpression, - ArithmeticExpression, - UnaryExpression, + InfixExpression, + PostfixExpression, + PrefixExpression, ParenthesisExpression, TypeCastExpression, CallExpression, @@ -83,7 +82,7 @@ export interface ProgramNode { category: NodeCategory.General; name: string; body: Statement[]; - data: Omit; + data: Omit; position: Position; } // Statements @@ -105,7 +104,7 @@ export type Statement = | ReturnStatementNode | EnumDefinitionStatementNode | EnumVariantNode - | PostFixStatementNode + | PostfixExpressionNode | CallExpressionNode | WasmCallExpressionNode; export interface IfStatementNode { @@ -176,10 +175,14 @@ export interface BlockStatementNode { }; position: Position; } +export interface ImportLabelNode { + flag: FlagNode | undefined; + variable: VariableDefinitionNode; +} export interface ImportStatementNode { nodeType: NodeType.ImportStatement; category: NodeCategory.Statement; - variable: VariableDefinition; + variable: VariableDefinition | ImportLabelNode[]; source: StringLiteralNode; position: Position; } @@ -223,6 +226,7 @@ export interface AssignmentStatementNode { category: NodeCategory.Statement; name: VariableUsage; value: Expression; + operatorImage: string; position: Position; } export interface ReturnStatementNode { @@ -234,17 +238,6 @@ export interface ReturnStatementNode { }; position: Position; } -export const enum PostFixOperator { - Increment, - Decrement, -} -export interface PostFixStatementNode { - nodeType: NodeType.PostFixStatement; - category: NodeCategory.Statement; - operator: PostFixOperator; - name: VariableUsage; - position: Position; -} // Enums export interface EnumDefinitionStatementNode { nodeType: NodeType.EnumDefinitionStatement; @@ -265,62 +258,36 @@ export interface EnumVariantNode { value: undefined | Expression | TypeLiteral[]; position: Position; } -// Expression Symbols -export const enum ComparisonExpressionOperator { - ComparisonEqual, - ComparisonNotEqual, - ComparisonLessThan, - ComparisonGreaterThan, - ComparisonLessThanOrEqual, - ComparisonGreaterThanOrEqual, - ComparisonAnd, - ComparisonOr, -} -export const enum ArithmeticExpressionOperator { - ArithmeticAdd, - ArithmeticSub, - ArithmeticMul, - ArithmeticDiv, - ArithmeticPow, -} -export const enum UnaryExpressionOperator { - UnaryNot, - UnaryPositive, - UnaryNegative, -} // Expressions export type Expression = - | ComparisonExpressionNode - | ArithmeticExpressionNode - | UnaryExpressionNode + | InfixExpressionNode + | PostfixExpressionNode + | PrefixExpressionNode | ParenthesisExpressionNode | TypeCastExpression | CallExpressionNode | WasmCallExpressionNode | Atom; - -export interface ComparisonExpressionNode { - nodeType: NodeType.ComparisonExpression; +export interface InfixExpressionNode { + nodeType: NodeType.InfixExpression; category: NodeCategory.Expression; lhs: Expression; - operator: ComparisonExpressionOperator; operatorImage: string; rhs: Expression; position: Position; } -export interface ArithmeticExpressionNode { - nodeType: NodeType.ArithmeticExpression; +export interface PostfixExpressionNode { + nodeType: NodeType.PostfixExpression; category: NodeCategory.Expression; - lhs: Expression; - operator: ArithmeticExpressionOperator; operatorImage: string; - rhs: Expression; + value: Expression; + statement: boolean; position: Position; } -export interface UnaryExpressionNode { - nodeType: NodeType.UnaryExpression; +export interface PrefixExpressionNode { + nodeType: NodeType.PrefixExpression; category: NodeCategory.Expression; - operator: UnaryExpressionOperator; + operatorImage: string; value: Expression; position: Position; } diff --git a/src/Compiler/Types/TypeNodes.ts b/src/Compiler/Types/TypeNodes.ts index 5009241..2d4133e 100644 --- a/src/Compiler/Types/TypeNodes.ts +++ b/src/Compiler/Types/TypeNodes.ts @@ -2,7 +2,7 @@ import { AnalyzerProperties } from './AnalyzerNodes'; import { TypeLiteral } from './ParseNodes'; // Properties -export interface TypeCheckProperties extends Omit { +export interface TypeCheckProperties extends AnalyzerProperties { // TypeChecking Properties _returnType: undefined | TypeLiteral; } diff --git a/src/wasmBuilder/Build/Expression.ts b/src/wasmBuilder/Build/Expression.ts index 1251039..9e1dd0d 100644 --- a/src/wasmBuilder/Build/Expression.ts +++ b/src/wasmBuilder/Build/Expression.ts @@ -5,7 +5,7 @@ import { globalRefIdentifier, typeRefIdentifier, } from '../Types/Nodes'; -import { ieee754, signedLEB128, unsignedLEB128 } from './Utils'; +import { encodeFloat32, encodeFloat64, signedLEB128, unsignedLEB128 } from './Utils'; // Expressions export const unreachableExpression = (): ResolvedBytes => [0x00]; // Wasm Unreachable Instruction export const nopExpression = (): ResolvedBytes => [0x01]; // Wasm nop Instruction @@ -380,7 +380,7 @@ export const i64_Store32Expression = ( 0, // Don't Align ...unsignedLEB128(offset), // The Offset ]; -export const memory_SizeExpression = (): ResolvedBytes => [0x3f,0x00]; // Wasm memory.size Instruction +export const memory_SizeExpression = (): ResolvedBytes => [0x3f, 0x00]; // Wasm memory.size Instruction export const memory_GrowExpression = (body: UnresolvedBytes): UnresolvedBytes => [ ...body, // Body Content 0x40, // Wasm Memory.Grow Instruction @@ -403,11 +403,11 @@ export const i64_ConstExpression = (value: number | bigint): ResolvedBytes => { }; export const f32_ConstExpression = (value: number): ResolvedBytes => [ 0x43, // Wasm f32.Const Instruction - ...ieee754(value), + ...encodeFloat32(value), ]; export const f64_ConstExpression = (value: number): ResolvedBytes => [ 0x44, // Wasm f64.Const Instruction - ...ieee754(value), + ...encodeFloat64(value), ]; export const i32_eqzExpression = (value: UnresolvedBytes): UnresolvedBytes => [ ...value, // Value Content diff --git a/src/wasmBuilder/Build/Utils.ts b/src/wasmBuilder/Build/Utils.ts index 2c44a59..3d64c98 100644 --- a/src/wasmBuilder/Build/Utils.ts +++ b/src/wasmBuilder/Build/Utils.ts @@ -5,10 +5,19 @@ export const encodeString = (str: string): number[] => [ ...unsignedLEB128(str.length), ..._encodeString(str), ]; -export const ieee754 = (n: number) => { - const buf = Buffer.allocUnsafe(4); - buf.writeFloatLE(n, 0); - return Uint8Array.from(buf); +export const encodeFloat32 = (n: number) => { + // Create an ArrayBuffer with a size in bytes + const buffer = new ArrayBuffer(4); + const view = new DataView(buffer); + view.setFloat32(0, n, true); + return new Uint8Array(buffer); +}; +export const encodeFloat64 = (n: number) => { + // Create an ArrayBuffer with a size in bytes + const buffer = new ArrayBuffer(8); + const view = new DataView(buffer); + view.setFloat64(0, n, true); + return new Uint8Array(buffer); }; export const signedLEB128 = (n: number): number[] => { const bytes = []; diff --git a/stdlib/runtime/index.br b/stdlib/runtime/index.br new file mode 100644 index 0000000..1847bd5 --- /dev/null +++ b/stdlib/runtime/index.br @@ -0,0 +1,6 @@ +import { + @operator('+', 'INFIX') + addI32 +} from './operators.br'; +let a: i32 = addI32(1n, 1n); +let b: i32 = 1n + 1n; \ No newline at end of file diff --git a/stdlib/runtime/operators.br b/stdlib/runtime/operators.br index 155fe5a..6b32576 100644 --- a/stdlib/runtime/operators.br +++ b/stdlib/runtime/operators.br @@ -1,22 +1,24 @@ @operator('+', 'INFIX'); -let add: Function = (a: i32, b: i32): i32 => @wasm.i32.add(a, b); +export const addI32: Function = (a: i32, b: i32): i32 => @wasm.i32.add(a, b); +// // @operator('+', 'INFIX'); +// // let addF32: Function = (a: f32, b: f32): f32 => @wasm.f32.add(a, b); +// // @operator('+', 'INFIX'); +// // let addF64: Function = (a: f64, b: f64): f64 => @wasm.f64.add(a, b); -let a: i32 = 1n + 1n; // translates into add(1n, 1n); +// let a: i32 = 1n + 1n; // translates into addI32(1n, 1n); +// // let b: f32 = 1f + 1f; // translates into addF32(1f, 1f); +// // let c: f64 = 1F + 1F; // translates into addF64(1F, 1F); +// // a++; -// @operator('+', 'BINOP'); -// let add: Function = (a: i32 | i64, b: i32 | i64): i64 => { -// if (a typeof i64) { -// return(@wasm.i64.add(a, b)); -// } else { -// return(a + b); // add(a, b); refers to the i32 variant above -// }; -// }; +// // let x: Function = @(x: i32): i32 => { +// // return(x); +// // }; +// // let d: i64 = d; +// // let y: i32 = (x); -// let a: i32 = 1n + 1n; // translates into add(1n, 1n); -// let a: i64 = 1N + 1N; // translates into add(1N, 1N); -let test: Function = (a: i32, b: i32): i32 => { - return(1n); -} -let test2: Function = (a: i32, b: i32): i32 => { - return(1n); -}; \ No newline at end of file +// @operator('+=', 'ASSIGNMENT'); +// let assingnmentAddI32: Function = (lhs: i32, rhs: i32): i32 => @wasm.i32.add(lhs, rhs); + +// let x: i32 = 1n; +// // x++; +// x += 1n; \ No newline at end of file