{"version":3,"sources":["ast/source.ts"],"names":["typed","SourceFile","AST","ASTSource","decorate","constructor","startLine","startColumn","startIndex","stopLine","stopColumn","stopIndex","file","copy","r","createNew"],"mappings":";;AAAA,SAAQA,KAAR,QAAoB,cAApB;AACA,SAAQC,UAAR,QAAyB,mBAAzB;AAEA,SAAQC,GAAR,QAAkB,aAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAaC,SAAb,WADCH,KAAK,CAACI,QAAN,CAAe,WAAf,CACD,gBADA,MACaD,SADb,SAC+BD,GAD/B,CACmC;AAClC;AACD;AACA;;AAGC;AACD;AACA;;AAGC;AACD;AACA;;AAGC;AACD;AACA;;AAGC;AACD;AACA;;AAGC;AACD;AACA;;AAGC;AACD;AACA;AAGCG,EAAAA,WAAW,GAAG;AACb;AADa,SAhCPC,SAgCO,GAhCK,CAgCL;AAAA,SA3BPC,WA2BO,GA3BO,CAAC,CA2BR;AAAA,SAtBPC,UAsBO,GAtBM,CAAC,CAsBP;AAAA,SAjBPC,QAiBO,GAjBI,CAiBJ;AAAA,SAZPC,UAYO,GAZM,CAAC,CAYP;AAAA,SAPPC,SAOO,GAPK,CAAC,CAON;AAAA,SAFPC,IAEO,GAFA,IAAIX,UAAJ,CAAe,EAAf,CAEA;AAEb;AAED;AACD;AACA;AACA;AACA;;;AACQY,EAAAA,IAAI,GAAG;AACb,UAAMC,CAAC,GAAG,KAAKC,SAAL,EAAV;AACAD,IAAAA,CAAC,CAACR,SAAF,GAAc,KAAKA,SAAnB;AACAQ,IAAAA,CAAC,CAACP,WAAF,GAAgB,KAAKA,WAArB;AACAO,IAAAA,CAAC,CAACN,UAAF,GAAe,KAAKA,UAApB;AACAM,IAAAA,CAAC,CAACL,QAAF,GAAa,KAAKA,QAAlB;AACAK,IAAAA,CAAC,CAACJ,UAAF,GAAe,KAAKA,UAApB;AACAI,IAAAA,CAAC,CAACH,SAAF,GAAc,KAAKA,SAAnB;AACA,WAAOG,CAAP;AACA;;AAtDiC,CAAnC","sourcesContent":["import {typed} from '../typed';\nimport {SourceFile} from '../sourcefile';\n\nimport {AST} from './class';\n\n/**\n * ASTSource constructor.\n *\n * Lines are 1 indexed while everything else is 0 indexed.\n * This matches most other common AST formats used.\n */\n@typed.decorate('ASTSource')\nexport class ASTSource extends AST {\n\t/**\n\t * Start line, 1 indexed.\n\t */\n\tpublic startLine = 0;\n\n\t/**\n\t * Start column, 0 indexed.\n\t */\n\tpublic startColumn = -1;\n\n\t/**\n\t * Start index, 0 indexed.\n\t */\n\tpublic startIndex = -1;\n\n\t/**\n\t * Stop line, 1 indexed.\n\t */\n\tpublic stopLine = 0;\n\n\t/**\n\t * Stop column, 0 indexed.\n\t */\n\tpublic stopColumn = -1;\n\n\t/**\n\t * Stop index, 0 indexed.\n\t */\n\tpublic stopIndex = -1;\n\n\t/**\n\t * Source file.\n\t */\n\tpublic file = new SourceFile('');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Copy instance.\n\t *\n\t * @returns Copied instance.\n\t */\n\tpublic copy() {\n\t\tconst r = this.createNew();\n\t\tr.startLine = this.startLine;\n\t\tr.startColumn = this.startColumn;\n\t\tr.startIndex = this.startIndex;\n\t\tr.stopLine = this.stopLine;\n\t\tr.stopColumn = this.stopColumn;\n\t\tr.stopIndex = this.stopIndex;\n\t\treturn r;\n\t}\n}\n"],"file":"source.mjs","sourceRoot":"../../src"}