agent-ide 0.1.6 → 0.1.8
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/core/analysis/complexity-analyzer.d.ts.map +1 -1
- package/dist/core/analysis/complexity-analyzer.js +3 -2
- package/dist/core/analysis/complexity-analyzer.js.map +1 -1
- package/dist/core/analysis/dead-code-detector.d.ts +34 -10
- package/dist/core/analysis/dead-code-detector.d.ts.map +1 -1
- package/dist/core/analysis/dead-code-detector.js +121 -82
- package/dist/core/analysis/dead-code-detector.js.map +1 -1
- package/dist/core/analysis/index.d.ts +1 -1
- package/dist/core/analysis/index.d.ts.map +1 -1
- package/dist/core/dependency/dependency-analyzer.d.ts.map +1 -1
- package/dist/core/dependency/dependency-analyzer.js +11 -4
- package/dist/core/dependency/dependency-analyzer.js.map +1 -1
- package/dist/core/indexing/index-engine.d.ts +9 -0
- package/dist/core/indexing/index-engine.d.ts.map +1 -1
- package/dist/core/indexing/index-engine.js +60 -1
- package/dist/core/indexing/index-engine.js.map +1 -1
- package/dist/core/move/import-resolver.d.ts +8 -0
- package/dist/core/move/import-resolver.d.ts.map +1 -1
- package/dist/core/move/import-resolver.js +62 -1
- package/dist/core/move/import-resolver.js.map +1 -1
- package/dist/core/move/move-service.d.ts +9 -0
- package/dist/core/move/move-service.d.ts.map +1 -1
- package/dist/core/move/move-service.js +105 -8
- package/dist/core/move/move-service.js.map +1 -1
- package/dist/core/move/types.d.ts +1 -1
- package/dist/core/move/types.d.ts.map +1 -1
- package/dist/core/refactor/extract-function.d.ts +26 -4
- package/dist/core/refactor/extract-function.d.ts.map +1 -1
- package/dist/core/refactor/extract-function.js +300 -48
- package/dist/core/refactor/extract-function.js.map +1 -1
- package/dist/core/rename/reference-updater.d.ts +10 -10
- package/dist/core/rename/reference-updater.d.ts.map +1 -1
- package/dist/core/rename/reference-updater.js +84 -79
- package/dist/core/rename/reference-updater.js.map +1 -1
- package/dist/core/rename/rename-engine.d.ts.map +1 -1
- package/dist/core/rename/rename-engine.js +68 -17
- package/dist/core/rename/rename-engine.js.map +1 -1
- package/dist/infrastructure/parser/base.d.ts +10 -0
- package/dist/infrastructure/parser/base.d.ts.map +1 -1
- package/dist/infrastructure/parser/base.js +39 -0
- package/dist/infrastructure/parser/base.js.map +1 -1
- package/dist/infrastructure/parser/interface.d.ts +12 -0
- package/dist/infrastructure/parser/interface.d.ts.map +1 -1
- package/dist/infrastructure/parser/interface.js +2 -0
- package/dist/infrastructure/parser/interface.js.map +1 -1
- package/dist/interfaces/cli/cli.d.ts +17 -1
- package/dist/interfaces/cli/cli.d.ts.map +1 -1
- package/dist/interfaces/cli/cli.js +220 -43
- package/dist/interfaces/cli/cli.js.map +1 -1
- package/dist/interfaces/cli/output-formatter.d.ts +55 -0
- package/dist/interfaces/cli/output-formatter.d.ts.map +1 -0
- package/dist/interfaces/cli/output-formatter.js +195 -0
- package/dist/interfaces/cli/output-formatter.js.map +1 -0
- package/dist/plugins/javascript/parser.d.ts +10 -0
- package/dist/plugins/javascript/parser.d.ts.map +1 -1
- package/dist/plugins/javascript/parser.js +62 -0
- package/dist/plugins/javascript/parser.js.map +1 -1
- package/dist/plugins/typescript/parser.d.ts +10 -0
- package/dist/plugins/typescript/parser.d.ts.map +1 -1
- package/dist/plugins/typescript/parser.js +59 -0
- package/dist/plugins/typescript/parser.js.map +1 -1
- package/package.json +8 -14
- package/dist/core/performance/analyzer.d.ts +0 -62
- package/dist/core/performance/analyzer.d.ts.map +0 -1
- package/dist/core/performance/analyzer.js +0 -378
- package/dist/core/performance/analyzer.js.map +0 -1
- package/dist/core/performance/cache-manager.d.ts +0 -161
- package/dist/core/performance/cache-manager.d.ts.map +0 -1
- package/dist/core/performance/cache-manager.js +0 -375
- package/dist/core/performance/cache-manager.js.map +0 -1
- package/dist/core/performance/index.d.ts +0 -14
- package/dist/core/performance/index.d.ts.map +0 -1
- package/dist/core/performance/index.js +0 -17
- package/dist/core/performance/index.js.map +0 -1
- package/dist/core/performance/interfaces.d.ts +0 -188
- package/dist/core/performance/interfaces.d.ts.map +0 -1
- package/dist/core/performance/interfaces.js +0 -17
- package/dist/core/performance/interfaces.js.map +0 -1
- package/dist/core/performance/memory-manager.d.ts +0 -176
- package/dist/core/performance/memory-manager.d.ts.map +0 -1
- package/dist/core/performance/memory-manager.js +0 -364
- package/dist/core/performance/memory-manager.js.map +0 -1
- package/dist/core/performance/monitor.d.ts +0 -92
- package/dist/core/performance/monitor.d.ts.map +0 -1
- package/dist/core/performance/monitor.js +0 -228
- package/dist/core/performance/monitor.js.map +0 -1
- package/dist/plugins/swift/index.d.ts +0 -11
- package/dist/plugins/swift/index.d.ts.map +0 -1
- package/dist/plugins/swift/index.js +0 -15
- package/dist/plugins/swift/index.js.map +0 -1
- package/dist/plugins/swift/parser.d.ts +0 -98
- package/dist/plugins/swift/parser.d.ts.map +0 -1
- package/dist/plugins/swift/parser.js +0 -612
- package/dist/plugins/swift/parser.js.map +0 -1
- package/dist/plugins/swift/types.d.ts +0 -196
- package/dist/plugins/swift/types.d.ts.map +0 -1
- package/dist/plugins/swift/types.js +0 -268
- package/dist/plugins/swift/types.js.map +0 -1
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Swift Parser 型別定義
|
|
3
|
-
* 定義 Swift Parser 專用的資料結構和工具函式
|
|
4
|
-
*/
|
|
5
|
-
import type { AST, Symbol, ASTNode, Position, Range, Location } from '../../shared/types/index.js';
|
|
6
|
-
import { SymbolType } from '../../shared/types/index.js';
|
|
7
|
-
/**
|
|
8
|
-
* Swift AST 節點型別
|
|
9
|
-
*/
|
|
10
|
-
export interface SwiftASTNode extends ASTNode {
|
|
11
|
-
/** 原始 tree-sitter 節點 */
|
|
12
|
-
treeNode?: any;
|
|
13
|
-
/** Swift 特定的節點型別 */
|
|
14
|
-
swiftType: SwiftNodeType;
|
|
15
|
-
/** 修飾符 (public, private, static, etc.) */
|
|
16
|
-
modifiers: string[];
|
|
17
|
-
/** 泛型參數 */
|
|
18
|
-
generics: string[];
|
|
19
|
-
/** 協議約束 */
|
|
20
|
-
protocols: string[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Swift AST 結構
|
|
24
|
-
*/
|
|
25
|
-
export interface SwiftAST extends AST {
|
|
26
|
-
root: SwiftASTNode;
|
|
27
|
-
/** tree-sitter 解析樹 */
|
|
28
|
-
tree?: any;
|
|
29
|
-
/** 解析錯誤列表 */
|
|
30
|
-
errors: SwiftParseErrorInfo[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Swift 符號型別
|
|
34
|
-
*/
|
|
35
|
-
export interface SwiftSymbol extends Symbol {
|
|
36
|
-
/** Swift 特定的符號型別 */
|
|
37
|
-
swiftType: SwiftSymbolType;
|
|
38
|
-
/** 可見性修飾符 */
|
|
39
|
-
visibility: SwiftVisibility;
|
|
40
|
-
/** 是否為靜態 */
|
|
41
|
-
isStatic: boolean;
|
|
42
|
-
/** 泛型參數 */
|
|
43
|
-
generics: string[];
|
|
44
|
-
/** 協議約束 */
|
|
45
|
-
protocols: string[];
|
|
46
|
-
/** 屬性 (@objc, @available, etc.) */
|
|
47
|
-
attributes: string[];
|
|
48
|
-
/** 對應的 AST 節點 */
|
|
49
|
-
astNode: SwiftASTNode;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Swift 節點型別枚舉
|
|
53
|
-
*/
|
|
54
|
-
export declare enum SwiftNodeType {
|
|
55
|
-
ClassDeclaration = "class_declaration",
|
|
56
|
-
StructDeclaration = "struct_declaration",
|
|
57
|
-
EnumDeclaration = "enum_declaration",
|
|
58
|
-
ProtocolDeclaration = "protocol_declaration",
|
|
59
|
-
FunctionDeclaration = "function_declaration",
|
|
60
|
-
InitDeclaration = "init_declaration",
|
|
61
|
-
DeinitDeclaration = "deinit_declaration",
|
|
62
|
-
VariableDeclaration = "variable_declaration",
|
|
63
|
-
ConstantDeclaration = "constant_declaration",
|
|
64
|
-
TypeAliasDeclaration = "typealias_declaration",
|
|
65
|
-
ExtensionDeclaration = "extension_declaration",
|
|
66
|
-
IfStatement = "if_statement",
|
|
67
|
-
GuardStatement = "guard_statement",
|
|
68
|
-
SwitchStatement = "switch_statement",
|
|
69
|
-
ForStatement = "for_statement",
|
|
70
|
-
WhileStatement = "while_statement",
|
|
71
|
-
RepeatStatement = "repeat_statement",
|
|
72
|
-
ReturnStatement = "return_statement",
|
|
73
|
-
BreakStatement = "break_statement",
|
|
74
|
-
ContinueStatement = "continue_statement",
|
|
75
|
-
ThrowStatement = "throw_statement",
|
|
76
|
-
CallExpression = "call_expression",
|
|
77
|
-
PropertyAccess = "property_access",
|
|
78
|
-
SubscriptExpression = "subscript_expression",
|
|
79
|
-
ClosureExpression = "closure_expression",
|
|
80
|
-
LiteralExpression = "literal_expression",
|
|
81
|
-
Identifier = "identifier",
|
|
82
|
-
Parameter = "parameter",
|
|
83
|
-
GenericParameter = "generic_parameter",
|
|
84
|
-
TypeAnnotation = "type_annotation",
|
|
85
|
-
Comment = "comment",
|
|
86
|
-
Import = "import",
|
|
87
|
-
Unknown = "unknown"
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Swift 符號型別枚舉
|
|
91
|
-
*/
|
|
92
|
-
export declare enum SwiftSymbolType {
|
|
93
|
-
Class = "class",
|
|
94
|
-
Struct = "struct",
|
|
95
|
-
Enum = "enum",
|
|
96
|
-
Protocol = "protocol",
|
|
97
|
-
Function = "function",
|
|
98
|
-
Method = "method",
|
|
99
|
-
Initializer = "initializer",
|
|
100
|
-
Deinitializer = "deinitializer",
|
|
101
|
-
Property = "property",
|
|
102
|
-
Variable = "variable",
|
|
103
|
-
Constant = "constant",
|
|
104
|
-
TypeAlias = "typealias",
|
|
105
|
-
Extension = "extension",
|
|
106
|
-
EnumCase = "enum_case",
|
|
107
|
-
Parameter = "parameter",
|
|
108
|
-
Generic = "generic"
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Swift 可見性修飾符
|
|
112
|
-
*/
|
|
113
|
-
export declare enum SwiftVisibility {
|
|
114
|
-
Private = "private",
|
|
115
|
-
FilePrivate = "fileprivate",
|
|
116
|
-
Internal = "internal",
|
|
117
|
-
Public = "public",
|
|
118
|
-
Open = "open"
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Swift 解析錯誤介面
|
|
122
|
-
*/
|
|
123
|
-
export interface SwiftParseErrorInfo {
|
|
124
|
-
message: string;
|
|
125
|
-
location: Location;
|
|
126
|
-
severity: 'error' | 'warning';
|
|
127
|
-
code?: string;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Swift 編譯器選項
|
|
131
|
-
*/
|
|
132
|
-
export interface SwiftCompilerOptions {
|
|
133
|
-
/** Swift 版本 */
|
|
134
|
-
swiftVersion: string;
|
|
135
|
-
/** 目標平台 */
|
|
136
|
-
target?: string;
|
|
137
|
-
/** 模組名稱 */
|
|
138
|
-
moduleName?: string;
|
|
139
|
-
/** 是否啟用嚴格模式 */
|
|
140
|
-
strict?: boolean;
|
|
141
|
-
/** 警告等級 */
|
|
142
|
-
warningLevel?: 'none' | 'minimal' | 'all';
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* 預設編譯器選項
|
|
146
|
-
*/
|
|
147
|
-
export declare const DEFAULT_SWIFT_COMPILER_OPTIONS: SwiftCompilerOptions;
|
|
148
|
-
/**
|
|
149
|
-
* Swift 解析錯誤類別
|
|
150
|
-
*/
|
|
151
|
-
export declare class SwiftParseError extends Error {
|
|
152
|
-
readonly location?: Location | undefined;
|
|
153
|
-
readonly code?: string | undefined;
|
|
154
|
-
constructor(message: string, location?: Location | undefined, code?: string | undefined);
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* 建立 Swift AST 節點
|
|
158
|
-
*/
|
|
159
|
-
export declare function createSwiftASTNode(type: SwiftNodeType, range: Range, children?: SwiftASTNode[], treeNode?: any): SwiftASTNode;
|
|
160
|
-
/**
|
|
161
|
-
* 建立 Swift 符號
|
|
162
|
-
*/
|
|
163
|
-
export declare function createSwiftSymbol(name: string, type: SwiftSymbolType, location: Location, astNode: SwiftASTNode, visibility?: SwiftVisibility): SwiftSymbol;
|
|
164
|
-
/**
|
|
165
|
-
* 建立 Swift 解析錯誤
|
|
166
|
-
*/
|
|
167
|
-
export declare function createSwiftParseError(message: string, location?: Location, code?: string): SwiftParseError;
|
|
168
|
-
/**
|
|
169
|
-
* 映射 Swift 符號型別到通用符號型別
|
|
170
|
-
*/
|
|
171
|
-
export declare function mapSwiftSymbolTypeToSymbolType(swiftType: SwiftSymbolType): SymbolType;
|
|
172
|
-
/**
|
|
173
|
-
* 檢查節點是否為宣告
|
|
174
|
-
*/
|
|
175
|
-
export declare function isDeclarationNode(node: SwiftASTNode): boolean;
|
|
176
|
-
/**
|
|
177
|
-
* 檢查節點是否為型別宣告
|
|
178
|
-
*/
|
|
179
|
-
export declare function isTypeDeclarationNode(node: SwiftASTNode): boolean;
|
|
180
|
-
/**
|
|
181
|
-
* 檢查是否為有效的 Swift 識別符
|
|
182
|
-
*/
|
|
183
|
-
export declare function isValidSwiftIdentifier(name: string): boolean;
|
|
184
|
-
/**
|
|
185
|
-
* 檢查是否為 Swift 關鍵字
|
|
186
|
-
*/
|
|
187
|
-
export declare function isSwiftKeyword(name: string): boolean;
|
|
188
|
-
/**
|
|
189
|
-
* 從位置資訊轉換為 Range
|
|
190
|
-
*/
|
|
191
|
-
export declare function positionToRange(start: Position, end?: Position): Range;
|
|
192
|
-
/**
|
|
193
|
-
* 建立基本範圍(Swift 專用的便利函式)
|
|
194
|
-
*/
|
|
195
|
-
export declare function createSwiftRange(startLine: number, startColumn: number, endLine: number, endColumn: number): Range;
|
|
196
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/swift/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Swift Parser 型別定義
|
|
3
|
-
* 定義 Swift Parser 專用的資料結構和工具函式
|
|
4
|
-
*/
|
|
5
|
-
import { SymbolType, createScope, createPosition, createRange as createCoreRange } from '../../shared/types/index.js';
|
|
6
|
-
/**
|
|
7
|
-
* Swift 節點型別枚舉
|
|
8
|
-
*/
|
|
9
|
-
export var SwiftNodeType;
|
|
10
|
-
(function (SwiftNodeType) {
|
|
11
|
-
// 宣告
|
|
12
|
-
SwiftNodeType["ClassDeclaration"] = "class_declaration";
|
|
13
|
-
SwiftNodeType["StructDeclaration"] = "struct_declaration";
|
|
14
|
-
SwiftNodeType["EnumDeclaration"] = "enum_declaration";
|
|
15
|
-
SwiftNodeType["ProtocolDeclaration"] = "protocol_declaration";
|
|
16
|
-
SwiftNodeType["FunctionDeclaration"] = "function_declaration";
|
|
17
|
-
SwiftNodeType["InitDeclaration"] = "init_declaration";
|
|
18
|
-
SwiftNodeType["DeinitDeclaration"] = "deinit_declaration";
|
|
19
|
-
SwiftNodeType["VariableDeclaration"] = "variable_declaration";
|
|
20
|
-
SwiftNodeType["ConstantDeclaration"] = "constant_declaration";
|
|
21
|
-
SwiftNodeType["TypeAliasDeclaration"] = "typealias_declaration";
|
|
22
|
-
SwiftNodeType["ExtensionDeclaration"] = "extension_declaration";
|
|
23
|
-
// 語句
|
|
24
|
-
SwiftNodeType["IfStatement"] = "if_statement";
|
|
25
|
-
SwiftNodeType["GuardStatement"] = "guard_statement";
|
|
26
|
-
SwiftNodeType["SwitchStatement"] = "switch_statement";
|
|
27
|
-
SwiftNodeType["ForStatement"] = "for_statement";
|
|
28
|
-
SwiftNodeType["WhileStatement"] = "while_statement";
|
|
29
|
-
SwiftNodeType["RepeatStatement"] = "repeat_statement";
|
|
30
|
-
SwiftNodeType["ReturnStatement"] = "return_statement";
|
|
31
|
-
SwiftNodeType["BreakStatement"] = "break_statement";
|
|
32
|
-
SwiftNodeType["ContinueStatement"] = "continue_statement";
|
|
33
|
-
SwiftNodeType["ThrowStatement"] = "throw_statement";
|
|
34
|
-
// 表達式
|
|
35
|
-
SwiftNodeType["CallExpression"] = "call_expression";
|
|
36
|
-
SwiftNodeType["PropertyAccess"] = "property_access";
|
|
37
|
-
SwiftNodeType["SubscriptExpression"] = "subscript_expression";
|
|
38
|
-
SwiftNodeType["ClosureExpression"] = "closure_expression";
|
|
39
|
-
SwiftNodeType["LiteralExpression"] = "literal_expression";
|
|
40
|
-
SwiftNodeType["Identifier"] = "identifier";
|
|
41
|
-
// 其他
|
|
42
|
-
SwiftNodeType["Parameter"] = "parameter";
|
|
43
|
-
SwiftNodeType["GenericParameter"] = "generic_parameter";
|
|
44
|
-
SwiftNodeType["TypeAnnotation"] = "type_annotation";
|
|
45
|
-
SwiftNodeType["Comment"] = "comment";
|
|
46
|
-
SwiftNodeType["Import"] = "import";
|
|
47
|
-
SwiftNodeType["Unknown"] = "unknown";
|
|
48
|
-
})(SwiftNodeType || (SwiftNodeType = {}));
|
|
49
|
-
/**
|
|
50
|
-
* Swift 符號型別枚舉
|
|
51
|
-
*/
|
|
52
|
-
export var SwiftSymbolType;
|
|
53
|
-
(function (SwiftSymbolType) {
|
|
54
|
-
SwiftSymbolType["Class"] = "class";
|
|
55
|
-
SwiftSymbolType["Struct"] = "struct";
|
|
56
|
-
SwiftSymbolType["Enum"] = "enum";
|
|
57
|
-
SwiftSymbolType["Protocol"] = "protocol";
|
|
58
|
-
SwiftSymbolType["Function"] = "function";
|
|
59
|
-
SwiftSymbolType["Method"] = "method";
|
|
60
|
-
SwiftSymbolType["Initializer"] = "initializer";
|
|
61
|
-
SwiftSymbolType["Deinitializer"] = "deinitializer";
|
|
62
|
-
SwiftSymbolType["Property"] = "property";
|
|
63
|
-
SwiftSymbolType["Variable"] = "variable";
|
|
64
|
-
SwiftSymbolType["Constant"] = "constant";
|
|
65
|
-
SwiftSymbolType["TypeAlias"] = "typealias";
|
|
66
|
-
SwiftSymbolType["Extension"] = "extension";
|
|
67
|
-
SwiftSymbolType["EnumCase"] = "enum_case";
|
|
68
|
-
SwiftSymbolType["Parameter"] = "parameter";
|
|
69
|
-
SwiftSymbolType["Generic"] = "generic";
|
|
70
|
-
})(SwiftSymbolType || (SwiftSymbolType = {}));
|
|
71
|
-
/**
|
|
72
|
-
* Swift 可見性修飾符
|
|
73
|
-
*/
|
|
74
|
-
export var SwiftVisibility;
|
|
75
|
-
(function (SwiftVisibility) {
|
|
76
|
-
SwiftVisibility["Private"] = "private";
|
|
77
|
-
SwiftVisibility["FilePrivate"] = "fileprivate";
|
|
78
|
-
SwiftVisibility["Internal"] = "internal";
|
|
79
|
-
SwiftVisibility["Public"] = "public";
|
|
80
|
-
SwiftVisibility["Open"] = "open";
|
|
81
|
-
})(SwiftVisibility || (SwiftVisibility = {}));
|
|
82
|
-
/**
|
|
83
|
-
* 預設編譯器選項
|
|
84
|
-
*/
|
|
85
|
-
export const DEFAULT_SWIFT_COMPILER_OPTIONS = {
|
|
86
|
-
swiftVersion: '5.0',
|
|
87
|
-
target: 'x86_64-apple-macosx10.15',
|
|
88
|
-
strict: true,
|
|
89
|
-
warningLevel: 'all'
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* Swift 解析錯誤類別
|
|
93
|
-
*/
|
|
94
|
-
export class SwiftParseError extends Error {
|
|
95
|
-
location;
|
|
96
|
-
code;
|
|
97
|
-
constructor(message, location, code) {
|
|
98
|
-
super(message);
|
|
99
|
-
this.location = location;
|
|
100
|
-
this.code = code;
|
|
101
|
-
this.name = 'SwiftParseError';
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
// 工具函式
|
|
105
|
-
/**
|
|
106
|
-
* 建立 Swift AST 節點
|
|
107
|
-
*/
|
|
108
|
-
export function createSwiftASTNode(type, range, children = [], treeNode) {
|
|
109
|
-
return {
|
|
110
|
-
type: type,
|
|
111
|
-
range,
|
|
112
|
-
properties: {},
|
|
113
|
-
children,
|
|
114
|
-
parent: undefined,
|
|
115
|
-
treeNode,
|
|
116
|
-
swiftType: type,
|
|
117
|
-
modifiers: [],
|
|
118
|
-
generics: [],
|
|
119
|
-
protocols: []
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* 建立 Swift 符號
|
|
124
|
-
*/
|
|
125
|
-
export function createSwiftSymbol(name, type, location, astNode, visibility = SwiftVisibility.Internal) {
|
|
126
|
-
const scope = createScope('global'); // 預設 global scope
|
|
127
|
-
const modifiers = [visibility];
|
|
128
|
-
return {
|
|
129
|
-
name,
|
|
130
|
-
type: mapSwiftSymbolTypeToSymbolType(type),
|
|
131
|
-
location,
|
|
132
|
-
scope,
|
|
133
|
-
modifiers,
|
|
134
|
-
swiftType: type,
|
|
135
|
-
visibility,
|
|
136
|
-
isStatic: false,
|
|
137
|
-
generics: [],
|
|
138
|
-
protocols: [],
|
|
139
|
-
attributes: [],
|
|
140
|
-
astNode
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* 建立 Swift 解析錯誤
|
|
145
|
-
*/
|
|
146
|
-
export function createSwiftParseError(message, location, code) {
|
|
147
|
-
return new SwiftParseError(message, location, code);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* 映射 Swift 符號型別到通用符號型別
|
|
151
|
-
*/
|
|
152
|
-
export function mapSwiftSymbolTypeToSymbolType(swiftType) {
|
|
153
|
-
switch (swiftType) {
|
|
154
|
-
case SwiftSymbolType.Class:
|
|
155
|
-
return SymbolType.Class;
|
|
156
|
-
case SwiftSymbolType.Struct:
|
|
157
|
-
return SymbolType.Class; // Swift struct 對應到 Class
|
|
158
|
-
case SwiftSymbolType.Enum:
|
|
159
|
-
return SymbolType.Enum;
|
|
160
|
-
case SwiftSymbolType.Protocol:
|
|
161
|
-
return SymbolType.Interface;
|
|
162
|
-
case SwiftSymbolType.Function:
|
|
163
|
-
case SwiftSymbolType.Method:
|
|
164
|
-
case SwiftSymbolType.Initializer:
|
|
165
|
-
case SwiftSymbolType.Deinitializer:
|
|
166
|
-
return SymbolType.Function;
|
|
167
|
-
case SwiftSymbolType.Property:
|
|
168
|
-
case SwiftSymbolType.Variable:
|
|
169
|
-
return SymbolType.Variable;
|
|
170
|
-
case SwiftSymbolType.Constant:
|
|
171
|
-
return SymbolType.Constant;
|
|
172
|
-
case SwiftSymbolType.TypeAlias:
|
|
173
|
-
return SymbolType.Type;
|
|
174
|
-
case SwiftSymbolType.Extension:
|
|
175
|
-
return SymbolType.Class;
|
|
176
|
-
case SwiftSymbolType.EnumCase:
|
|
177
|
-
return SymbolType.Constant;
|
|
178
|
-
case SwiftSymbolType.Parameter:
|
|
179
|
-
return SymbolType.Variable;
|
|
180
|
-
case SwiftSymbolType.Generic:
|
|
181
|
-
return SymbolType.Type;
|
|
182
|
-
default:
|
|
183
|
-
return SymbolType.Variable;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* 檢查節點是否為宣告
|
|
188
|
-
*/
|
|
189
|
-
export function isDeclarationNode(node) {
|
|
190
|
-
return [
|
|
191
|
-
SwiftNodeType.ClassDeclaration,
|
|
192
|
-
SwiftNodeType.StructDeclaration,
|
|
193
|
-
SwiftNodeType.EnumDeclaration,
|
|
194
|
-
SwiftNodeType.ProtocolDeclaration,
|
|
195
|
-
SwiftNodeType.FunctionDeclaration,
|
|
196
|
-
SwiftNodeType.InitDeclaration,
|
|
197
|
-
SwiftNodeType.DeinitDeclaration,
|
|
198
|
-
SwiftNodeType.VariableDeclaration,
|
|
199
|
-
SwiftNodeType.ConstantDeclaration,
|
|
200
|
-
SwiftNodeType.TypeAliasDeclaration,
|
|
201
|
-
SwiftNodeType.ExtensionDeclaration
|
|
202
|
-
].includes(node.swiftType);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* 檢查節點是否為型別宣告
|
|
206
|
-
*/
|
|
207
|
-
export function isTypeDeclarationNode(node) {
|
|
208
|
-
return [
|
|
209
|
-
SwiftNodeType.ClassDeclaration,
|
|
210
|
-
SwiftNodeType.StructDeclaration,
|
|
211
|
-
SwiftNodeType.EnumDeclaration,
|
|
212
|
-
SwiftNodeType.ProtocolDeclaration,
|
|
213
|
-
SwiftNodeType.TypeAliasDeclaration
|
|
214
|
-
].includes(node.swiftType);
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* 檢查是否為有效的 Swift 識別符
|
|
218
|
-
*/
|
|
219
|
-
export function isValidSwiftIdentifier(name) {
|
|
220
|
-
// Swift 識別符規則:
|
|
221
|
-
// - 以字母或底線開頭
|
|
222
|
-
// - 後續可包含字母、數字、底線
|
|
223
|
-
// - 支援 Unicode 字符
|
|
224
|
-
const identifierRegex = /^[a-zA-Z_\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF\u1E00-\u1FFF\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793\u2C00-\u2DFF\u2E80-\u2FFF\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44\uFE47-\uFFFD][a-zA-Z0-9_\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF\u1E00-\u1FFF\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793\u2C00-\u2DFF\u2E80-\u2FFF\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44\uFE47-\uFFFD]*$/;
|
|
225
|
-
return identifierRegex.test(name) && !isSwiftKeyword(name);
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* 檢查是否為 Swift 關鍵字
|
|
229
|
-
*/
|
|
230
|
-
export function isSwiftKeyword(name) {
|
|
231
|
-
const keywords = new Set([
|
|
232
|
-
// 宣告關鍵字
|
|
233
|
-
'class', 'struct', 'enum', 'protocol', 'func', 'var', 'let', 'init', 'deinit',
|
|
234
|
-
'extension', 'typealias', 'import', 'subscript', 'operator',
|
|
235
|
-
// 語句關鍵字
|
|
236
|
-
'if', 'else', 'switch', 'case', 'default', 'for', 'in', 'while', 'repeat',
|
|
237
|
-
'break', 'continue', 'return', 'throw', 'throws', 'rethrows', 'try',
|
|
238
|
-
'catch', 'finally', 'defer', 'guard', 'where',
|
|
239
|
-
// 表達式關鍵字
|
|
240
|
-
'as', 'is', 'super', 'self', 'Self', 'new', 'nil', 'true', 'false',
|
|
241
|
-
// 型別關鍵字
|
|
242
|
-
'Any', 'AnyObject', 'Type', 'Protocol',
|
|
243
|
-
// 修飾符
|
|
244
|
-
'public', 'private', 'fileprivate', 'internal', 'open',
|
|
245
|
-
'static', 'class', 'final', 'lazy', 'weak', 'unowned',
|
|
246
|
-
'optional', 'required', 'override', 'mutating', 'nonmutating',
|
|
247
|
-
'dynamic', '@objc', '@nonobjc', '@available', '@discardableResult',
|
|
248
|
-
// 其他
|
|
249
|
-
'associatedtype', 'precedencegroup', 'infix', 'prefix', 'postfix',
|
|
250
|
-
'left', 'right', 'none', 'assignment', 'higherThan', 'lowerThan'
|
|
251
|
-
]);
|
|
252
|
-
return keywords.has(name);
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* 從位置資訊轉換為 Range
|
|
256
|
-
*/
|
|
257
|
-
export function positionToRange(start, end) {
|
|
258
|
-
return createCoreRange(start, end || start);
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* 建立基本範圍(Swift 專用的便利函式)
|
|
262
|
-
*/
|
|
263
|
-
export function createSwiftRange(startLine, startColumn, endLine, endColumn) {
|
|
264
|
-
const start = createPosition(startLine, startColumn);
|
|
265
|
-
const end = createPosition(endLine, endColumn);
|
|
266
|
-
return createCoreRange(start, end);
|
|
267
|
-
}
|
|
268
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/swift/types.ts"],"names":[],"mappings":"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"}
|