agent-ide 0.1.7 → 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/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/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 +13 -1
- package/dist/interfaces/cli/cli.d.ts.map +1 -1
- package/dist/interfaces/cli/cli.js +155 -15
- 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":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAgB,WAAW,EAAE,cAAc,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAiDpI;;GAEG;AACH,MAAM,CAAN,IAAY,aAyCX;AAzCD,WAAY,aAAa;IACvB,KAAK;IACL,uDAAsC,CAAA;IACtC,yDAAwC,CAAA;IACxC,qDAAoC,CAAA;IACpC,6DAA4C,CAAA;IAC5C,6DAA4C,CAAA;IAC5C,qDAAoC,CAAA;IACpC,yDAAwC,CAAA;IACxC,6DAA4C,CAAA;IAC5C,6DAA4C,CAAA;IAC5C,+DAA8C,CAAA;IAC9C,+DAA8C,CAAA;IAE9C,KAAK;IACL,6CAA4B,CAAA;IAC5B,mDAAkC,CAAA;IAClC,qDAAoC,CAAA;IACpC,+CAA8B,CAAA;IAC9B,mDAAkC,CAAA;IAClC,qDAAoC,CAAA;IACpC,qDAAoC,CAAA;IACpC,mDAAkC,CAAA;IAClC,yDAAwC,CAAA;IACxC,mDAAkC,CAAA;IAElC,MAAM;IACN,mDAAkC,CAAA;IAClC,mDAAkC,CAAA;IAClC,6DAA4C,CAAA;IAC5C,yDAAwC,CAAA;IACxC,yDAAwC,CAAA;IACxC,0CAAyB,CAAA;IAEzB,KAAK;IACL,wCAAuB,CAAA;IACvB,uDAAsC,CAAA;IACtC,mDAAkC,CAAA;IAClC,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACrB,CAAC,EAzCW,aAAa,KAAb,aAAa,QAyCxB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAiBX;AAjBD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;IACjB,8CAA2B,CAAA;IAC3B,kDAA+B,CAAA;IAC/B,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,0CAAuB,CAAA;IACvB,0CAAuB,CAAA;IACvB,yCAAsB,CAAA;IACtB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;AACrB,CAAC,EAjBW,eAAe,KAAf,eAAe,QAiB1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,8CAA2B,CAAA;IAC3B,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;AACf,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AA4BD;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAyB;IAClE,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtB;IACA;IAHlB,YACE,OAAe,EACC,QAAmB,EACnB,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAW;QACnB,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,OAAO;AAEP;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAmB,EACnB,KAAY,EACZ,WAA2B,EAAE,EAC7B,QAAc;IAEd,OAAO;QACL,IAAI,EAAE,IAAc;QACpB,KAAK;QACL,UAAU,EAAE,EAAE;QACd,QAAQ;QACR,MAAM,EAAE,SAAS;QACjB,QAAQ;QACR,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,IAAqB,EACrB,QAAkB,EAClB,OAAqB,EACrB,aAA8B,eAAe,CAAC,QAAQ;IAEtD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB;IACvD,MAAM,SAAS,GAAa,CAAC,UAAU,CAAC,CAAC;IAEzC,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,8BAA8B,CAAC,IAAI,CAAC;QAC1C,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS,EAAE,IAAI;QACf,UAAU;QACV,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,QAAmB,EACnB,IAAa;IAEb,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAA0B;IACvE,QAAQ,SAAS,EAAE,CAAC;QACpB,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,KAAK,eAAe,CAAC,MAAM;YACzB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,yBAAyB;QACpD,KAAK,eAAe,CAAC,IAAI;YACvB,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,UAAU,CAAC,SAAS,CAAC;QAC9B,KAAK,eAAe,CAAC,QAAQ,CAAC;QAC9B,KAAK,eAAe,CAAC,MAAM,CAAC;QAC5B,KAAK,eAAe,CAAC,WAAW,CAAC;QACjC,KAAK,eAAe,CAAC,aAAa;YAChC,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,KAAK,eAAe,CAAC,QAAQ,CAAC;QAC9B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,KAAK,eAAe,CAAC,SAAS;YAC5B,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,eAAe,CAAC,SAAS;YAC5B,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,KAAK,eAAe,CAAC,SAAS;YAC5B,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,KAAK,eAAe,CAAC,OAAO;YAC1B,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB;YACE,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAkB;IAClD,OAAO;QACL,aAAa,CAAC,gBAAgB;QAC9B,aAAa,CAAC,iBAAiB;QAC/B,aAAa,CAAC,eAAe;QAC7B,aAAa,CAAC,mBAAmB;QACjC,aAAa,CAAC,mBAAmB;QACjC,aAAa,CAAC,eAAe;QAC7B,aAAa,CAAC,iBAAiB;QAC/B,aAAa,CAAC,mBAAmB;QACjC,aAAa,CAAC,mBAAmB;QACjC,aAAa,CAAC,oBAAoB;QAClC,aAAa,CAAC,oBAAoB;KACnC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAkB;IACtD,OAAO;QACL,aAAa,CAAC,gBAAgB;QAC9B,aAAa,CAAC,iBAAiB;QAC/B,aAAa,CAAC,eAAe;QAC7B,aAAa,CAAC,mBAAmB;QACjC,aAAa,CAAC,oBAAoB;KACnC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,MAAM,eAAe,GAAG,k2BAAk2B,CAAC;IAE33B,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;QACvB,QAAQ;QACR,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;QAC7E,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU;QAE3D,QAAQ;QACR,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ;QACzE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK;QACnE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;QAE7C,SAAS;QACT,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;QAElE,QAAQ;QACR,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;QAEtC,MAAM;QACN,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM;QACtD,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;QACrD,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa;QAC7D,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB;QAElE,KAAK;QACL,gBAAgB,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;QACjE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW;KACjE,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAe,EAAE,GAAc;IAC7D,OAAO,eAAe,CAAC,KAAK,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,WAAmB,EACnB,OAAe,EACf,SAAiB;IAEjB,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC"}
|