@kipper/target-js
Version:
The JavaScript target for the Kipper compiler 🦊
86 lines • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TargetJS = exports.KipperJavaScriptTarget = void 0;
const core_1 = require("@kipper/core");
const semantic_analyser_1 = require("./semantic-analyser");
const code_generator_1 = require("./code-generator");
const built_in_generator_1 = require("./built-in-generator");
class KipperJavaScriptTarget extends core_1.KipperCompileTarget {
constructor(semanticAnalyser = new semantic_analyser_1.JavaScriptTargetSemanticAnalyser(), codeGenerator = new code_generator_1.JavaScriptTargetCodeGenerator(), builtInGenerator = new built_in_generator_1.JavaScriptTargetBuiltInGenerator()) {
super("javascript", semanticAnalyser, codeGenerator, builtInGenerator, "js");
}
static getBuiltInIdentifier(signature) {
if (typeof signature === "string") {
return `${this.internalObjectIdentifier}.${signature}`;
}
return "local" in signature && signature.local
? signature.identifier
: this.getBuiltInIdentifier(signature.identifier);
}
}
exports.KipperJavaScriptTarget = KipperJavaScriptTarget;
KipperJavaScriptTarget.internalObjectIdentifier = "__kipper";
KipperJavaScriptTarget.reservedIdentifiers = [
"break",
"case",
"catch",
"class",
"const",
"continue",
"debugger",
"default",
"delete",
"do",
"else",
"enum",
"export",
"extends",
"false",
"finally",
"for",
"function",
"if",
"import",
"in",
"instanceof",
"new",
"null",
"return",
"super",
"switch",
"this",
"throw",
"true",
"try",
"typeof",
"var",
"void",
"while",
"with",
"as",
"implements",
"interface",
"let",
"package",
"private",
"protected",
"public",
"static",
"yield",
"any",
"boolean",
"constructor",
"declare",
"get",
"module",
"require",
"number",
"set",
"string",
"symbol",
"type",
"from",
"of",
];
exports.TargetJS = KipperJavaScriptTarget;
//# sourceMappingURL=target.js.map