@velarscript/compiler 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +70 -0
- package/dist/analyzer.d.ts +1175 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +12130 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/application-package-host.d.ts +28 -0
- package/dist/application-package-host.d.ts.map +1 -0
- package/dist/application-package-host.js +2 -0
- package/dist/application-package-host.js.map +1 -0
- package/dist/ast.d.ts +853 -0
- package/dist/ast.d.ts.map +1 -0
- package/dist/ast.js +245 -0
- package/dist/ast.js.map +1 -0
- package/dist/class-runtime.d.ts +6 -0
- package/dist/class-runtime.d.ts.map +1 -0
- package/dist/class-runtime.js +45 -0
- package/dist/class-runtime.js.map +1 -0
- package/dist/collection-lowering-runtime.d.ts +7 -0
- package/dist/collection-lowering-runtime.d.ts.map +1 -0
- package/dist/collection-lowering-runtime.js +952 -0
- package/dist/collection-lowering-runtime.js.map +1 -0
- package/dist/collection-runtime.d.ts +16 -0
- package/dist/collection-runtime.d.ts.map +1 -0
- package/dist/collection-runtime.js +231 -0
- package/dist/collection-runtime.js.map +1 -0
- package/dist/core-vocabulary.d.ts +141 -0
- package/dist/core-vocabulary.d.ts.map +1 -0
- package/dist/core-vocabulary.js +88 -0
- package/dist/core-vocabulary.js.map +1 -0
- package/dist/diagnostic.d.ts +42 -0
- package/dist/diagnostic.d.ts.map +1 -0
- package/dist/diagnostic.js +66 -0
- package/dist/diagnostic.js.map +1 -0
- package/dist/embedded-javascript.d.ts +74 -0
- package/dist/embedded-javascript.d.ts.map +1 -0
- package/dist/embedded-javascript.js +341 -0
- package/dist/embedded-javascript.js.map +1 -0
- package/dist/embedded-module.d.ts +11 -0
- package/dist/embedded-module.d.ts.map +1 -0
- package/dist/embedded-module.js +67 -0
- package/dist/embedded-module.js.map +1 -0
- package/dist/embedded-source.d.ts +19 -0
- package/dist/embedded-source.d.ts.map +1 -0
- package/dist/embedded-source.js +61 -0
- package/dist/embedded-source.js.map +1 -0
- package/dist/emitter.d.ts +188 -0
- package/dist/emitter.d.ts.map +1 -0
- package/dist/emitter.js +3254 -0
- package/dist/emitter.js.map +1 -0
- package/dist/error-runtime.d.ts +17 -0
- package/dist/error-runtime.d.ts.map +1 -0
- package/dist/error-runtime.js +109 -0
- package/dist/error-runtime.js.map +1 -0
- package/dist/extension.d.ts +373 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +25 -0
- package/dist/extension.js.map +1 -0
- package/dist/formatter.d.ts +13 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +1440 -0
- package/dist/formatter.js.map +1 -0
- package/dist/framework-host.d.ts +87 -0
- package/dist/framework-host.d.ts.map +1 -0
- package/dist/framework-host.js +2 -0
- package/dist/framework-host.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +932 -0
- package/dist/index.js.map +1 -0
- package/dist/interpolated-string.d.ts +47 -0
- package/dist/interpolated-string.d.ts.map +1 -0
- package/dist/interpolated-string.js +344 -0
- package/dist/interpolated-string.js.map +1 -0
- package/dist/json-runtime.d.ts +2 -0
- package/dist/json-runtime.d.ts.map +1 -0
- package/dist/json-runtime.js +193 -0
- package/dist/json-runtime.js.map +1 -0
- package/dist/language-guidance.d.ts +31 -0
- package/dist/language-guidance.d.ts.map +1 -0
- package/dist/language-guidance.js +187 -0
- package/dist/language-guidance.js.map +1 -0
- package/dist/lexer.d.ts +85 -0
- package/dist/lexer.d.ts.map +1 -0
- package/dist/lexer.js +1004 -0
- package/dist/lexer.js.map +1 -0
- package/dist/limits.d.ts +2 -0
- package/dist/limits.d.ts.map +1 -0
- package/dist/limits.js +2 -0
- package/dist/limits.js.map +1 -0
- package/dist/mechanical-fix.d.ts +26 -0
- package/dist/mechanical-fix.d.ts.map +1 -0
- package/dist/mechanical-fix.js +61 -0
- package/dist/mechanical-fix.js.map +1 -0
- package/dist/narrowing-runtime.d.ts +5 -0
- package/dist/narrowing-runtime.d.ts.map +1 -0
- package/dist/narrowing-runtime.js +27 -0
- package/dist/narrowing-runtime.js.map +1 -0
- package/dist/number-runtime.d.ts +3 -0
- package/dist/number-runtime.d.ts.map +1 -0
- package/dist/number-runtime.js +37 -0
- package/dist/number-runtime.js.map +1 -0
- package/dist/parser.d.ts +245 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +3582 -0
- package/dist/parser.js.map +1 -0
- package/dist/primitive-runtime.d.ts +4 -0
- package/dist/primitive-runtime.d.ts.map +1 -0
- package/dist/primitive-runtime.js +39 -0
- package/dist/primitive-runtime.js.map +1 -0
- package/dist/promise-runtime.d.ts +6 -0
- package/dist/promise-runtime.d.ts.map +1 -0
- package/dist/promise-runtime.js +86 -0
- package/dist/promise-runtime.js.map +1 -0
- package/dist/reactive-bridge-runtime.d.ts +7 -0
- package/dist/reactive-bridge-runtime.d.ts.map +1 -0
- package/dist/reactive-bridge-runtime.js +112 -0
- package/dist/reactive-bridge-runtime.js.map +1 -0
- package/dist/runtime-abi.d.ts +24 -0
- package/dist/runtime-abi.d.ts.map +1 -0
- package/dist/runtime-abi.js +24 -0
- package/dist/runtime-abi.js.map +1 -0
- package/dist/semantic.d.ts +142 -0
- package/dist/semantic.d.ts.map +1 -0
- package/dist/semantic.js +845 -0
- package/dist/semantic.js.map +1 -0
- package/dist/source-names.d.ts +32 -0
- package/dist/source-names.d.ts.map +1 -0
- package/dist/source-names.js +101 -0
- package/dist/source-names.js.map +1 -0
- package/dist/source.d.ts +19 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +64 -0
- package/dist/source.js.map +1 -0
- package/dist/text-runtime.d.ts +2 -0
- package/dist/text-runtime.d.ts.map +1 -0
- package/dist/text-runtime.js +285 -0
- package/dist/text-runtime.js.map +1 -0
- package/dist/token.d.ts +19 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +51 -0
- package/dist/token.js.map +1 -0
- package/dist/type-registry-runtime.d.ts +7 -0
- package/dist/type-registry-runtime.d.ts.map +1 -0
- package/dist/type-registry-runtime.js +51 -0
- package/dist/type-registry-runtime.js.map +1 -0
- package/dist/type-validation-runtime.d.ts +17 -0
- package/dist/type-validation-runtime.d.ts.map +1 -0
- package/dist/type-validation-runtime.js +150 -0
- package/dist/type-validation-runtime.js.map +1 -0
- package/dist/types.d.ts +356 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1170 -0
- package/dist/types.js.map +1 -0
- package/dist/utf8-runtime.d.ts +7 -0
- package/dist/utf8-runtime.d.ts.map +1 -0
- package/dist/utf8-runtime.js +43 -0
- package/dist/utf8-runtime.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexer.js","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"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"}
|
package/dist/limits.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,QAAkB,CAAC"}
|
package/dist/limits.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Diagnostic } from "./diagnostic.ts";
|
|
2
|
+
export interface AppliedMechanicalFix {
|
|
3
|
+
readonly code: string;
|
|
4
|
+
readonly title: string;
|
|
5
|
+
/** The offset in the original text where the rewrite starts, for reporting a location. */
|
|
6
|
+
readonly offset: number;
|
|
7
|
+
}
|
|
8
|
+
export interface MechanicalFixResult {
|
|
9
|
+
readonly text: string;
|
|
10
|
+
readonly applied: readonly AppliedMechanicalFix[];
|
|
11
|
+
/** Fixes withheld because another fix in the same pass already rewrote overlapping text. */
|
|
12
|
+
readonly deferred: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* D38 §48: applies every mechanical rewrite a compile reported. Each edit is a
|
|
16
|
+
* spelling change the diagnostic itself named, so the result is the source the
|
|
17
|
+
* author meant to write — nothing here decides anything the diagnostic left
|
|
18
|
+
* open.
|
|
19
|
+
*
|
|
20
|
+
* Two fixes that touch the same text cannot both be applied against one
|
|
21
|
+
* snapshot, so the later one is deferred to the next pass rather than applied
|
|
22
|
+
* blind. `velar fix` recompiles until no pass applies anything, which is also
|
|
23
|
+
* what makes the command idempotent: a second run finds no fixes to apply.
|
|
24
|
+
*/
|
|
25
|
+
export declare function applyMechanicalFixes(text: string, diagnostics: readonly Diagnostic[]): MechanicalFixResult;
|
|
26
|
+
//# sourceMappingURL=mechanical-fix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mechanical-fix.d.ts","sourceRoot":"","sources":["../src/mechanical-fix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,mBAAmB,CA8B1G"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* D38 §48: applies every mechanical rewrite a compile reported. Each edit is a
|
|
3
|
+
* spelling change the diagnostic itself named, so the result is the source the
|
|
4
|
+
* author meant to write — nothing here decides anything the diagnostic left
|
|
5
|
+
* open.
|
|
6
|
+
*
|
|
7
|
+
* Two fixes that touch the same text cannot both be applied against one
|
|
8
|
+
* snapshot, so the later one is deferred to the next pass rather than applied
|
|
9
|
+
* blind. `velar fix` recompiles until no pass applies anything, which is also
|
|
10
|
+
* what makes the command idempotent: a second run finds no fixes to apply.
|
|
11
|
+
*/
|
|
12
|
+
export function applyMechanicalFixes(text, diagnostics) {
|
|
13
|
+
const candidates = [];
|
|
14
|
+
const seen = new Set();
|
|
15
|
+
for (const item of diagnostics) {
|
|
16
|
+
if (!item.fix || item.fix.edits.length === 0)
|
|
17
|
+
continue;
|
|
18
|
+
if (item.fix.edits.some((edit) => !isApplicableEdit(text, edit)))
|
|
19
|
+
continue;
|
|
20
|
+
if (item.fix.edits.every((edit) => text.slice(edit.span.start, edit.span.end) === edit.text))
|
|
21
|
+
continue;
|
|
22
|
+
const identity = `${item.code}\0${item.fix.edits.map((edit) => `${edit.span.start}:${edit.span.end}:${edit.text}`).join("\0")}`;
|
|
23
|
+
if (seen.has(identity))
|
|
24
|
+
continue;
|
|
25
|
+
seen.add(identity);
|
|
26
|
+
candidates.push({ code: item.code, title: item.fix.title, edits: item.fix.edits });
|
|
27
|
+
}
|
|
28
|
+
const ordered = [...candidates].sort((left, right) => firstOffset(left.edits) - firstOffset(right.edits));
|
|
29
|
+
const applied = [];
|
|
30
|
+
const accepted = [];
|
|
31
|
+
let deferred = 0;
|
|
32
|
+
for (const candidate of ordered) {
|
|
33
|
+
if (candidate.edits.some((edit) => accepted.some((other) => overlaps(edit, other)))) {
|
|
34
|
+
deferred += 1;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
accepted.push(...candidate.edits);
|
|
38
|
+
applied.push({ code: candidate.code, title: candidate.title, offset: firstOffset(candidate.edits) });
|
|
39
|
+
}
|
|
40
|
+
const sorted = [...accepted].sort((left, right) => right.span.start - left.span.start);
|
|
41
|
+
let output = text;
|
|
42
|
+
for (const edit of sorted)
|
|
43
|
+
output = `${output.slice(0, edit.span.start)}${edit.text}${output.slice(edit.span.end)}`;
|
|
44
|
+
return { text: output, applied, deferred };
|
|
45
|
+
}
|
|
46
|
+
function isApplicableEdit(text, edit) {
|
|
47
|
+
return Number.isSafeInteger(edit.span.start) && Number.isSafeInteger(edit.span.end)
|
|
48
|
+
&& edit.span.start >= 0 && edit.span.start <= edit.span.end && edit.span.end <= text.length;
|
|
49
|
+
}
|
|
50
|
+
function firstOffset(edits) {
|
|
51
|
+
return edits.reduce((lowest, edit) => Math.min(lowest, edit.span.start), Number.MAX_SAFE_INTEGER);
|
|
52
|
+
}
|
|
53
|
+
function overlaps(left, right) {
|
|
54
|
+
// Zero-width insertions conflict with any edit that contains their position,
|
|
55
|
+
// and with another insertion at the same position.
|
|
56
|
+
if (left.span.start === left.span.end || right.span.start === right.span.end) {
|
|
57
|
+
return left.span.start <= right.span.end && right.span.start <= left.span.end;
|
|
58
|
+
}
|
|
59
|
+
return left.span.start < right.span.end && right.span.start < left.span.end;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=mechanical-fix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mechanical-fix.js","sourceRoot":"","sources":["../src/mechanical-fix.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const VELAR_NARROWING_MODULE = "velar/compiler-runtime-narrowing-v1";
|
|
2
|
+
/** Runtime guard for optimistic flow facts that cross opaque effects. */
|
|
3
|
+
export declare const VELAR_NARROWING_RUNTIME: string;
|
|
4
|
+
export declare const VELAR_NARROWING_MODULE_SOURCE: string;
|
|
5
|
+
//# sourceMappingURL=narrowing-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrowing-runtime.d.ts","sourceRoot":"","sources":["../src/narrowing-runtime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAE5E,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,QAgBvB,CAAC;AAEd,eAAO,MAAM,6BAA6B,QAM7B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const VELAR_NARROWING_MODULE = "velar/compiler-runtime-narrowing-v1";
|
|
2
|
+
/** Runtime guard for optimistic flow facts that cross opaque effects. */
|
|
3
|
+
export const VELAR_NARROWING_RUNTIME = String.raw `
|
|
4
|
+
const __velarNarrowingNativeTypeError = globalThis.TypeError;
|
|
5
|
+
const __velarNarrowingDefineProperty = globalThis.Object.defineProperty;
|
|
6
|
+
class __VelarNarrowingError extends __velarNarrowingNativeTypeError {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = "NarrowingError";
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// D51 rule 107: 'code' answers with the class a value was constructed from, so
|
|
13
|
+
// the compiler-owned class carries the source-level name it reports.
|
|
14
|
+
__velarNarrowingDefineProperty(__VelarNarrowingError, "name", { value: "NarrowingError", writable: false, enumerable: false, configurable: true });
|
|
15
|
+
function __velarNarrow(value, valid, expected, description, offset) {
|
|
16
|
+
if (!valid) throw new __VelarNarrowingError("Flow narrowing for '" + description + "' no longer holds: expected " + expected + " at source offset " + offset);
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
`.trimStart();
|
|
20
|
+
export const VELAR_NARROWING_MODULE_SOURCE = String.raw `
|
|
21
|
+
${VELAR_NARROWING_RUNTIME}
|
|
22
|
+
export {
|
|
23
|
+
__VelarNarrowingError as NarrowingError,
|
|
24
|
+
__velarNarrow as narrow,
|
|
25
|
+
};
|
|
26
|
+
`.trimStart();
|
|
27
|
+
//# sourceMappingURL=narrowing-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrowing-runtime.js","sourceRoot":"","sources":["../src/narrowing-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,qCAAqC,CAAC;AAE5E,yEAAyE;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;CAgBhD,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAA;EACrD,uBAAuB;;;;;CAKxB,CAAC,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-runtime.d.ts","sourceRoot":"","sources":["../src/number-runtime.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,QAkC3B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Canonical generated runtime for checked Number receiver methods. */
|
|
2
|
+
export const VELAR_NUMBER_METHOD_RUNTIME = String.raw `
|
|
3
|
+
const __velarNumberNativeMath = globalThis.Math;
|
|
4
|
+
const __velarNumberNativeNumber = globalThis.Number;
|
|
5
|
+
const __velarNumberNativeObject = globalThis.Object;
|
|
6
|
+
const __velarNumberNativeTypeError = globalThis.TypeError;
|
|
7
|
+
const __velarNumberNativeRangeError = globalThis.RangeError;
|
|
8
|
+
const __velarNumberGetOwnPropertyDescriptor = __velarNumberNativeObject.getOwnPropertyDescriptor;
|
|
9
|
+
const __velarNumberReflectApply = __velarNumberGetOwnPropertyDescriptor(globalThis.Reflect, "apply")?.value;
|
|
10
|
+
const __velarNumberPrototype = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeNumber, "prototype")?.value;
|
|
11
|
+
const __velarNumberMathAbs = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeMath, "abs")?.value;
|
|
12
|
+
const __velarNumberMathRound = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeMath, "round")?.value;
|
|
13
|
+
const __velarNumberMathFloor = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeMath, "floor")?.value;
|
|
14
|
+
const __velarNumberMathCeil = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeMath, "ceil")?.value;
|
|
15
|
+
const __velarNumberIsSafeInteger = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeNumber, "isSafeInteger")?.value;
|
|
16
|
+
const __velarNumberNativeIsInteger = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeNumber, "isInteger")?.value;
|
|
17
|
+
const __velarNumberNativeIsNaN = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeNumber, "isNaN")?.value;
|
|
18
|
+
const __velarNumberNativeIsFinite = __velarNumberGetOwnPropertyDescriptor(__velarNumberNativeNumber, "isFinite")?.value;
|
|
19
|
+
const __velarNativeNumberToFixed = __velarNumberGetOwnPropertyDescriptor(__velarNumberPrototype, "toFixed")?.value;
|
|
20
|
+
function __velarNumberCall(operation, receiver, arguments_) {
|
|
21
|
+
if (typeof operation !== "function" || typeof __velarNumberReflectApply !== "function") throw new __velarNumberNativeTypeError("The JavaScript Number runtime is unavailable");
|
|
22
|
+
return __velarNumberReflectApply(operation, receiver, arguments_);
|
|
23
|
+
}
|
|
24
|
+
function __velarNumberValue(value) { if (typeof value !== "number") throw new __velarNumberNativeTypeError("Number methods require a number receiver"); return value; }
|
|
25
|
+
function __velarNumberAbs(value) { return __velarNumberCall(__velarNumberMathAbs, __velarNumberNativeMath, [__velarNumberValue(value)]); }
|
|
26
|
+
function __velarNumberRound(value) { return __velarNumberCall(__velarNumberMathRound, __velarNumberNativeMath, [__velarNumberValue(value)]); }
|
|
27
|
+
function __velarNumberFloor(value) { return __velarNumberCall(__velarNumberMathFloor, __velarNumberNativeMath, [__velarNumberValue(value)]); }
|
|
28
|
+
function __velarNumberCeil(value) { return __velarNumberCall(__velarNumberMathCeil, __velarNumberNativeMath, [__velarNumberValue(value)]); }
|
|
29
|
+
function __velarNumberToFixed(value, digits) {
|
|
30
|
+
if (!__velarNumberCall(__velarNumberIsSafeInteger, __velarNumberNativeNumber, [digits]) || digits < 0 || digits > 100) throw new __velarNumberNativeRangeError("Number.toFixed digits must be an integer from 0 through 100");
|
|
31
|
+
return __velarNumberCall(__velarNativeNumberToFixed, __velarNumberValue(value), [digits]);
|
|
32
|
+
}
|
|
33
|
+
function __velarNumberIsInteger(value) { return __velarNumberCall(__velarNumberNativeIsInteger, __velarNumberNativeNumber, [__velarNumberValue(value)]); }
|
|
34
|
+
function __velarNumberIsNaN(value) { return __velarNumberCall(__velarNumberNativeIsNaN, __velarNumberNativeNumber, [__velarNumberValue(value)]); }
|
|
35
|
+
function __velarNumberIsFinite(value) { return __velarNumberCall(__velarNumberNativeIsFinite, __velarNumberNativeNumber, [__velarNumberValue(value)]); }
|
|
36
|
+
`.trimStart();
|
|
37
|
+
//# sourceMappingURL=number-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-runtime.js","sourceRoot":"","sources":["../src/number-runtime.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCpD,CAAC,SAAS,EAAE,CAAC"}
|
package/dist/parser.d.ts
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import type { Expression, Parameter, Program, Statement, TypeParameterDeclaration, TypeReference, TypeSyntax } from "./ast.ts";
|
|
2
|
+
import { type Diagnostic } from "./diagnostic.ts";
|
|
3
|
+
import type { CompilerLexicalExtension } from "./extension.ts";
|
|
4
|
+
import { type Span } from "./source.ts";
|
|
5
|
+
import { type Token, type TokenKind } from "./token.ts";
|
|
6
|
+
export declare function isParserComplexityFailure(value: unknown): boolean;
|
|
7
|
+
export interface ParseResult {
|
|
8
|
+
readonly program: Program;
|
|
9
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
10
|
+
}
|
|
11
|
+
export interface ExpressionParseResult {
|
|
12
|
+
readonly expression: Expression;
|
|
13
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
14
|
+
}
|
|
15
|
+
export declare class Parser {
|
|
16
|
+
private readonly tokens;
|
|
17
|
+
protected readonly lexicalExtensions: readonly CompilerLexicalExtension[];
|
|
18
|
+
protected readonly diagnostics: Diagnostic[];
|
|
19
|
+
private readonly genericCallableNames;
|
|
20
|
+
/** Extension-owned contextual keywords: names until a shape claims them. */
|
|
21
|
+
protected readonly contextualKeywords: ReadonlySet<string>;
|
|
22
|
+
private index;
|
|
23
|
+
private parseDepth;
|
|
24
|
+
private recoveredImportDelimiterBoundary;
|
|
25
|
+
/**
|
|
26
|
+
* D65 rule 170: non-zero while `parseParameters` is reading an arrow's
|
|
27
|
+
* parameter list — the one list a contextual function type can still type.
|
|
28
|
+
* It is a field rather than an argument because `packages/web` overrides
|
|
29
|
+
* `parseParameters()` and forwards to `super.parseParameters()`, so an added
|
|
30
|
+
* argument would be silently dropped for every arrow inside a web module.
|
|
31
|
+
*/
|
|
32
|
+
private contextualParameterDepth;
|
|
33
|
+
constructor(tokens: readonly Token[], lexicalExtensions?: readonly CompilerLexicalExtension[]);
|
|
34
|
+
parse(): ParseResult;
|
|
35
|
+
parseExpressionFragment(): ExpressionParseResult;
|
|
36
|
+
private recoverExpressionAssignment;
|
|
37
|
+
protected parseStatement(): Statement | null;
|
|
38
|
+
private parseStatementBody;
|
|
39
|
+
/**
|
|
40
|
+
* D30 item 16: `type` opens a declaration only in its declaration shape —
|
|
41
|
+
* the word, a name, and then ':' for a record body, '=' for an alias, or '<'
|
|
42
|
+
* for the rejected type-parameter spelling. `type = payload.type`,
|
|
43
|
+
* `type(value)`, and `type.field` all keep the identifier reading.
|
|
44
|
+
*/
|
|
45
|
+
private typeDeclarationAhead;
|
|
46
|
+
/**
|
|
47
|
+
* A match statement is the one statement whose header ends in ':' and opens
|
|
48
|
+
* an indented block. No expression statement can end in ':' — a call is
|
|
49
|
+
* `match(value)` and an assignment is `match = value` — so the two-line
|
|
50
|
+
* lookahead is exact. D30 item 16 named `case` as the block's first token;
|
|
51
|
+
* the block's contents are deliberately not inspected, so a malformed first
|
|
52
|
+
* branch and the `else:` recovery still reach the match block's own
|
|
53
|
+
* teaching instead of falling back to a bare-name reading.
|
|
54
|
+
*/
|
|
55
|
+
private matchStatementAhead;
|
|
56
|
+
/**
|
|
57
|
+
* `case` outside a match block is an ordinary name, but a `case ...:` line
|
|
58
|
+
* standing alone is the author reaching for a branch that has no header. The
|
|
59
|
+
* branch shape — the word followed by a pattern and a line-ending ':' — keeps
|
|
60
|
+
* the existing directed message without claiming the word anywhere else.
|
|
61
|
+
*/
|
|
62
|
+
private orphanCaseClauseAhead;
|
|
63
|
+
private parseForStatement;
|
|
64
|
+
/**
|
|
65
|
+
* D50 rule 100: `type` is a contextual keyword, so `import type {User} from`
|
|
66
|
+
* is the TypeScript habit while `import type from "./x.vel"` still reads as a
|
|
67
|
+
* default import named `type`. The habit is recognized by what follows the
|
|
68
|
+
* word — a brace list, a namespace star, or a name that is not `from` — so
|
|
69
|
+
* that it can be taught rather than met with a generic parse error.
|
|
70
|
+
*/
|
|
71
|
+
private typeImportMarkerAhead;
|
|
72
|
+
/**
|
|
73
|
+
* D50 rule 100 (retiring D38 rule 49): TypeScript needs `import type` because
|
|
74
|
+
* TypeScript erases types, so a type import can carry no module edge.
|
|
75
|
+
* VelarScript does not erase: every named type carries its runtime validator,
|
|
76
|
+
* an enum is a runtime value, and a class is a runtime value — so a type
|
|
77
|
+
* import is an ordinary import and the marker has nothing left to mean.
|
|
78
|
+
* Dropping the word is the whole rewrite, which is why `velar fix` applies it.
|
|
79
|
+
*/
|
|
80
|
+
private rejectTypeImportMarker;
|
|
81
|
+
private parseImport;
|
|
82
|
+
/** D53 rule 117: only an export-exact data URL has a semantics-preserving block rewrite. */
|
|
83
|
+
private reportInlineDataJavaScriptMigration;
|
|
84
|
+
/**
|
|
85
|
+
* D50 rule 99: the effects of a module have to be visible at the place they
|
|
86
|
+
* happen. There is no mechanical rewrite here — naming the function to
|
|
87
|
+
* export and call is the author's decision, not a spelling change.
|
|
88
|
+
*/
|
|
89
|
+
private reportSideEffectImport;
|
|
90
|
+
private parseReExport;
|
|
91
|
+
private parseExternModule;
|
|
92
|
+
private parseEmbeddedJavaScript;
|
|
93
|
+
private parseEmbeddedJavaScriptCaptures;
|
|
94
|
+
private reportEmbeddedJavaScriptContract;
|
|
95
|
+
private parseExternContract;
|
|
96
|
+
private parseExternClass;
|
|
97
|
+
protected parseExtensionStatement(_start: number, _modifiers: {
|
|
98
|
+
readonly exported: boolean;
|
|
99
|
+
readonly abstract: boolean;
|
|
100
|
+
readonly asynchronous: boolean;
|
|
101
|
+
}): Statement | null | undefined;
|
|
102
|
+
/** Lets an extension claim its own `unsafe <shape>` before Core requires `js`. */
|
|
103
|
+
protected parseUnsafeExtensionStatement(_start: number): Statement | null | undefined;
|
|
104
|
+
protected parseExtensionImport(_start: number): Statement | null | undefined;
|
|
105
|
+
private parseVariable;
|
|
106
|
+
private parseUsing;
|
|
107
|
+
private parseBindingPattern;
|
|
108
|
+
private parseBindingPatternBody;
|
|
109
|
+
private parseFunction;
|
|
110
|
+
protected parseTypeParameters(): readonly TypeParameterDeclaration[] | null;
|
|
111
|
+
protected parseParameters(): readonly Parameter[];
|
|
112
|
+
private parseClassConstructorParameters;
|
|
113
|
+
private parseExternClassParameters;
|
|
114
|
+
private parseTypeDefinition;
|
|
115
|
+
private parseEnumDeclaration;
|
|
116
|
+
private parseClassDeclaration;
|
|
117
|
+
private parseClassGetter;
|
|
118
|
+
private parseClassMethod;
|
|
119
|
+
private parseIf;
|
|
120
|
+
private parseIfBody;
|
|
121
|
+
private parseMatch;
|
|
122
|
+
private startsMatchValue;
|
|
123
|
+
private parseMatchPattern;
|
|
124
|
+
private parseMatchPatternBody;
|
|
125
|
+
private parseMatchValue;
|
|
126
|
+
private parseTry;
|
|
127
|
+
protected parseBlock(): readonly Statement[];
|
|
128
|
+
protected parseTypeReference(allowTrailingOptional?: boolean): TypeReference;
|
|
129
|
+
private parseTypeReferenceBody;
|
|
130
|
+
private parseSingleTypeReference;
|
|
131
|
+
protected validateExtensionTypeArguments(_name: string, _arguments: readonly TypeSyntax[], _nameSpan: Span): boolean;
|
|
132
|
+
private finishTypeReferenceSuffix;
|
|
133
|
+
private makeOptionalTypeSyntax;
|
|
134
|
+
/**
|
|
135
|
+
* D63 rule 161: `=>` counts as evidence here even though it is the wrong
|
|
136
|
+
* spelling. VelarScript writes the value-level arrow `=>` and the type-level
|
|
137
|
+
* arrow `->`, and a TypeScript reader writes `(string, string) => T` in a
|
|
138
|
+
* type position on the first try. Reading that as a *grouped* type produced
|
|
139
|
+
* `Expected ')' after grouped type` plus five cascades, none of which said
|
|
140
|
+
* `->` — a pile of cascades with no right answer in it is no diagnostic
|
|
141
|
+
* (D42's standing criterion). Claiming the parenthesis as a function type
|
|
142
|
+
* lets `reportTypePositionFatArrow` say the one thing worth saying, and the
|
|
143
|
+
* rest of the annotation parses normally, so the cascade never starts.
|
|
144
|
+
*/
|
|
145
|
+
private isFunctionTypeParenthesis;
|
|
146
|
+
/** The one diagnostic a `=>` in a type position gets, with its rewrite. */
|
|
147
|
+
private reportTypePositionFatArrow;
|
|
148
|
+
protected parseExpression(minimumPrecedence?: number): Expression;
|
|
149
|
+
private parseExpressionBody;
|
|
150
|
+
private hasPythonConditionalElse;
|
|
151
|
+
private parseArrowExpression;
|
|
152
|
+
private parseArrowBody;
|
|
153
|
+
private arrowBraceHoldsStatements;
|
|
154
|
+
private isParenthesizedArrow;
|
|
155
|
+
private parseUnary;
|
|
156
|
+
private parsePower;
|
|
157
|
+
private parsePowerBase;
|
|
158
|
+
private parsePostfix;
|
|
159
|
+
private explicitTypeArgumentsEnd;
|
|
160
|
+
private questionContinuesExpression;
|
|
161
|
+
private typeTestHasConditionalQuestion;
|
|
162
|
+
private parsePrimary;
|
|
163
|
+
private recoverChainedNamedArgument;
|
|
164
|
+
private parseSpreadExpression;
|
|
165
|
+
private parseFString;
|
|
166
|
+
private numberLiteral;
|
|
167
|
+
private interpolationFormatSpecColon;
|
|
168
|
+
private decodeFStringText;
|
|
169
|
+
protected parseExtensionExpression(_token: Token): Expression | undefined;
|
|
170
|
+
protected parseExtensionNumericLiteral(token: Token, value: number, unit: string): Expression | undefined;
|
|
171
|
+
protected parseNestedExpression(fragment: string, offset: number, bracketFragment?: boolean, sourceOffsets?: readonly number[]): Expression;
|
|
172
|
+
protected createNestedParser(tokens: readonly Token[]): Parser;
|
|
173
|
+
private withParseDepth;
|
|
174
|
+
private binaryOperator;
|
|
175
|
+
private isUnparenthesizedComparisonLayer;
|
|
176
|
+
private isMembershipOrTypeTest;
|
|
177
|
+
private checkNullishBooleanMixing;
|
|
178
|
+
private atStatementEnd;
|
|
179
|
+
protected expectStatementEnd(): void;
|
|
180
|
+
protected expectStatementBoundary(): void;
|
|
181
|
+
private finishStatementBoundary;
|
|
182
|
+
private statementBoundaryMessage;
|
|
183
|
+
private describeInvertTarget;
|
|
184
|
+
private synchronize;
|
|
185
|
+
/**
|
|
186
|
+
* D38 rule 47 (BRG-D2): an extern signature is the entire contract — there
|
|
187
|
+
* is no body to infer from — so a parameter without a type used to degrade
|
|
188
|
+
* to `unknown` and accept every argument silently. The escape hatch may
|
|
189
|
+
* never lose air quietly: the missing type is reported at the parameter
|
|
190
|
+
* itself, and the member keeps its place in the module contract so the use
|
|
191
|
+
* site is not blamed for a declaration defect.
|
|
192
|
+
*/
|
|
193
|
+
protected reportUntypedExternParameters(parameters: readonly Parameter[]): void;
|
|
194
|
+
/**
|
|
195
|
+
* D38 rule 47, second half: the rejection of a body on an extern declaration
|
|
196
|
+
* lands in the right place already, but "Expected the end of a statement"
|
|
197
|
+
* never said why a body cannot be there.
|
|
198
|
+
*/
|
|
199
|
+
protected reportExternDeclarationBody(): boolean;
|
|
200
|
+
/**
|
|
201
|
+
* CLS-I5: `readonly` marks a data type, never a class member. A field's
|
|
202
|
+
* read-only spelling is `const`; a method, getter, or constructor is
|
|
203
|
+
* executable, so there is no read-only contract for the modifier to state
|
|
204
|
+
* and pointing the author at `const` was advice they cannot take.
|
|
205
|
+
*/
|
|
206
|
+
protected reportClassMemberReadonly(modifier: Token | null, member: "field" | "executable", code: string): void;
|
|
207
|
+
protected skipMistypedDeclaration(): void;
|
|
208
|
+
protected consumeNewlines(): void;
|
|
209
|
+
protected expect(kind: TokenKind, message: string): Token;
|
|
210
|
+
private checkTypeGreater;
|
|
211
|
+
/** Consume one `>` from a generic close without changing shift lexing. */
|
|
212
|
+
private expectTypeGreater;
|
|
213
|
+
private expectMemberName;
|
|
214
|
+
protected match(kind: TokenKind): boolean;
|
|
215
|
+
protected matchExtensionKeyword(value: string): boolean;
|
|
216
|
+
/**
|
|
217
|
+
* D30 item 16: a contextual keyword is an ordinary identifier token whose
|
|
218
|
+
* spelling matches. `checkWord` asks the question without consuming; the
|
|
219
|
+
* declaration shape decides at each statement head, and every other position
|
|
220
|
+
* keeps the identifier reading.
|
|
221
|
+
*/
|
|
222
|
+
/**
|
|
223
|
+
* D30 item 16: the words that stay hard-reserved now say so. A bare
|
|
224
|
+
* "Expected a binding name" never told the reader that the spelling itself
|
|
225
|
+
* was the problem, which is exactly the question a reserved word raises.
|
|
226
|
+
*/
|
|
227
|
+
protected reservedWordMessage(noun: string): string | null;
|
|
228
|
+
private reservedWordMessageFor;
|
|
229
|
+
protected expectBindingName(message: string, noun: string): Token;
|
|
230
|
+
protected checkWord(value: string): boolean;
|
|
231
|
+
protected matchWord(value: string): boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Consumes a contextual keyword that a production requires — `from` in an
|
|
234
|
+
* import, `as` in a namespace import — and reports it in the same voice as a
|
|
235
|
+
* missing hard keyword when it is absent.
|
|
236
|
+
*/
|
|
237
|
+
protected expectWord(value: string, message: string): Token;
|
|
238
|
+
protected check(kind: TokenKind): boolean;
|
|
239
|
+
protected peekKind(distance: number): TokenKind;
|
|
240
|
+
protected peekValue(distance: number): string;
|
|
241
|
+
protected advance(): Token;
|
|
242
|
+
protected current(): Token;
|
|
243
|
+
protected previous(): Token;
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|