@velarscript/compiler 0.10.1 → 0.10.2
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/dist/analyzer.d.ts +18 -7
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +158 -45
- package/dist/analyzer.js.map +1 -1
- package/dist/ast.d.ts +2 -0
- package/dist/ast.d.ts.map +1 -1
- package/dist/ast.js.map +1 -1
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +19 -11
- package/dist/emitter.js.map +1 -1
- package/dist/extension.d.ts +2 -0
- package/dist/extension.d.ts.map +1 -1
- package/dist/index.js +17 -5
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +2 -2
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +5 -4
- package/dist/parser.js.map +1 -1
- package/dist/semantic.d.ts.map +1 -1
- package/dist/semantic.js +2 -0
- package/dist/semantic.js.map +1 -1
- package/package.json +1 -1
package/dist/analyzer.d.ts
CHANGED
|
@@ -81,6 +81,10 @@ export interface FormReadField {
|
|
|
81
81
|
readonly optional: boolean;
|
|
82
82
|
readonly enumValues?: readonly string[];
|
|
83
83
|
}
|
|
84
|
+
export interface RecordTypeField {
|
|
85
|
+
readonly name: string;
|
|
86
|
+
readonly type: ValueType;
|
|
87
|
+
}
|
|
84
88
|
export interface LoweringHints {
|
|
85
89
|
readonly collectionCalls: ReadonlyMap<number, CollectionOperation>;
|
|
86
90
|
readonly collectionSizes: ReadonlySet<number>;
|
|
@@ -114,6 +118,8 @@ export interface LoweringHints {
|
|
|
114
118
|
* apart before it writes either into the output.
|
|
115
119
|
*/
|
|
116
120
|
readonly genericTypeNames: ReadonlySet<string>;
|
|
121
|
+
/** Complete inherited-plus-local record fields for each `type` declaration, keyed by declaration start. */
|
|
122
|
+
readonly typeDeclarationFields: ReadonlyMap<number, readonly RecordTypeField[]>;
|
|
117
123
|
readonly optionalMembers: ReadonlySet<string>;
|
|
118
124
|
readonly optionalCalls: ReadonlySet<string>;
|
|
119
125
|
readonly optionalIndexes: ReadonlySet<string>;
|
|
@@ -216,6 +222,8 @@ export interface AnalysisContext {
|
|
|
216
222
|
readonly namedTypes?: ReadonlyMap<string, ReadonlyMap<string, ValueType>>;
|
|
217
223
|
readonly namedTypeReadonlyFields?: ReadonlyMap<string, ReadonlySet<string>>;
|
|
218
224
|
readonly namedTypeIdentities?: ReadonlyMap<string, string>;
|
|
225
|
+
/** Direct record inheritance edges by local name or canonical identity. */
|
|
226
|
+
readonly namedTypeBases?: ReadonlyMap<string, ValueType>;
|
|
219
227
|
/** D55: imported generic record declarations, by the name this module writes. */
|
|
220
228
|
readonly genericTypes?: ReadonlyMap<string, GenericTypeInfo>;
|
|
221
229
|
readonly typeAliases?: ReadonlyMap<string, ValueType>;
|
|
@@ -287,6 +295,12 @@ export declare class Analyzer implements TypeEnvironment {
|
|
|
287
295
|
private readonly namedTypes;
|
|
288
296
|
private readonly namedTypeReadonlyFields;
|
|
289
297
|
private readonly namedTypeIdentities;
|
|
298
|
+
/** Direct record bases by local name or canonical identity. Field tables remain flattened separately. */
|
|
299
|
+
private readonly namedTypeBases;
|
|
300
|
+
/** Fields contributed by a base, used to reject redeclaration in the child body. */
|
|
301
|
+
private readonly inheritedTypeFields;
|
|
302
|
+
/** Analyzer-owned complete field tables passed to the emitter for runtime validation. */
|
|
303
|
+
private readonly typeDeclarationFields;
|
|
290
304
|
/** D55: generic record declarations in scope, by the name this module writes. */
|
|
291
305
|
private readonly genericTypes;
|
|
292
306
|
/** The same declarations by identity, so a substituted application can be re-instantiated. */
|
|
@@ -477,6 +491,10 @@ export declare class Analyzer implements TypeEnvironment {
|
|
|
477
491
|
static inferredFunctionResultsMatch(left: ReadonlyMap<string, ValueType>, right: ReadonlyMap<string, ValueType>): boolean;
|
|
478
492
|
semanticMembers(): ReadonlyMap<string, ReadonlyMap<string, ValueType>>;
|
|
479
493
|
analyzedClasses(): ReadonlyMap<string, ClassInfo>;
|
|
494
|
+
analyzedNamedTypes(): ReadonlyMap<string, ReadonlyMap<string, ValueType>>;
|
|
495
|
+
analyzedNamedTypeReadonlyFields(): ReadonlyMap<string, ReadonlySet<string>>;
|
|
496
|
+
analyzedNamedTypeBases(): ReadonlyMap<string, ValueType>;
|
|
497
|
+
analyzedGenericTypes(): ReadonlyMap<string, GenericTypeInfo>;
|
|
480
498
|
semanticExpressions(): {
|
|
481
499
|
readonly types: ReadonlyMap<string, ValueType>;
|
|
482
500
|
readonly members: ReadonlyMap<string, ReadonlyMap<string, ValueType>>;
|
|
@@ -588,13 +606,6 @@ export declare class Analyzer implements TypeEnvironment {
|
|
|
588
606
|
private rejectReservedTypeNames;
|
|
589
607
|
private registerAliasShapes;
|
|
590
608
|
protected expandAliases(type: ValueType, seen?: ReadonlySet<string>): ValueType;
|
|
591
|
-
/**
|
|
592
|
-
* D55 rule 120: generic record declarations are registered in two steps —
|
|
593
|
-
* every name and parameter list first, then the field types. A field type may
|
|
594
|
-
* apply another generic record, or this one, and neither could be resolved if
|
|
595
|
-
* the declarations were read one at a time.
|
|
596
|
-
*/
|
|
597
|
-
private registerGenericTypeShapes;
|
|
598
609
|
private registerTypeShapes;
|
|
599
610
|
private registerEnumShapes;
|
|
600
611
|
private registerClassNames;
|
package/dist/analyzer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/analyzer.js
CHANGED
|
@@ -463,6 +463,12 @@ export class Analyzer {
|
|
|
463
463
|
namedTypes = new Map();
|
|
464
464
|
namedTypeReadonlyFields = new Map();
|
|
465
465
|
namedTypeIdentities = new Map();
|
|
466
|
+
/** Direct record bases by local name or canonical identity. Field tables remain flattened separately. */
|
|
467
|
+
namedTypeBases = new Map();
|
|
468
|
+
/** Fields contributed by a base, used to reject redeclaration in the child body. */
|
|
469
|
+
inheritedTypeFields = new WeakMap();
|
|
470
|
+
/** Analyzer-owned complete field tables passed to the emitter for runtime validation. */
|
|
471
|
+
typeDeclarationFields = new Map();
|
|
466
472
|
/** D55: generic record declarations in scope, by the name this module writes. */
|
|
467
473
|
genericTypes = new Map();
|
|
468
474
|
/** The same declarations by identity, so a substituted application can be re-instantiated. */
|
|
@@ -733,6 +739,8 @@ export class Analyzer {
|
|
|
733
739
|
this.namedTypeReadonlyFields.set(name, fields);
|
|
734
740
|
for (const [name, identity] of context.namedTypeIdentities ?? [])
|
|
735
741
|
this.namedTypeIdentities.set(name, identity);
|
|
742
|
+
for (const [name, base] of context.namedTypeBases ?? [])
|
|
743
|
+
this.namedTypeBases.set(name, base);
|
|
736
744
|
for (const [name, info] of context.genericTypes ?? []) {
|
|
737
745
|
// The context carries each template twice — under the name this module
|
|
738
746
|
// writes, and under its identity for the modules reached without an
|
|
@@ -908,7 +916,22 @@ export class Analyzer {
|
|
|
908
916
|
: action();
|
|
909
917
|
let valid = withParameters(() => declaration.kind === "TypeAliasDeclaration"
|
|
910
918
|
? this.validateTypeReference(declaration.target)
|
|
911
|
-
:
|
|
919
|
+
: [
|
|
920
|
+
...(declaration.base ? [this.validateTypeReference(declaration.base)] : []),
|
|
921
|
+
...declaration.fields.map((field) => this.validateTypeReference(field.type)),
|
|
922
|
+
].every(Boolean));
|
|
923
|
+
if (valid && declaration.kind === "TypeDeclaration" && declaration.base) {
|
|
924
|
+
withParameters(() => {
|
|
925
|
+
const base = this.resolveAnnotation(declaration.base);
|
|
926
|
+
const fields = base.kind === "named" && !base.readonlyView
|
|
927
|
+
? this.fieldsOf(base.identity ?? base.name)
|
|
928
|
+
: null;
|
|
929
|
+
if (base.kind === "named" && fields !== null && !this.isPrimitiveType(base.name))
|
|
930
|
+
return;
|
|
931
|
+
this.typeError(`Type '${declaration.name}' can only extend one concrete record type; ${describeType(base)} is not a record declaration`, declaration.base.span);
|
|
932
|
+
valid = false;
|
|
933
|
+
});
|
|
934
|
+
}
|
|
912
935
|
if (valid) {
|
|
913
936
|
withParameters(() => {
|
|
914
937
|
const runtimeCheckedReferences = declaration.kind === "TypeAliasDeclaration"
|
|
@@ -948,7 +971,10 @@ export class Analyzer {
|
|
|
948
971
|
continue;
|
|
949
972
|
const syntaxes = declaration.kind === "TypeAliasDeclaration"
|
|
950
973
|
? [declaration.target.syntax]
|
|
951
|
-
:
|
|
974
|
+
: [
|
|
975
|
+
...(declaration.base ? [declaration.base.syntax] : []),
|
|
976
|
+
...declaration.fields.map((field) => field.type.syntax),
|
|
977
|
+
];
|
|
952
978
|
if (!syntaxes.some((syntax) => this.typeSyntaxReferencesInvalidDeclaration(syntax)))
|
|
953
979
|
continue;
|
|
954
980
|
this.invalidDeclaredTypes.add(declaration.name);
|
|
@@ -1293,6 +1319,7 @@ export class Analyzer {
|
|
|
1293
1319
|
enumNames: new Set(this.enums.keys()),
|
|
1294
1320
|
runtimeTypeObjectNames: this.runtimeTypeObjectNames,
|
|
1295
1321
|
genericTypeNames: new Set(this.genericTypes.keys()),
|
|
1322
|
+
typeDeclarationFields: this.typeDeclarationFields,
|
|
1296
1323
|
optionalMembers: this.optionalMembers,
|
|
1297
1324
|
optionalCalls: this.optionalCalls,
|
|
1298
1325
|
optionalIndexes: this.optionalIndexes,
|
|
@@ -1352,6 +1379,18 @@ export class Analyzer {
|
|
|
1352
1379
|
analyzedClasses() {
|
|
1353
1380
|
return this.classes;
|
|
1354
1381
|
}
|
|
1382
|
+
analyzedNamedTypes() {
|
|
1383
|
+
return this.namedTypes;
|
|
1384
|
+
}
|
|
1385
|
+
analyzedNamedTypeReadonlyFields() {
|
|
1386
|
+
return this.namedTypeReadonlyFields;
|
|
1387
|
+
}
|
|
1388
|
+
analyzedNamedTypeBases() {
|
|
1389
|
+
return this.namedTypeBases;
|
|
1390
|
+
}
|
|
1391
|
+
analyzedGenericTypes() {
|
|
1392
|
+
return this.genericTypes;
|
|
1393
|
+
}
|
|
1355
1394
|
semanticExpressions() {
|
|
1356
1395
|
return {
|
|
1357
1396
|
types: this.semanticExpressionTypes,
|
|
@@ -2037,56 +2076,126 @@ export class Analyzer {
|
|
|
2037
2076
|
}
|
|
2038
2077
|
return type;
|
|
2039
2078
|
}
|
|
2040
|
-
/**
|
|
2041
|
-
* D55 rule 120: generic record declarations are registered in two steps —
|
|
2042
|
-
* every name and parameter list first, then the field types. A field type may
|
|
2043
|
-
* apply another generic record, or this one, and neither could be resolved if
|
|
2044
|
-
* the declarations were read one at a time.
|
|
2045
|
-
*/
|
|
2046
|
-
registerGenericTypeShapes(program) {
|
|
2047
|
-
const declarations = [];
|
|
2048
|
-
for (const statement of program.body) {
|
|
2049
|
-
if (statement.kind !== "TypeDeclaration" || !statement.typeParameters?.length)
|
|
2050
|
-
continue;
|
|
2051
|
-
if (this.genericTypes.has(statement.name))
|
|
2052
|
-
continue;
|
|
2053
|
-
const fields = new Map();
|
|
2054
|
-
const readonlyFields = new Set(statement.fields.filter((field) => field.readonly).map((field) => field.name));
|
|
2055
|
-
const info = {
|
|
2056
|
-
identity: this.namedTypeIdentities.get(statement.name) ?? statement.name,
|
|
2057
|
-
name: statement.name,
|
|
2058
|
-
parameterNames: statement.typeParameters.map((parameter) => parameter.name),
|
|
2059
|
-
parameterBounds: statement.typeParameters.map((parameter) => parameter.bound && isTypeParameterBound(parameter.bound) ? parameter.bound : null),
|
|
2060
|
-
fields,
|
|
2061
|
-
...(readonlyFields.size > 0 ? { readonlyFields } : {}),
|
|
2062
|
-
};
|
|
2063
|
-
this.genericTypes.set(statement.name, info);
|
|
2064
|
-
this.genericTypesByIdentity.set(info.identity, info);
|
|
2065
|
-
declarations.push({ statement, fields });
|
|
2066
|
-
}
|
|
2067
|
-
for (const { statement, fields } of declarations) {
|
|
2068
|
-
this.withTypeParameterFrame(this.typeParameterFrame(statement.typeParameters), () => {
|
|
2069
|
-
for (const field of statement.fields)
|
|
2070
|
-
fields.set(field.name, this.resolveAnnotation(field.type));
|
|
2071
|
-
});
|
|
2072
|
-
}
|
|
2073
|
-
}
|
|
2074
2079
|
registerTypeShapes(program) {
|
|
2075
|
-
|
|
2080
|
+
const declarations = new Map();
|
|
2081
|
+
const concrete = new Map();
|
|
2082
|
+
const generic = new Map();
|
|
2083
|
+
// Register every name and mutable placeholder first. A base may be declared
|
|
2084
|
+
// later, and a generic base may mention the child's own parameters.
|
|
2076
2085
|
for (const statement of program.body) {
|
|
2077
|
-
if (statement.kind !== "TypeDeclaration"
|
|
2086
|
+
if (statement.kind !== "TypeDeclaration")
|
|
2078
2087
|
continue;
|
|
2079
|
-
|
|
2088
|
+
declarations.set(statement.name, statement);
|
|
2080
2089
|
const fields = new Map();
|
|
2081
2090
|
const readonlyFields = new Set();
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2091
|
+
if (statement.typeParameters?.length) {
|
|
2092
|
+
const info = {
|
|
2093
|
+
identity: this.namedTypeIdentities.get(statement.name) ?? statement.name,
|
|
2094
|
+
name: statement.name,
|
|
2095
|
+
parameterNames: statement.typeParameters.map((parameter) => parameter.name),
|
|
2096
|
+
parameterBounds: statement.typeParameters.map((parameter) => parameter.bound && isTypeParameterBound(parameter.bound) ? parameter.bound : null),
|
|
2097
|
+
fields,
|
|
2098
|
+
readonlyFields,
|
|
2099
|
+
};
|
|
2100
|
+
this.genericTypes.set(statement.name, info);
|
|
2101
|
+
this.genericTypesByIdentity.set(info.identity, info);
|
|
2102
|
+
generic.set(statement.name, { info, fields, readonlyFields });
|
|
2086
2103
|
}
|
|
2087
|
-
|
|
2088
|
-
|
|
2104
|
+
else {
|
|
2105
|
+
this.namedTypes.set(statement.name, fields);
|
|
2089
2106
|
this.namedTypeReadonlyFields.set(statement.name, readonlyFields);
|
|
2107
|
+
concrete.set(statement.name, { fields, readonlyFields });
|
|
2108
|
+
}
|
|
2109
|
+
}
|
|
2110
|
+
const resolved = new Set();
|
|
2111
|
+
const resolving = [];
|
|
2112
|
+
const localIdentity = (name) => this.namedTypeIdentities.get(name)
|
|
2113
|
+
?? (this.modulePath ? `velar:${this.modulePath}#type:${name}` : name);
|
|
2114
|
+
const declarationName = (type) => type.kind === "named"
|
|
2115
|
+
? type.application?.name ?? type.name
|
|
2116
|
+
: null;
|
|
2117
|
+
const declarationKey = (type) => {
|
|
2118
|
+
if (type.kind !== "named")
|
|
2119
|
+
return null;
|
|
2120
|
+
const name = type.application?.name ?? type.name;
|
|
2121
|
+
if (declarations.has(name))
|
|
2122
|
+
return localIdentity(name);
|
|
2123
|
+
return type.application?.declaration ?? type.identity ?? type.name;
|
|
2124
|
+
};
|
|
2125
|
+
const resolveDeclaration = (statement) => {
|
|
2126
|
+
if (resolved.has(statement.name))
|
|
2127
|
+
return;
|
|
2128
|
+
if (resolving.includes(statement.name))
|
|
2129
|
+
return;
|
|
2130
|
+
resolving.push(statement.name);
|
|
2131
|
+
const target = concrete.get(statement.name) ?? generic.get(statement.name);
|
|
2132
|
+
const withParameters = (action) => statement.typeParameters?.length
|
|
2133
|
+
? this.withTypeParameterFrame(this.typeParameterFrame(statement.typeParameters), action)
|
|
2134
|
+
: action();
|
|
2135
|
+
withParameters(() => {
|
|
2136
|
+
let inherited = new Map();
|
|
2137
|
+
let inheritedReadonly = new Set();
|
|
2138
|
+
if (statement.base) {
|
|
2139
|
+
let base = this.resolveAnnotation(statement.base);
|
|
2140
|
+
const baseName = declarationName(base);
|
|
2141
|
+
const localBase = baseName ? declarations.get(baseName) : undefined;
|
|
2142
|
+
if (localBase && !resolving.includes(localBase.name)) {
|
|
2143
|
+
resolveDeclaration(localBase);
|
|
2144
|
+
base = this.resolveAnnotation(statement.base);
|
|
2145
|
+
}
|
|
2146
|
+
this.namedTypeBases.set(statement.name, base);
|
|
2147
|
+
this.namedTypeBases.set(localIdentity(statement.name), base);
|
|
2148
|
+
const baseFields = base.kind === "named" ? this.fieldsOf(base.identity ?? base.name) : null;
|
|
2149
|
+
if (baseFields)
|
|
2150
|
+
inherited = new Map(baseFields);
|
|
2151
|
+
const readonly = base.kind === "named" ? this.readonlyFieldsOf(base.identity ?? base.name) : null;
|
|
2152
|
+
if (readonly)
|
|
2153
|
+
inheritedReadonly = new Set(readonly);
|
|
2154
|
+
}
|
|
2155
|
+
this.inheritedTypeFields.set(statement, new Set(inherited.keys()));
|
|
2156
|
+
for (const [name, type] of inherited)
|
|
2157
|
+
target.fields.set(name, type);
|
|
2158
|
+
for (const name of inheritedReadonly)
|
|
2159
|
+
target.readonlyFields.add(name);
|
|
2160
|
+
for (const field of statement.fields) {
|
|
2161
|
+
target.fields.set(field.name, this.resolveAnnotation(field.type));
|
|
2162
|
+
if (field.readonly)
|
|
2163
|
+
target.readonlyFields.add(field.name);
|
|
2164
|
+
}
|
|
2165
|
+
this.typeDeclarationFields.set(statement.span.start, [...target.fields].map(([name, type]) => ({ name, type })));
|
|
2166
|
+
});
|
|
2167
|
+
resolving.pop();
|
|
2168
|
+
resolved.add(statement.name);
|
|
2169
|
+
};
|
|
2170
|
+
for (const statement of declarations.values())
|
|
2171
|
+
resolveDeclaration(statement);
|
|
2172
|
+
// The direct edge is preserved separately from the flattened fields, so a
|
|
2173
|
+
// cycle that crosses module boundaries cannot stabilize into an apparently
|
|
2174
|
+
// valid structural map during the project interface fixed point.
|
|
2175
|
+
for (const statement of declarations.values()) {
|
|
2176
|
+
if (!statement.base)
|
|
2177
|
+
continue;
|
|
2178
|
+
const start = localIdentity(statement.name);
|
|
2179
|
+
const path = [start];
|
|
2180
|
+
let current = start;
|
|
2181
|
+
const seen = new Set([start]);
|
|
2182
|
+
while (true) {
|
|
2183
|
+
const base = this.namedTypeBases.get(current);
|
|
2184
|
+
const next = base ? declarationKey(base) : null;
|
|
2185
|
+
if (!next)
|
|
2186
|
+
break;
|
|
2187
|
+
path.push(next);
|
|
2188
|
+
if (next === start) {
|
|
2189
|
+
const display = path.map((identity) => identity.replace(/^.*#type:/u, "")).join(" -> ");
|
|
2190
|
+
this.diagnostics.push(diagnostic("VEL4017", `Type inheritance is cyclic: ${display}`, statement.base.span));
|
|
2191
|
+
this.invalidDeclaredTypes.add(statement.name);
|
|
2192
|
+
break;
|
|
2193
|
+
}
|
|
2194
|
+
if (seen.has(next))
|
|
2195
|
+
break;
|
|
2196
|
+
seen.add(next);
|
|
2197
|
+
current = next;
|
|
2198
|
+
}
|
|
2090
2199
|
}
|
|
2091
2200
|
}
|
|
2092
2201
|
registerEnumShapes(program) {
|
|
@@ -3262,7 +3371,11 @@ export class Analyzer {
|
|
|
3262
3371
|
// so a `type` is judged by the same procedure a `def` is.
|
|
3263
3372
|
this.checkTypeParameterDeclarations(statement.typeParameters);
|
|
3264
3373
|
const seen = new Set();
|
|
3374
|
+
const inherited = this.inheritedTypeFields.get(statement) ?? new Set();
|
|
3265
3375
|
for (const field of statement.fields) {
|
|
3376
|
+
if (inherited.has(field.name)) {
|
|
3377
|
+
this.diagnostics.push(diagnostic("VEL4004", `Type '${statement.name}' cannot redeclare inherited field '${field.name}'; inherited record fields keep their original contract`, field.span));
|
|
3378
|
+
}
|
|
3266
3379
|
if (seen.has(field.name)) {
|
|
3267
3380
|
this.diagnostics.push(diagnostic("VEL4004", `Type '${statement.name}' declares '${field.name}' more than once`, field.span));
|
|
3268
3381
|
}
|