Eliminate @builtin decorator for compatibility with TS

This commit is contained in:
dcodeIO
2018-03-21 16:29:08 +01:00
parent 56d891583e
commit 49f4d3dff1
22 changed files with 949 additions and 984 deletions

View File

@ -78,6 +78,8 @@ import {
WhileStatement
} from "./ast";
const builtinsFile = LIBRARY_PREFIX + "builtins.ts";
/** Parser interface. */
export class Parser extends DiagnosticEmitter {
@ -124,6 +126,11 @@ export class Parser extends DiagnosticEmitter {
);
sources.push(source);
// mark the special builtins library file
if (source.normalizedPath == builtinsFile) {
source.set(CommonFlags.BUILTIN);
}
// tokenize and parse
var tn = new Tokenizer(source, program.diagnostics);
tn.onComment = this.onComment;
@ -160,10 +167,6 @@ export class Parser extends DiagnosticEmitter {
flags |= CommonFlags.GLOBAL;
continue;
}
if (text == "builtin") {
flags |= CommonFlags.BUILTIN;
continue;
}
if (text == "unmananged") {
flags |= CommonFlags.UNMANAGED;
continue;
@ -173,6 +176,9 @@ export class Parser extends DiagnosticEmitter {
decorators.push(decorator);
}
// mark builtins
flags |= (tn.source.flags & CommonFlags.BUILTIN);
// check modifiers
var exportStart: i32 = 0;
var exportEnd: i32 = 0;