@aster-cloud/aster-lang-ts 1.2.0 → 1.2.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/CHANGELOG.md +11 -0
- package/dist/src/lsp/completion.d.ts +0 -23
- package/dist/src/lsp/completion.d.ts.map +1 -1
- package/dist/src/lsp/completion.js +2 -46
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/member-completion.d.ts +59 -0
- package/dist/src/lsp/member-completion.d.ts.map +1 -0
- package/dist/src/lsp/member-completion.js +112 -0
- package/dist/src/lsp/member-completion.js.map +1 -0
- package/dist/src/lsp/parse-document.d.ts +5 -0
- package/dist/src/lsp/parse-document.d.ts.map +1 -1
- package/dist/src/lsp/parse-document.js +8 -1
- package/dist/src/lsp/parse-document.js.map +1 -1
- package/dist/src/lsp/resolution.d.ts +6 -0
- package/dist/src/lsp/resolution.d.ts.map +1 -1
- package/dist/src/lsp/resolution.js +17 -0
- package/dist/src/lsp/resolution.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +8 -2
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/test/integration/lsp/lsp-member-completion.test.d.ts +2 -0
- package/dist/test/integration/lsp/lsp-member-completion.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-member-completion.test.js +133 -0
- package/dist/test/integration/lsp/lsp-member-completion.test.js.map +1 -0
- package/dist/test/unit/lsp/resolution-completion.test.js +40 -3
- package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -1
- package/dist/test/unit/parser/parser.test.js +19 -0
- package/dist/test/unit/parser/parser.test.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.1
|
|
4
|
+
|
|
5
|
+
### 修复
|
|
6
|
+
|
|
7
|
+
- B2 文案与服务端一致:`with` 调用后缀(如 `Let x be helper with 10.`)被拒时,编辑器原报
|
|
8
|
+
"Expected identifier",现与 Java 引擎(aster-lang-core `malformedConstructField`)同报
|
|
9
|
+
"Expected 'set to' in construction";关键词按作者语言显示,只报一条(#252)。
|
|
10
|
+
- LSP 成员补全:`x.` 之后的字段补全不再只在「行尾 + 文档可解析」时生效。行中(点号后还有内容)、
|
|
11
|
+
点号后已输入前缀(`d.a`)、zh 未完成的块头(`如果 司机.`)以及文档别处有语法错误时,都按接收者的
|
|
12
|
+
声明类型列字段;字段项带 `textEdit`,替换点号之后到光标的前缀(生产复测 cloud#660 第 5 轮)。
|
|
13
|
+
|
|
3
14
|
## 1.2.0
|
|
4
15
|
|
|
5
16
|
### 新增
|
|
@@ -13,29 +13,6 @@ type CompletionDocument = {
|
|
|
13
13
|
tokens: readonly any[];
|
|
14
14
|
ast: any;
|
|
15
15
|
} & Omit<ResolvableDocument, 'ast'>;
|
|
16
|
-
type Coord = {
|
|
17
|
-
readonly line: number;
|
|
18
|
-
readonly col: number;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* 光标紧跟在 `recv.` 的点之后时,返回接收者(可为点分路径)的起止位置;否则 null。
|
|
22
|
-
* 位置为 token 坐标(1 基,end 不含)。
|
|
23
|
-
*/
|
|
24
|
-
export declare function receiverBeforeDot(tokens: readonly any[], pos: {
|
|
25
|
-
line: number;
|
|
26
|
-
character: number;
|
|
27
|
-
}): {
|
|
28
|
-
start: Coord;
|
|
29
|
-
end: Coord;
|
|
30
|
-
} | null;
|
|
31
|
-
/**
|
|
32
|
-
* `x.` 之后的字段补全(ADR 0051 §5:FIELD_REF 按接收者类型)。接收者类型取 R2 的 §4 显式声明规则;
|
|
33
|
-
* 语法不完整(R2 已跳过)、接收者类型未知或不是源码 Data 时返回 null,由普通补全接管。
|
|
34
|
-
*/
|
|
35
|
-
export declare function fieldCompletions(entry: CompletionDocument, pos: {
|
|
36
|
-
line: number;
|
|
37
|
-
character: number;
|
|
38
|
-
}): CompletionItem[] | null;
|
|
39
16
|
/** 构造表达式中光标所在的字段名位置:构造的类型写法与此前已赋值的字段写法。 */
|
|
40
17
|
export interface ConstructSite {
|
|
41
18
|
readonly typeName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/lsp/completion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,+BAA+B,CAAC;AAO/F,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,KAAK,EAIV,IAAI,IAAI,OAAO,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAU3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,gDAAgD;AAChD,KAAK,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/lsp/completion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,+BAA+B,CAAC;AAO/F,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,KAAK,EAIV,IAAI,IAAI,OAAO,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAU3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,gDAAgD;AAChD,KAAK,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAkB/G,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CA+BpI;AAWD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACxC,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,cAAc,EAAE,GAAG,IAAI,CAazB;AAkBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC7C,cAAc,EAAE,GAAG,IAAI,CAkBzB;AAED,uDAAuD;AACvD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE;IAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,EACzD,MAAM,EAAE;IAAE,YAAY,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,SAAS,GACrG,cAAc,EAAE,GAAG,IAAI,CAMzB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAuB3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAElE;AAmID;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE;IAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,EACzD,UAAU,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,kBAAkB,EACrD,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,GACtD,IAAI,CA8GN"}
|
|
@@ -12,53 +12,9 @@ import { foldKey, nfc } from '../config/lexicons/identifiers/casefold.js';
|
|
|
12
12
|
import { SemanticTokenKind } from '../config/token-kind.js';
|
|
13
13
|
import { EN_US } from '../config/lexicons/en-US.js';
|
|
14
14
|
import { resolveDocument } from './resolution.js';
|
|
15
|
+
import { localizedField, memberCompletions } from './member-completion.js';
|
|
15
16
|
const isName = (t) => t?.kind === TokenKind.IDENT || t?.kind === TokenKind.TYPE_IDENT;
|
|
16
17
|
const sameCoord = (a, b) => !!a && !!b && a.line === b.line && a.col === b.col;
|
|
17
|
-
/**
|
|
18
|
-
* 光标紧跟在 `recv.` 的点之后时,返回接收者(可为点分路径)的起止位置;否则 null。
|
|
19
|
-
* 位置为 token 坐标(1 基,end 不含)。
|
|
20
|
-
*/
|
|
21
|
-
export function receiverBeforeDot(tokens, pos) {
|
|
22
|
-
const cursor = { line: pos.line + 1, col: pos.character + 1 };
|
|
23
|
-
const dot = tokens.findIndex((t) => t?.kind === TokenKind.DOT && sameCoord(t.end, cursor));
|
|
24
|
-
if (dot < 1 || !isName(tokens[dot - 1]))
|
|
25
|
-
return null;
|
|
26
|
-
let head = dot - 1;
|
|
27
|
-
while (tokens[head - 1]?.kind === TokenKind.DOT && isName(tokens[head - 2]))
|
|
28
|
-
head -= 2;
|
|
29
|
-
return { start: tokens[head].start, end: tokens[dot - 1].end };
|
|
30
|
-
}
|
|
31
|
-
/** 字段的本地化写法:文档词汇中该 struct 字段的主词条;无本地化时为规范名。 */
|
|
32
|
-
function localizedField(vocabulary, struct, canonical) {
|
|
33
|
-
const buckets = vocabulary?.fields.get(struct)?.values() ?? [];
|
|
34
|
-
for (const list of buckets) {
|
|
35
|
-
const term = list.find((c) => c.canonical === canonical && c.source === 'term');
|
|
36
|
-
if (term)
|
|
37
|
-
return term.written;
|
|
38
|
-
}
|
|
39
|
-
return canonical;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* `x.` 之后的字段补全(ADR 0051 §5:FIELD_REF 按接收者类型)。接收者类型取 R2 的 §4 显式声明规则;
|
|
43
|
-
* 语法不完整(R2 已跳过)、接收者类型未知或不是源码 Data 时返回 null,由普通补全接管。
|
|
44
|
-
*/
|
|
45
|
-
export function fieldCompletions(entry, pos) {
|
|
46
|
-
const receiver = receiverBeforeDot(entry.tokens, pos);
|
|
47
|
-
if (!receiver)
|
|
48
|
-
return null;
|
|
49
|
-
const res = resolveDocument(entry);
|
|
50
|
-
if (!res.complete)
|
|
51
|
-
return null;
|
|
52
|
-
const typed = res.typedNames.find((t) => sameCoord(t.span.start, receiver.start) && sameCoord(t.span.end, receiver.end));
|
|
53
|
-
const typeName = typed?.type.kind === 'TypeName' ? typed.type.name : undefined;
|
|
54
|
-
const data = res.core?.decls.find((d) => d.kind === 'Data' && d.name === typeName);
|
|
55
|
-
if (!data)
|
|
56
|
-
return null;
|
|
57
|
-
return data.fields.map((f) => {
|
|
58
|
-
const label = localizedField(entry.vocabulary, data.name, f.name);
|
|
59
|
-
return { label, kind: CompletionItemKind.Field, ...(label === f.name ? {} : { detail: f.name }) };
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
18
|
const LAYOUT_KINDS = new Set([TokenKind.NEWLINE, TokenKind.INDENT, TokenKind.DEDENT, TokenKind.EOF, TokenKind.COMMENT]);
|
|
63
19
|
/** 该文档语言中某关键字的全部写法(规范拼写 + 别名,小写) */
|
|
64
20
|
function keywordWords(lexicon, kind) {
|
|
@@ -150,7 +106,7 @@ function fieldCompletionsAt(documents, getOrParse, params, lexicon) {
|
|
|
150
106
|
if (!doc)
|
|
151
107
|
return null;
|
|
152
108
|
const entry = getOrParse(doc);
|
|
153
|
-
return
|
|
109
|
+
return memberCompletions(entry, params.position, lexicon) ?? constructFieldCompletions(entry, params.position, lexicon);
|
|
154
110
|
}
|
|
155
111
|
const CONTROL_ARG = /@control\(\s*"([^"]*)$/;
|
|
156
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/lsp/completion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,GAInB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQtD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAQlD,MAAM,MAAM,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC;AACpG,MAAM,SAAS,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;AAE9H;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB,EAAE,GAAwC;IAChG,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAAE,IAAI,IAAI,CAAC,CAAC;IACvF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACjE,CAAC;AAED,+CAA+C;AAC/C,SAAS,cAAc,CAAC,UAAwC,EAAE,MAAc,EAAE,SAAiB;IACjG,MAAM,OAAO,GAAG,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAChF,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB,EAAE,GAAwC;IAClG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzH,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACnG,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,YAAY,GAAyB,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAE9I,oCAAoC;AACpC,SAAS,YAAY,CAAC,OAAgB,EAAE,IAAuB;IAC7D,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAM,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/F,MAAM,MAAM,GAAG,CAAC,CAAQ,EAAE,CAAQ,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAQzG;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAsB,EAAE,GAAwC,EAAE,OAAgB;IAC5G,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC;QAAE,CAAC,EAAE,CAAC,CAAC,aAAa;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7B,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QACD,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACjG,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QACxD,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC9G,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sDAAsD;AACtD,SAAS,eAAe,CAAC,GAAuC,EAAE,UAAwC,EAAE,OAAe;IACzH,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,SAAS,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1G,OAAO,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAyB,EACzB,GAAwC,EACxC,OAA4B;IAE5B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7H,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1E,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+DAA+D;AAC/D,SAAS,kBAAkB,CACzB,SAAyD,EACzD,UAAqD,EACrD,MAAsG,EACtG,OAA4B;IAE5B,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChH,CAAC;AAED,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,QAA8C;IAE9C,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,QAAQ,IAAI;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE;QAC5E,GAAG,EAAE,QAAQ;KACd,CAAC;IACF,OAAO,iBAAiB,CAAC,QAAQ;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,KAAK,EAAE,CAAC,CAAC,GAAG;QACZ,IAAI,EAAE,kBAAkB,CAAC,KAAK;QAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;QAClB,aAAa,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;QAClH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC,CAAC,CAAC;AACR,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,oBAAoB,CAClC,SAAyD,EACzD,MAAsG;IAEtG,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9G,OAAO,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,SAAS,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACtC,KAAK,QAAQ;YACX,OAAO,UAAU,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,UAAU,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACzD,KAAK,MAAM;YACT,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACrC,KAAK,KAAK;YACR,OAAO,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACvD,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACzD,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACxE;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,GAAwC,EAAE,KAAoC;IAC5G,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,CAAY,EAAE,IAAY;IACpD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAkB,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAK,CAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,CAAY,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,CAAU;IAC3C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,IAAI,GAAyB;QACjC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;QACvE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAyB,CAAC;KAC1E,CAAC;IACF,MAAM,OAAO,GAAI,CAAC,CAAC,OAAgC,IAAI,EAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACrB,MAAsB,EACtB,GAAwC;IAExC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,SAAS;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC;YAAE,SAAS;QAC/E,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,KAAK,GAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD,OACE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,GAAG;YACrC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,EACzF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;YAAE,SAAS;QAClD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;gBAAE,KAAK,EAAE,CAAC;iBACrC,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;gBAAE,KAAK,EAAE,CAAC;YAC/C,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,SAAS;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,IAAI,sBAAsB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAChF,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5E,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACjC,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxC,IAAI,UAAU,GAAG,CAAC;oBAAE,UAAU,EAAE,CAAC;YACnC,CAAC;iBAAM,IAAI,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3D,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpF,IAAI,GAAG,GAAG,CAAC;oBAAE,eAAe,EAAE,CAAC;qBAC1B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACnB,eAAe,EAAE,CAAC;oBAClB,MAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;gBACD,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrG,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,WAAW,KAAK,CAAC;YAAE,eAAe,GAAG,CAAC,CAAC;;YACtC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAsB,EACtB,SAAyD,EACzD,UAAqD,EACrD,gBAAuD;IAEvD,kBAAkB;IAClB,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,EAAoB,EAAE;QACnD,sCAAsC;QACtC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,6CAA6C;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9G,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,yCAAyC;QACzC,EAAE;QACF,8DAA8D;QAC9D,qDAAqD;QACrD,kDAAkD;QAClD,gCAAgC;QAChC,kDAAkD;QAClD,EAAE;QACF,kCAAkC;QAClC,6DAA6D;QAC7D,kCAAkC;QAClC,kDAAkD;QAClD,4CAA4C;QAC5C,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC;gBACE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE;YACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAChD,MAAM,WAAW,GAAqB,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3E,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,kBAAkB,CAAC,OAAO;YAChC,IAAI,EAAE,OAAO;SACd,CAAC,CAAC,CAAC;QAEJ,WAAW;QACX,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/F,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,kBAAkB,CAAC,KAAK;gBAC9B,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,WAAW;QACX,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,kBAAkB,CAAC,OAAO;gBAChC,IAAI,EAAE,cAAc,UAAU,EAAE;gBAChC,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,UAAU,CAAC,mBAAmB,CAAC,CAAC,IAAoB,EAAkB,EAAE;QACtE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,oBAAoB,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,iBAAiB,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,kBAAkB,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,qBAAqB,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,UAAU,CAAC,SAAS,CAAC,4BAA4B,EAAE,KAAK,EAAE,MAA2B,EAAiC,EAAE;QACtH,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,IAAI,SAAoB,CAAC;QACzB,IAAI,CAAC;YACH,SAAS,GAAI,GAAiB,IAAK,KAAK,CAAC,IAAI,CAAC,CAAC,GAAiB,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,IAAI,MAAM,GAAmB,IAAI,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,UAAU,GAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC/C,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9C,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/lsp/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 成员访问(`x.` / `x.前缀`)的字段补全(ADR 0051 §5:FIELD_REF 按接收者类型)。
|
|
3
|
+
*
|
|
4
|
+
* ★生产复测(cloud#660 第 5 轮)的三类失败都出在「接收者类型从哪来」:
|
|
5
|
+
* - 行中 `fahrer.` 后还有 ` plus 1.`、zh 行尾 `如果 司机.`:正在输入的这一行让文档语法不完整,
|
|
6
|
+
* 解析器丢弃了所在的声明,R2 也被整体跳过,于是拿不到接收者类型;
|
|
7
|
+
* - `d.a`:旧实现只认「光标紧跟点号」,点号后已输入的前缀直接判为非成员位置。
|
|
8
|
+
* 现在的做法:
|
|
9
|
+
* 1. 按 token 识别成员位置,光标可以在点号后的名字前缀里,返回前缀的替换范围;
|
|
10
|
+
* 2. 依次尝试原文与几份修补过的文本(去掉 `.前缀`、只去前缀、把当前行换成 `返回 接收者.`),
|
|
11
|
+
* 对每份都运行 R1 → lower → R2(不要求全文语法完整,见 resolution.ts resolveForTyping),
|
|
12
|
+
* 取接收者位置的 §4 静态类型;第一份能定出源码 Data 的即为结果。
|
|
13
|
+
* 修补只用于推断类型,不改文档、不发布诊断。
|
|
14
|
+
*/
|
|
15
|
+
import type { CompletionItem } from 'vscode-languageserver/node.js';
|
|
16
|
+
import type { Lexicon } from '../config/lexicons/types.js';
|
|
17
|
+
import type { VocabularyScopes } from '../config/lexicons/identifiers/scopes.js';
|
|
18
|
+
import type { ResolvableDocument } from './resolution.js';
|
|
19
|
+
type Coord = {
|
|
20
|
+
readonly line: number;
|
|
21
|
+
readonly col: number;
|
|
22
|
+
};
|
|
23
|
+
/** 成员补全所需的文档快照:原文、原文坐标的 tokens 与名称解析输入。 */
|
|
24
|
+
export type MemberDocument = {
|
|
25
|
+
readonly text: string;
|
|
26
|
+
readonly tokens: readonly any[];
|
|
27
|
+
} & ResolvableDocument;
|
|
28
|
+
/** 光标处的成员访问(token 坐标:1 基,end 不含)。 */
|
|
29
|
+
export interface MemberAccess {
|
|
30
|
+
/** 接收者(可为点分路径)的起止位置 */
|
|
31
|
+
readonly receiver: {
|
|
32
|
+
readonly start: Coord;
|
|
33
|
+
readonly end: Coord;
|
|
34
|
+
};
|
|
35
|
+
/** 点号的结束位置,即已输入前缀的起点 */
|
|
36
|
+
readonly dotEnd: Coord;
|
|
37
|
+
/** 点号后紧邻的名字的结束位置;没有名字时等于 dotEnd */
|
|
38
|
+
readonly memberEnd: Coord;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 光标是否位于成员访问的成员名位置:紧跟 `recv.` 的点号之后,或在点号后紧邻的名字(已输入前缀)之中。
|
|
42
|
+
* 接收者必须是名字(数字 `1.` 不算)。
|
|
43
|
+
*/
|
|
44
|
+
export declare function memberAccessAt(tokens: readonly any[], pos: {
|
|
45
|
+
line: number;
|
|
46
|
+
character: number;
|
|
47
|
+
}): MemberAccess | null;
|
|
48
|
+
/** 字段的本地化写法:文档词汇中该 struct 字段的主词条;无本地化时为规范名。 */
|
|
49
|
+
export declare function localizedField(vocabulary: VocabularyScopes | undefined, struct: string, canonical: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* 成员位置的字段补全:只列接收者类型(源码 Data)的字段,按文档词汇给本地化写法;
|
|
52
|
+
* 每项带 textEdit,替换点号之后到光标的已输入前缀。不在成员位置或类型未知时返回 null。
|
|
53
|
+
*/
|
|
54
|
+
export declare function memberCompletions(entry: MemberDocument, pos: {
|
|
55
|
+
line: number;
|
|
56
|
+
character: number;
|
|
57
|
+
}, lexicon: Lexicon | undefined): CompletionItem[] | null;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=member-completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member-completion.d.ts","sourceRoot":"","sources":["../../../src/lsp/member-completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAKpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAIjF,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,KAAK,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,GAAG,kBAAkB,CAAC;AAE7G,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;KAAE,CAAC;IAClE,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;CAC3B;AAOD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,GAAG,IAAI,CAcpH;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOlH;AAoDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACxC,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,cAAc,EAAE,GAAG,IAAI,CAUzB"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { CompletionItemKind } from 'vscode-languageserver/node.js';
|
|
2
|
+
import { TokenKind } from '../frontend/tokens.js';
|
|
3
|
+
import { SemanticTokenKind } from '../config/token-kind.js';
|
|
4
|
+
import { EN_US } from '../config/lexicons/en-US.js';
|
|
5
|
+
import { parseDocumentWith } from './parse-document.js';
|
|
6
|
+
import { resolveDocument, resolveForTyping } from './resolution.js';
|
|
7
|
+
const isName = (t) => t?.kind === TokenKind.IDENT || t?.kind === TokenKind.TYPE_IDENT;
|
|
8
|
+
const isDot = (t) => t?.kind === TokenKind.DOT;
|
|
9
|
+
const sameCoord = (a, b) => !!a && !!b && a.line === b.line && a.col === b.col;
|
|
10
|
+
const notAfter = (a, b) => a.line < b.line || (a.line === b.line && a.col <= b.col);
|
|
11
|
+
/**
|
|
12
|
+
* 光标是否位于成员访问的成员名位置:紧跟 `recv.` 的点号之后,或在点号后紧邻的名字(已输入前缀)之中。
|
|
13
|
+
* 接收者必须是名字(数字 `1.` 不算)。
|
|
14
|
+
*/
|
|
15
|
+
export function memberAccessAt(tokens, pos) {
|
|
16
|
+
const cursor = { line: pos.line + 1, col: pos.character + 1 };
|
|
17
|
+
let dot = tokens.findIndex((t) => isDot(t) && sameCoord(t.end, cursor));
|
|
18
|
+
if (dot < 0) {
|
|
19
|
+
const name = tokens.findIndex((t) => isName(t) && t.start && t.end && notAfter(t.start, cursor) && notAfter(cursor, t.end));
|
|
20
|
+
if (name < 1 || !isDot(tokens[name - 1]) || !sameCoord(tokens[name - 1].end, tokens[name].start))
|
|
21
|
+
return null;
|
|
22
|
+
dot = name - 1;
|
|
23
|
+
}
|
|
24
|
+
if (dot < 1 || !isName(tokens[dot - 1]))
|
|
25
|
+
return null;
|
|
26
|
+
const member = tokens[dot + 1];
|
|
27
|
+
const memberEnd = isName(member) && sameCoord(member.start, tokens[dot].end) ? member.end : tokens[dot].end;
|
|
28
|
+
let head = dot - 1;
|
|
29
|
+
while (isDot(tokens[head - 1]) && isName(tokens[head - 2]))
|
|
30
|
+
head -= 2;
|
|
31
|
+
return { receiver: { start: tokens[head].start, end: tokens[dot - 1].end }, dotEnd: tokens[dot].end, memberEnd };
|
|
32
|
+
}
|
|
33
|
+
/** 字段的本地化写法:文档词汇中该 struct 字段的主词条;无本地化时为规范名。 */
|
|
34
|
+
export function localizedField(vocabulary, struct, canonical) {
|
|
35
|
+
const buckets = vocabulary?.fields.get(struct)?.values() ?? [];
|
|
36
|
+
for (const list of buckets) {
|
|
37
|
+
const term = list.find((c) => c.canonical === canonical && c.source === 'term');
|
|
38
|
+
if (term)
|
|
39
|
+
return term.written;
|
|
40
|
+
}
|
|
41
|
+
return canonical;
|
|
42
|
+
}
|
|
43
|
+
/** 把 line 中 [from, to)(0 基)替换为等长空格,保持其余位置不变 */
|
|
44
|
+
const blank = (line, from, to) => line.slice(0, from) + ' '.repeat(Math.max(0, to - from)) + line.slice(to);
|
|
45
|
+
/**
|
|
46
|
+
* 修补候选(都只改光标所在行,保持行号不变):
|
|
47
|
+
* 1. 去掉 `.前缀`:行中 `fahrer. plus 1.` → `fahrer plus 1.`;
|
|
48
|
+
* 2. 只去前缀、保留点号:行尾 `Return d.a` → `Return d. `(点号即句末);
|
|
49
|
+
* 3. 当前行换成 `<缩进><返回> <接收者>.`,并清空其后更深缩进的行:处理 `如果 司机.` 这类
|
|
50
|
+
* 本身就是未完成语句的行(条件、块头)。
|
|
51
|
+
*/
|
|
52
|
+
function candidates(text, access, lexicon) {
|
|
53
|
+
const { receiver, dotEnd, memberEnd } = access;
|
|
54
|
+
const out = [{ text: null, receiver }];
|
|
55
|
+
const lines = text.split('\n');
|
|
56
|
+
const row = dotEnd.line - 1;
|
|
57
|
+
const line = lines[row];
|
|
58
|
+
if (line === undefined || receiver.start.line !== dotEnd.line || memberEnd.line !== dotEnd.line)
|
|
59
|
+
return out;
|
|
60
|
+
const withLine = (replacement, rest = lines.slice(row + 1)) => [...lines.slice(0, row), replacement, ...rest].join('\n');
|
|
61
|
+
out.push({ text: withLine(blank(line, dotEnd.col - 2, memberEnd.col - 1)), receiver });
|
|
62
|
+
out.push({ text: withLine(blank(line, dotEnd.col - 1, memberEnd.col - 1)), receiver });
|
|
63
|
+
const indent = /^\s*/.exec(line)[0];
|
|
64
|
+
const keyword = lexicon.keywords[SemanticTokenKind.RETURN] || EN_US.keywords[SemanticTokenKind.RETURN];
|
|
65
|
+
const path = line.slice(receiver.start.col - 1, receiver.end.col - 1);
|
|
66
|
+
const startCol = indent.length + keyword.length + 2;
|
|
67
|
+
const deeper = (l) => l.trim() !== '' && /^\s*/.exec(l)[0].length > indent.length;
|
|
68
|
+
const following = lines.slice(row + 1);
|
|
69
|
+
const bodyEnd = following.findIndex((l) => !deeper(l) && l.trim() !== '');
|
|
70
|
+
const rest = following.map((l, i) => (bodyEnd === -1 || i < bodyEnd ? '' : l));
|
|
71
|
+
out.push({
|
|
72
|
+
text: withLine(`${indent}${keyword} ${path}.`, rest),
|
|
73
|
+
receiver: { start: { line: receiver.start.line, col: startCol }, end: { line: receiver.start.line, col: startCol + path.length } },
|
|
74
|
+
});
|
|
75
|
+
return out;
|
|
76
|
+
}
|
|
77
|
+
/** 在一份解析结果里找接收者的静态类型对应的源码 Data */
|
|
78
|
+
function dataOf(res, receiver) {
|
|
79
|
+
const typed = res.typedNames.find((t) => sameCoord(t.span.start, receiver.start) && sameCoord(t.span.end, receiver.end));
|
|
80
|
+
const typeName = typed?.type.kind === 'TypeName' ? typed.type.name : undefined;
|
|
81
|
+
return typeName === undefined ? undefined : res.core?.decls.find((d) => d.kind === 'Data' && d.name === typeName);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 成员位置的字段补全:只列接收者类型(源码 Data)的字段,按文档词汇给本地化写法;
|
|
85
|
+
* 每项带 textEdit,替换点号之后到光标的已输入前缀。不在成员位置或类型未知时返回 null。
|
|
86
|
+
*/
|
|
87
|
+
export function memberCompletions(entry, pos, lexicon) {
|
|
88
|
+
const access = memberAccessAt(entry.tokens, pos);
|
|
89
|
+
if (!access)
|
|
90
|
+
return null;
|
|
91
|
+
for (const c of candidates(entry.text, access, lexicon ?? EN_US)) {
|
|
92
|
+
const doc = c.text === null ? entry : parseDocumentWith(c.text, lexicon, entry.vocabulary);
|
|
93
|
+
const complete = !(doc.parseDiagnostics ?? []).some((d) => d.severity === 'error');
|
|
94
|
+
const data = dataOf(complete ? resolveDocument(doc) : resolveForTyping(doc), c.receiver);
|
|
95
|
+
if (data)
|
|
96
|
+
return fieldItems(data, entry.vocabulary, access, pos);
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
function fieldItems(data, vocabulary, access, pos) {
|
|
101
|
+
const range = { start: { line: access.dotEnd.line - 1, character: access.dotEnd.col - 1 }, end: pos };
|
|
102
|
+
return data.fields.map((f) => {
|
|
103
|
+
const label = localizedField(vocabulary, data.name, f.name);
|
|
104
|
+
return {
|
|
105
|
+
label,
|
|
106
|
+
kind: CompletionItemKind.Field,
|
|
107
|
+
...(label === f.name ? {} : { detail: f.name }),
|
|
108
|
+
textEdit: { range, newText: label },
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=member-completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member-completion.js","sourceRoot":"","sources":["../../../src/lsp/member-completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,9 @@ export interface ParsedDocument {
|
|
|
11
11
|
readonly vocabulary?: VocabularyScopes;
|
|
12
12
|
}
|
|
13
13
|
export declare function parseDocumentText(text: string, lexicon: Lexicon | undefined, tenantId: string | undefined, domain: string | undefined): ParsedDocument;
|
|
14
|
+
/**
|
|
15
|
+
* 以已知的词汇作用域解析文本(不查租户注册中心)。补全为推断接收者类型而解析修补后的文本时,
|
|
16
|
+
* 须与原文档用同一 lexicon 与词汇,否则字面量宏与名称解析结果会不一致。
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseDocumentWith(text: string, lexicon: Lexicon | undefined, vocabulary: VocabularyScopes | undefined): ParsedDocument;
|
|
14
19
|
//# sourceMappingURL=parse-document.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-document.d.ts","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC;IACjD,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"parse-document.d.ts","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC;IACjD,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,cAAc,CAGhB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,cAAc,CAyBhB"}
|
|
@@ -23,7 +23,14 @@ import { buildCanonicalizeOptions } from './canonicalize-options.js';
|
|
|
23
23
|
import { alignTokensToSource } from './source-positions.js';
|
|
24
24
|
export function parseDocumentText(text, lexicon, tenantId, domain) {
|
|
25
25
|
const options = buildCanonicalizeOptions(lexicon, tenantId, domain);
|
|
26
|
-
|
|
26
|
+
return parseDocumentWith(text, lexicon, options && 'vocabulary' in options ? options.vocabulary : undefined);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 以已知的词汇作用域解析文本(不查租户注册中心)。补全为推断接收者类型而解析修补后的文本时,
|
|
30
|
+
* 须与原文档用同一 lexicon 与词汇,否则字面量宏与名称解析结果会不一致。
|
|
31
|
+
*/
|
|
32
|
+
export function parseDocumentWith(text, lexicon, vocabulary) {
|
|
33
|
+
const options = lexicon && vocabulary ? { lexicon, vocabulary } : lexicon;
|
|
27
34
|
const can = canonicalize(text, options);
|
|
28
35
|
// ★token 位置改为原文坐标后再解析:AST span 由 token 派生,于是高亮/跳转/hover/重命名/
|
|
29
36
|
// 诊断的位置都对应原文(canonicalize 删冠词等会改变行内长度,见 source-positions.ts)。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-document.js","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAmB,MAAM,+BAA+B,CAAC;AAEjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAY5D,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,OAA4B,EAC5B,QAA4B,EAC5B,MAA0B;IAE1B,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpE,
|
|
1
|
+
{"version":3,"file":"parse-document.js","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAmB,MAAM,+BAA+B,CAAC;AAEjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAY5D,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,OAA4B,EAC5B,QAA4B,EAC5B,MAA0B;IAE1B,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpE,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,OAA4B,EAC5B,UAAwC;IAExC,MAAM,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,6DAA6D;IAC7D,gEAAgE;IAChE,IAAI,MAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,eAAe,CAAC;YAAE,MAAM,KAAK,CAAC;QACrD,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACvF,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IACD,IAAI,GAAqB,CAAC;IAC1B,IAAI,gBAAgB,GAA0B,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,GAAG,GAAG,MAAM,CAAC,GAAgB,CAAC;QAC9B,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;AAClH,CAAC"}
|
|
@@ -32,6 +32,12 @@ export interface ResolvableDocument {
|
|
|
32
32
|
readonly vocabulary?: VocabularyScopes;
|
|
33
33
|
}
|
|
34
34
|
export declare function resolveDocument(doc: ResolvableDocument): DocumentResolution;
|
|
35
|
+
/**
|
|
36
|
+
* 补全推断成员访问接收者类型专用:不论语法是否完整都运行 R1 → lower → R2。
|
|
37
|
+
* 解析器只丢弃未完成的声明,完整声明里参数 / Let 的 §4 静态类型仍然可信;
|
|
38
|
+
* 这里的诊断不发布(级联误报只影响诊断),只用 typedNames 与 Core 的 Data 声明。
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveForTyping(doc: ResolvableDocument): DocumentResolution;
|
|
35
41
|
/** 光标处写法为 word 的解析位置(多个时取最内层)。 */
|
|
36
42
|
export declare function siteAt(res: DocumentResolution, pos: {
|
|
37
43
|
line: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolution.d.ts","sourceRoot":"","sources":["../../../src/lsp/resolution.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAKjF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtG,wBAAwB;AACxB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,8BAA8B;AAC9B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAMD,wBAAgB,eAAe,CAAC,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,CAS3E;AAkKD,kCAAkC;AAClC,wBAAgB,MAAM,CACpB,GAAG,EAAE,kBAAkB,EACvB,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACxC,IAAI,EAAE,MAAM,GACX,cAAc,GAAG,SAAS,CAI5B"}
|
|
1
|
+
{"version":3,"file":"resolution.d.ts","sourceRoot":"","sources":["../../../src/lsp/resolution.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAKjF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtG,wBAAwB;AACxB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,8BAA8B;AAC9B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAMD,wBAAgB,eAAe,CAAC,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,CAS3E;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,CAQ5E;AAkKD,kCAAkC;AAClC,wBAAgB,MAAM,CACpB,GAAG,EAAE,kBAAkB,EACvB,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACxC,IAAI,EAAE,MAAM,GACX,cAAc,GAAG,SAAS,CAI5B"}
|
|
@@ -26,6 +26,23 @@ export function resolveDocument(doc) {
|
|
|
26
26
|
cache.set(ast, result);
|
|
27
27
|
return result;
|
|
28
28
|
}
|
|
29
|
+
const typingCache = new WeakMap();
|
|
30
|
+
/**
|
|
31
|
+
* 补全推断成员访问接收者类型专用:不论语法是否完整都运行 R1 → lower → R2。
|
|
32
|
+
* 解析器只丢弃未完成的声明,完整声明里参数 / Let 的 §4 静态类型仍然可信;
|
|
33
|
+
* 这里的诊断不发布(级联误报只影响诊断),只用 typedNames 与 Core 的 Data 声明。
|
|
34
|
+
*/
|
|
35
|
+
export function resolveForTyping(doc) {
|
|
36
|
+
const ast = doc.ast;
|
|
37
|
+
if (!ast)
|
|
38
|
+
return EMPTY;
|
|
39
|
+
const hit = typingCache.get(ast);
|
|
40
|
+
if (hit)
|
|
41
|
+
return hit;
|
|
42
|
+
const result = safely(() => resolveComplete(ast, doc.vocabulary));
|
|
43
|
+
typingCache.set(ast, result);
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
29
46
|
function safely(run) {
|
|
30
47
|
try {
|
|
31
48
|
return run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../../src/lsp/resolution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../../src/lsp/resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EAEV,SAAS,EACT,OAAO,EAGP,SAAS,EAGT,IAAI,EAIL,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAiElD,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AA4B9C;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAqDP;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAiBP;AAiMD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,EAC7B,kBAAkB,GAAE,gBAAwB,GAC3C,SAAS,CAuMX;AA6ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,CAiBZ;
|
|
1
|
+
{"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EAEV,SAAS,EACT,OAAO,EAGP,SAAS,EAGT,IAAI,EAIL,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAiElD,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AA4B9C;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAqDP;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAiBP;AAiMD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,EAC7B,kBAAkB,GAAE,gBAAwB,GAC3C,SAAS,CAuMX;AA6ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,CAiBZ;AAq/BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,KAAK,KAAK,KAAK,GAC/D,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
|
|
@@ -1645,11 +1645,17 @@ function parsePrimary(ctx, error) {
|
|
|
1645
1645
|
const withTok = ctx.nextWord();
|
|
1646
1646
|
const fields = [];
|
|
1647
1647
|
let hasMore = true;
|
|
1648
|
+
const setToMissing = `Expected '${kw(ctx, KW.SET)} ${kw(ctx, KW.TO_WORD)}' in construction`;
|
|
1648
1649
|
while (hasMore) {
|
|
1649
1650
|
const nameTok = ctx.peek();
|
|
1650
|
-
|
|
1651
|
+
// 字段位置不是名字(如 `helper with 10` 这种 with 调用后缀):与 Java 引擎
|
|
1652
|
+
// (AsterParser.g4 malformedConstructField)同口径,报缺 set to,而不是 "Expected identifier"。
|
|
1653
|
+
const translated = tryReadTranslatedIdent(ctx);
|
|
1654
|
+
if (translated === null && !ctx.at(TokenKind.IDENT))
|
|
1655
|
+
error(setToMissing);
|
|
1656
|
+
const name = translated ?? parseIdent(ctx, error);
|
|
1651
1657
|
if (!ctx.isKeyword(KW.SET))
|
|
1652
|
-
error(
|
|
1658
|
+
error(setToMissing);
|
|
1653
1659
|
const equalsTok = ctx.peek();
|
|
1654
1660
|
ctx.nextWord();
|
|
1655
1661
|
if (!ctx.isKeyword(KW.TO_WORD))
|