@idlizer/core 2.1.10-arktscgen-4 → 2.1.10-arktscgen-6
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/build/lib/src/Language.d.ts +0 -1
- package/build/lib/src/Language.js +1 -3
- package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +18 -7
- package/build/lib/src/LanguageWriters/ArgConvertors.js +95 -103
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +13 -7
- package/build/lib/src/LanguageWriters/LanguageWriter.js +10 -2
- package/build/lib/src/LanguageWriters/common.d.ts +1 -0
- package/build/lib/src/LanguageWriters/common.js +2 -1
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.d.ts +0 -1
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.js +1 -3
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.d.ts +14 -8
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.js +88 -36
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.d.ts +1 -0
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.js +10 -8
- package/build/lib/src/LanguageWriters/convertors/InteropConvertors.js +1 -1
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.js +9 -5
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.d.ts +4 -4
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +98 -44
- package/build/lib/src/LanguageWriters/index.d.ts +5 -4
- package/build/lib/src/LanguageWriters/index.js +8 -15
- package/build/lib/src/LanguageWriters/nameConvertor.d.ts +2 -0
- package/build/lib/src/LanguageWriters/nameConvertor.js +11 -0
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +2 -0
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +13 -1
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +2 -0
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +8 -2
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.d.ts +2 -10
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +52 -92
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.d.ts +8 -0
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.js +75 -27
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +5 -0
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +58 -18
- package/build/lib/src/LibraryInterface.d.ts +0 -1
- package/build/lib/src/config.d.ts +2 -1461
- package/build/lib/src/config.js +16 -32
- package/build/lib/src/configMerge.d.ts +3 -0
- package/build/lib/src/configMerge.js +63 -0
- package/build/lib/src/diagnostictypes.d.ts +1 -5
- package/build/lib/src/diagnostictypes.js +1 -27
- package/build/lib/src/from-idl/DtsPrinter.js +13 -6
- package/build/lib/src/from-idl/IDLLinter.d.ts +3 -4
- package/build/lib/src/from-idl/IDLLinter.js +30 -32
- package/build/lib/src/from-idl/deserialize.d.ts +3 -4
- package/build/lib/src/from-idl/deserialize.js +30 -642
- package/build/lib/src/from-idl/parser.d.ts +20 -2
- package/build/lib/src/from-idl/parser.js +97 -29
- package/build/lib/src/idl/builders.d.ts +43 -0
- package/build/lib/src/idl/builders.js +135 -0
- package/build/lib/src/idl/discriminators.d.ts +53 -0
- package/build/lib/src/idl/discriminators.js +232 -0
- package/build/lib/src/idl/dump.d.ts +48 -0
- package/build/lib/src/idl/dump.js +327 -0
- package/build/lib/src/idl/index.d.ts +9 -0
- package/build/lib/src/idl/index.js +23 -0
- package/build/lib/src/idl/keywords.d.ts +2 -0
- package/build/lib/src/{options.js → idl/keywords.js} +7 -3
- package/build/lib/src/idl/node.d.ts +233 -0
- package/build/lib/src/idl/node.js +103 -0
- package/build/lib/src/idl/stdlib.d.ts +34 -0
- package/build/lib/src/idl/stdlib.js +54 -0
- package/build/lib/src/idl/utils.d.ts +44 -0
- package/build/lib/src/idl/utils.js +215 -0
- package/build/lib/src/idl/visitors.d.ts +15 -0
- package/build/lib/src/idl/visitors.js +593 -0
- package/build/lib/src/index.d.ts +5 -6
- package/build/lib/src/index.js +6 -7
- package/build/lib/src/inheritance.d.ts +0 -2
- package/build/lib/src/inheritance.js +0 -17
- package/build/lib/src/inputPaths.d.ts +11 -0
- package/build/lib/src/inputPaths.js +81 -0
- package/build/lib/src/languageSpecificKeywords.d.ts +0 -1
- package/build/lib/src/languageSpecificKeywords.js +0 -5
- package/build/lib/src/peer-generation/ConflictingDeclarations.d.ts +6 -0
- package/build/lib/src/peer-generation/ConflictingDeclarations.js +43 -0
- package/build/lib/src/peer-generation/LayoutManager.d.ts +3 -1
- package/build/lib/src/peer-generation/LayoutManager.js +15 -0
- package/build/lib/src/peer-generation/Materialized.d.ts +8 -0
- package/build/lib/src/peer-generation/Materialized.js +26 -1
- package/build/lib/src/peer-generation/PeerLibrary.d.ts +10 -18
- package/build/lib/src/peer-generation/PeerLibrary.js +63 -227
- package/build/lib/src/peer-generation/ReferenceResolver.d.ts +6 -1
- package/build/lib/src/peer-generation/ReferenceResolver.js +93 -2
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.d.ts +6 -0
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.js +15 -3
- package/build/lib/src/peer-generation/idl/common.d.ts +6 -2
- package/build/lib/src/peer-generation/idl/common.js +7 -7
- package/build/lib/src/peer-generation/isMaterialized.js +2 -3
- package/build/lib/src/peer-generation/modules.js +2 -0
- package/build/lib/src/peer-generation/toDeclaration.d.ts +4 -0
- package/build/lib/src/peer-generation/toDeclaration.js +53 -0
- package/build/lib/src/peer-generation/unions.d.ts +1 -1
- package/build/lib/src/peer-generation/unions.js +15 -7
- package/build/lib/src/resolveNamedNode.d.ts +1 -0
- package/build/lib/src/resolveNamedNode.js +7 -0
- package/build/lib/src/transformers/FqnTransformer.d.ts +1 -1
- package/build/lib/src/transformers/FqnTransformer.js +20 -12
- package/build/lib/src/transformers/GenericTransformer.d.ts +4 -3
- package/build/lib/src/transformers/GenericTransformer.js +252 -158
- package/build/lib/src/transformers/IdlTransformer.d.ts +6 -0
- package/build/lib/src/transformers/IdlTransformer.js +7 -0
- package/build/lib/src/transformers/NullTransformer.d.ts +1 -1
- package/build/lib/src/transformers/NullTransformer.js +27 -21
- package/build/lib/src/transformers/OnSerializeTransformer.d.ts +1 -1
- package/build/lib/src/transformers/OnSerializeTransformer.js +28 -13
- package/build/lib/src/util.d.ts +9 -39
- package/build/lib/src/util.js +65 -369
- package/package.json +44 -49
- package/build/lib/src/LanguageWriters/convertors/JavaConvertors.d.ts +0 -37
- package/build/lib/src/LanguageWriters/convertors/JavaConvertors.js +0 -210
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.d.ts +0 -83
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.js +0 -295
- package/build/lib/src/from-idl/webidl2-utils.d.ts +0 -21
- package/build/lib/src/from-idl/webidl2-utils.js +0 -87
- package/build/lib/src/idl.d.ts +0 -439
- package/build/lib/src/idl.js +0 -1367
- package/build/lib/src/idlize.d.ts +0 -25
- package/build/lib/src/idlize.js +0 -198
- package/build/lib/src/options.d.ts +0 -13
- package/build/lib/src/peer-generation/BuilderClass.d.ts +0 -20
- package/build/lib/src/peer-generation/BuilderClass.js +0 -68
- package/webidl2.js/dist/webidl2.js +0 -4622
- package/webidl2.js/package.json +0 -55
|
@@ -26,7 +26,6 @@ export class Language {
|
|
|
26
26
|
static fromString(name) {
|
|
27
27
|
switch (name) {
|
|
28
28
|
case "arkts": return Language.ARKTS;
|
|
29
|
-
case "java": return Language.JAVA;
|
|
30
29
|
case "ts": return Language.TS;
|
|
31
30
|
case "cangjie": return Language.CJ;
|
|
32
31
|
case "cpp": return Language.CPP;
|
|
@@ -37,8 +36,7 @@ export class Language {
|
|
|
37
36
|
}
|
|
38
37
|
Language.TS = new Language("TS", ".ts");
|
|
39
38
|
Language.ARKTS = new Language("ArkTS", ".ts"); // using .ts for ArkTS until we get rit of tsc preprocessing
|
|
40
|
-
Language.
|
|
41
|
-
Language.CPP = new Language("C++", ".cc");
|
|
39
|
+
Language.CPP = new Language("C++", ".cpp");
|
|
42
40
|
Language.CJ = new Language("CangJie", ".cj");
|
|
43
41
|
Language.KOTLIN = new Language("Kotlin", ".kt");
|
|
44
42
|
//# sourceMappingURL=Language.js.map
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as idl from "../idl";
|
|
2
2
|
import { Language } from "../Language";
|
|
3
|
-
import { ExpressionAssigner, LanguageExpression, LanguageStatement, LanguageWriter
|
|
3
|
+
import { BranchStatement, ExpressionAssigner, LanguageExpression, LanguageStatement, LanguageWriter } from "./LanguageWriter";
|
|
4
4
|
import { NativeModuleType, RuntimeType } from "./common";
|
|
5
5
|
import { LibraryInterface } from "../LibraryInterface";
|
|
6
6
|
import { ReferenceResolver } from "../peer-generation/ReferenceResolver";
|
|
7
7
|
import { PeerLibrary } from "../peer-generation/PeerLibrary";
|
|
8
|
-
|
|
9
|
-
export declare function getSerializerName(declaration: idl.IDLEntry): string;
|
|
8
|
+
export declare function getSerializerName(_library: LibraryInterface, _language: Language, declaration: idl.IDLEntry): string;
|
|
10
9
|
export interface ArgConvertor {
|
|
11
10
|
param: string;
|
|
12
11
|
idlType: idl.IDLType;
|
|
@@ -26,9 +25,6 @@ export interface ArgConvertor {
|
|
|
26
25
|
getMembers(): string[];
|
|
27
26
|
getObjectAccessor(languge: Language, value: string, args?: Record<string, string>, writer?: LanguageWriter): string;
|
|
28
27
|
}
|
|
29
|
-
export declare function isDirectConvertedType(originalType: idl.IDLType | undefined, library: PeerLibrary): boolean;
|
|
30
|
-
export declare function isVMContextMethod(method: Method | PeerMethodSignature): boolean;
|
|
31
|
-
export declare function isDirectMethod(method: Method, library: PeerLibrary): boolean;
|
|
32
28
|
export declare abstract class BaseArgConvertor implements ArgConvertor {
|
|
33
29
|
idlType: idl.IDLType;
|
|
34
30
|
runtimeTypes: RuntimeType[];
|
|
@@ -106,8 +102,9 @@ export declare class NumberConvertor extends BaseArgConvertor {
|
|
|
106
102
|
isPointerType(): boolean;
|
|
107
103
|
}
|
|
108
104
|
export declare class NumericConvertor extends BaseArgConvertor {
|
|
105
|
+
protected library: LibraryInterface;
|
|
109
106
|
private readonly interopNameConvertor;
|
|
110
|
-
constructor(param: string, type: idl.IDLPrimitiveType);
|
|
107
|
+
constructor(library: LibraryInterface, param: string, type: idl.IDLPrimitiveType);
|
|
111
108
|
convertorArg(param: string, writer: LanguageWriter): string;
|
|
112
109
|
convertorSerialize(param: string, value: string, writer: LanguageWriter): LanguageStatement;
|
|
113
110
|
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter): LanguageStatement;
|
|
@@ -277,6 +274,13 @@ export declare class OptionConvertor extends BaseArgConvertor {
|
|
|
277
274
|
isPointerType(): boolean;
|
|
278
275
|
getObjectAccessor(language: Language, value: string, args?: Record<string, string>): string;
|
|
279
276
|
}
|
|
277
|
+
declare class ConvertorItem {
|
|
278
|
+
convertor: ArgConvertor;
|
|
279
|
+
index: number;
|
|
280
|
+
type: idl.IDLType;
|
|
281
|
+
elemName?: string | undefined;
|
|
282
|
+
constructor(convertor: ArgConvertor, index: number, type: idl.IDLType, elemName?: string | undefined);
|
|
283
|
+
}
|
|
280
284
|
export declare class UnionConvertor extends BaseArgConvertor {
|
|
281
285
|
private library;
|
|
282
286
|
private type;
|
|
@@ -284,7 +288,13 @@ export declare class UnionConvertor extends BaseArgConvertor {
|
|
|
284
288
|
private unionChecker;
|
|
285
289
|
constructor(library: LibraryInterface, param: string, type: idl.IDLUnionType);
|
|
286
290
|
convertorArg(param: string, writer: LanguageWriter): string;
|
|
291
|
+
isSequence(type: idl.IDLType): boolean;
|
|
292
|
+
isIndexedDiscriminator(writer: LanguageWriter): boolean;
|
|
287
293
|
convertorSerialize(param: string, value: string, printer: LanguageWriter): LanguageStatement;
|
|
294
|
+
makeStoreSelector(param: string, index: number, printer: LanguageWriter): LanguageStatement;
|
|
295
|
+
makeBranch(param: string, value: string, printer: LanguageWriter, convertorItem: ConvertorItem): BranchStatement;
|
|
296
|
+
makeArrayBranch(param: string, value: string, printer: LanguageWriter, arrayConvertorItems: ConvertorItem[]): BranchStatement[];
|
|
297
|
+
convertorSerializeMultiBranch(param: string, value: string, printer: LanguageWriter, convertors: ConvertorItem[]): LanguageStatement;
|
|
288
298
|
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter): LanguageStatement;
|
|
289
299
|
nativeType(): idl.IDLType;
|
|
290
300
|
interopType(): idl.IDLType;
|
|
@@ -356,4 +366,5 @@ export declare class TransformOnSerializeConvertor extends BaseArgConvertor {
|
|
|
356
366
|
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter): LanguageStatement;
|
|
357
367
|
}
|
|
358
368
|
export declare function createOutArgConvertor(library: PeerLibrary, type: idl.IDLType | undefined, otherParams: string[]): ArgConvertor | undefined;
|
|
369
|
+
export {};
|
|
359
370
|
//# sourceMappingURL=ArgConvertors.d.ts.map
|
|
@@ -14,84 +14,17 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import * as idl from "../idl";
|
|
16
16
|
import { Language } from "../Language";
|
|
17
|
-
import { BlockStatement, PrintHint, StringExpression,
|
|
17
|
+
import { BlockStatement, PrintHint, StringExpression, NamedMethodSignature, ProxyStatement, ExpressionStatement } from "./LanguageWriter";
|
|
18
18
|
import { RuntimeType } from "./common";
|
|
19
19
|
import { generatorConfiguration, generatorTypePrefix } from "../config";
|
|
20
20
|
import { capitalize, getExtractor, getTransformer, hashCodeFromString, throwException, warn } from "../util";
|
|
21
21
|
import { UnionRuntimeTypeChecker } from "../peer-generation/unions";
|
|
22
22
|
import { CppConvertor, CppNameConvertor } from "./convertors/CppConvertors";
|
|
23
|
-
import { createEmptyReferenceResolver } from "../peer-generation/ReferenceResolver";
|
|
24
23
|
import { PrimitiveTypesInstance } from "../peer-generation/PrimitiveType";
|
|
25
|
-
import { qualifiedName } from "../peer-generation/idl/common";
|
|
26
24
|
import { LayoutNodeRole } from "../peer-generation/LayoutManager";
|
|
27
|
-
import { PeerMethodSignature } from "../peer-generation/PeerMethod";
|
|
28
25
|
import { isInExternalModule } from "../peer-generation/modules";
|
|
29
|
-
export function getSerializerName(declaration) {
|
|
30
|
-
return `${idl.getQualifiedName(declaration, "namespace.name").split('.').join('
|
|
31
|
-
}
|
|
32
|
-
export function isDirectConvertedType(originalType, library) {
|
|
33
|
-
const debug = false;
|
|
34
|
-
if (originalType == undefined)
|
|
35
|
-
return true; // TODO: is it correct?
|
|
36
|
-
if (debug)
|
|
37
|
-
console.log(`IDL type ${idl.DebugUtils.debugPrintType(originalType)}`);
|
|
38
|
-
if (originalType == idl.IDLInteropReturnBufferType)
|
|
39
|
-
return false;
|
|
40
|
-
if (originalType == idl.IDLThisType)
|
|
41
|
-
return true; /* Because this type for native is pointer, right? */
|
|
42
|
-
if (originalType == idl.IDLSerializerBuffer)
|
|
43
|
-
return true;
|
|
44
|
-
let convertor = library.typeConvertor("x", originalType, false);
|
|
45
|
-
// Resolve aliases.
|
|
46
|
-
while (convertor instanceof TypeAliasConvertor) {
|
|
47
|
-
convertor = convertor.convertor;
|
|
48
|
-
}
|
|
49
|
-
if (convertor instanceof ArrayConvertor ||
|
|
50
|
-
convertor instanceof CustomTypeConvertor ||
|
|
51
|
-
convertor instanceof UnionConvertor ||
|
|
52
|
-
convertor instanceof CallbackConvertor ||
|
|
53
|
-
convertor instanceof MapConvertor ||
|
|
54
|
-
convertor instanceof TupleConvertor ||
|
|
55
|
-
convertor instanceof AggregateConvertor ||
|
|
56
|
-
convertor instanceof OptionConvertor ||
|
|
57
|
-
convertor instanceof ImportTypeConvertor) {
|
|
58
|
-
// try { console.log(`convertor is ${convertor.constructor.name} for ${JSON.stringify(originalType)}`) } catch (e) {}
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
let type = convertor.interopType();
|
|
62
|
-
if (debug)
|
|
63
|
-
console.log(`converted type ${idl.DebugUtils.debugPrintType(originalType)}`);
|
|
64
|
-
let result = type == idl.IDLI8Type || type == idl.IDLU8Type
|
|
65
|
-
|| type == idl.IDLI16Type || type == idl.IDLU16Type
|
|
66
|
-
|| type == idl.IDLI32Type || type == idl.IDLU32Type
|
|
67
|
-
|| type == idl.IDLF32Type
|
|
68
|
-
|| type == idl.IDLI64Type || type == idl.IDLU64Type
|
|
69
|
-
|| type == idl.IDLPointerType
|
|
70
|
-
|| type == idl.IDLBooleanType
|
|
71
|
-
|| type == idl.IDLVoidType
|
|
72
|
-
|| type == idl.IDLUndefinedType
|
|
73
|
-
|| type == idl.IDLSerializerBuffer
|
|
74
|
-
|| type == idl.IDLNumberType;
|
|
75
|
-
if (!result && debug)
|
|
76
|
-
console.log(`type ${idl.DebugUtils.debugPrintType(type)} is not direct`);
|
|
77
|
-
return result;
|
|
78
|
-
}
|
|
79
|
-
export function isVMContextMethod(method) {
|
|
80
|
-
var _a, _b;
|
|
81
|
-
const isPromise = !!idl.asPromise(method instanceof PeerMethodSignature ? method.returnType : method.signature.returnType);
|
|
82
|
-
return isPromise ||
|
|
83
|
-
!!((_a = method.modifiers) === null || _a === void 0 ? void 0 : _a.includes(MethodModifier.THROWS)) ||
|
|
84
|
-
!!((_b = method.modifiers) === null || _b === void 0 ? void 0 : _b.includes(MethodModifier.FORCE_CONTEXT)) ||
|
|
85
|
-
generatorConfiguration().forceContext.includes(method.name);
|
|
86
|
-
}
|
|
87
|
-
export function isDirectMethod(method, library) {
|
|
88
|
-
if (isVMContextMethod(method)) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
let result = isDirectConvertedType(method.signature.returnType, library) &&
|
|
92
|
-
method.signature.args.every((arg) => isDirectConvertedType(arg, library));
|
|
93
|
-
// if (!result) console.log(`method ${method.name} is not direct`)
|
|
94
|
-
return result;
|
|
26
|
+
export function getSerializerName(_library, _language, declaration) {
|
|
27
|
+
return `${idl.getQualifiedName(declaration, "package.namespace.name").split('.').map(capitalize).join('')}SerializerImpl`;
|
|
95
28
|
}
|
|
96
29
|
export class BaseArgConvertor {
|
|
97
30
|
constructor(idlType, runtimeTypes, isScoped, useArray, param) {
|
|
@@ -298,10 +231,11 @@ export class NumberConvertor extends BaseArgConvertor {
|
|
|
298
231
|
}
|
|
299
232
|
}
|
|
300
233
|
export class NumericConvertor extends BaseArgConvertor {
|
|
301
|
-
constructor(param, type) {
|
|
234
|
+
constructor(library, param, type) {
|
|
302
235
|
// check numericPrimitiveTypes.include(type)
|
|
303
236
|
super(type, [RuntimeType.NUMBER], false, false, param);
|
|
304
|
-
this.
|
|
237
|
+
this.library = library;
|
|
238
|
+
this.interopNameConvertor = new CppNameConvertor(this.library);
|
|
305
239
|
}
|
|
306
240
|
convertorArg(param, writer) {
|
|
307
241
|
return param;
|
|
@@ -368,7 +302,7 @@ export class ObjectConvertor extends BaseArgConvertor {
|
|
|
368
302
|
return assigneer(writer.makeCast(writer.makeMethodCall(deserializerName, 'readObject', []), this.idlType, { optional: false }));
|
|
369
303
|
}
|
|
370
304
|
holdResource(name, holder, writer) {
|
|
371
|
-
writer.writeStatement(writer.makeAssign(name, idl.createReferenceType(`CallbackResource`), writer.makeString(`{${this.param}.resource.resourceId, holdManagedCallbackResource, releaseManagedCallbackResource}`), true));
|
|
305
|
+
writer.writeStatement(writer.makeAssign(name, idl.createReferenceType(`idlize.stdlib.CallbackResource`), writer.makeString(`{${this.param}.resource.resourceId, holdManagedCallbackResource, releaseManagedCallbackResource}`), true));
|
|
372
306
|
writer.writeExpressionStatement(writer.makeMethodCall(holder, 'holdCallbackResource', [
|
|
373
307
|
writer.makeString('&' + name)
|
|
374
308
|
]));
|
|
@@ -541,8 +475,8 @@ export class TupleConvertor extends AggregateConvertor {
|
|
|
541
475
|
convertorSerialize(param, value, printer) {
|
|
542
476
|
const stmts = this.memberConvertors.flatMap((it, index) => {
|
|
543
477
|
return [
|
|
544
|
-
printer.makeAssign(`${value}
|
|
545
|
-
it.convertorSerialize(param, `${value}
|
|
478
|
+
printer.makeAssign(`${value}N${index}`, undefined, printer.makeTupleAccess(value, index), true),
|
|
479
|
+
it.convertorSerialize(param, `${value}N${index}`, printer)
|
|
546
480
|
];
|
|
547
481
|
});
|
|
548
482
|
return printer.makeBlock(stmts, false);
|
|
@@ -577,12 +511,12 @@ export class InterfaceConvertor extends BaseArgConvertor {
|
|
|
577
511
|
throw new Error("Must never be used");
|
|
578
512
|
}
|
|
579
513
|
convertorSerialize(param, value, writer) {
|
|
580
|
-
const accessor = getSerializerName(this.declaration);
|
|
514
|
+
const accessor = getSerializerName(this.library, writer.language, this.declaration);
|
|
581
515
|
writer.addFeature(accessor, this.library.layout.resolve({ node: this.declaration, role: LayoutNodeRole.SERIALIZER }));
|
|
582
516
|
return writer.makeStatement(writer.makeStaticMethodCall(accessor, 'write', [writer.makeString(`${param}Serializer`), writer.makeString(writer.escapeKeyword(value))]));
|
|
583
517
|
}
|
|
584
518
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
585
|
-
const accessor = getSerializerName(this.declaration);
|
|
519
|
+
const accessor = getSerializerName(this.library, writer.language, this.declaration);
|
|
586
520
|
writer.addFeature(accessor, this.library.layout.resolve({ node: this.declaration, role: LayoutNodeRole.SERIALIZER }));
|
|
587
521
|
return assigneer(writer.makeStaticMethodCall(accessor, 'read', [writer.makeString(deserializerName)]));
|
|
588
522
|
}
|
|
@@ -882,13 +816,13 @@ export class OptionConvertor extends BaseArgConvertor {
|
|
|
882
816
|
throw new Error("Must never be used");
|
|
883
817
|
}
|
|
884
818
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
885
|
-
const runtimeBufferName = `${bufferName}
|
|
819
|
+
const runtimeBufferName = `${bufferName}RuntimeType`;
|
|
886
820
|
const statements = [];
|
|
887
821
|
statements.push(writer.makeAssign(runtimeBufferName, undefined, writer.makeCast(writer.makeString(`${deserializerName}.readInt8()`), writer.getRuntimeType()), true));
|
|
888
822
|
const bufferType = this.nativeType();
|
|
889
823
|
statements.push(writer.makeAssign(bufferName, bufferType, writer.language === Language.CPP ? undefined : writer.makeNull(this.type), true, false)); // maybe change to generic None
|
|
890
824
|
const thenStatement = new BlockStatement([
|
|
891
|
-
this.typeConvertor.convertorDeserialize(`${bufferName}
|
|
825
|
+
this.typeConvertor.convertorDeserialize(`${bufferName}Opt`, deserializerName, (expr) => {
|
|
892
826
|
const receiver = writer.language === Language.CPP
|
|
893
827
|
? `${bufferName}.value` : bufferName;
|
|
894
828
|
return writer.makeAssign(receiver, undefined, expr, false);
|
|
@@ -912,6 +846,14 @@ export class OptionConvertor extends BaseArgConvertor {
|
|
|
912
846
|
return language === Language.CPP ? `${value}.value` : value;
|
|
913
847
|
}
|
|
914
848
|
}
|
|
849
|
+
class ConvertorItem {
|
|
850
|
+
constructor(convertor, index, type, elemName) {
|
|
851
|
+
this.convertor = convertor;
|
|
852
|
+
this.index = index;
|
|
853
|
+
this.type = type;
|
|
854
|
+
this.elemName = elemName;
|
|
855
|
+
}
|
|
856
|
+
}
|
|
915
857
|
export class UnionConvertor extends BaseArgConvertor {
|
|
916
858
|
constructor(library, param, type) {
|
|
917
859
|
super(idl.IDLObjectType, [], false, true, param);
|
|
@@ -925,20 +867,68 @@ export class UnionConvertor extends BaseArgConvertor {
|
|
|
925
867
|
convertorArg(param, writer) {
|
|
926
868
|
throw new Error("Do not use for union");
|
|
927
869
|
}
|
|
870
|
+
isSequence(type) {
|
|
871
|
+
return idl.isContainerType(type) && idl.IDLContainerUtils.isSequence(type);
|
|
872
|
+
}
|
|
873
|
+
isIndexedDiscriminator(writer) {
|
|
874
|
+
// Indexed discriminator is only used in CPP
|
|
875
|
+
// All other languages check the first array element type for arrays discrimination
|
|
876
|
+
if (writer.language == Language.CPP)
|
|
877
|
+
return true;
|
|
878
|
+
return false;
|
|
879
|
+
}
|
|
928
880
|
convertorSerialize(param, value, printer) {
|
|
929
|
-
const
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
881
|
+
const convertorItems = this.memberConvertors.map((it, index) => new ConvertorItem(it, index, it.idlType));
|
|
882
|
+
if (this.isIndexedDiscriminator(printer))
|
|
883
|
+
return printer.makeMultiBranchCondition(convertorItems.map(it => this.makeBranch(param, value, printer, it)));
|
|
884
|
+
// Make arrays type descrimination
|
|
885
|
+
return this.convertorSerializeMultiBranch(param, value, printer, convertorItems);
|
|
886
|
+
}
|
|
887
|
+
makeStoreSelector(param, index, printer) {
|
|
888
|
+
return printer.makeStatement(printer.makeMethodCall(`${param}Serializer`, "writeInt8", [printer.makeString(printer.castToInt(index.toString(), 8))]));
|
|
889
|
+
}
|
|
890
|
+
makeBranch(param, value, printer, convertorItem) {
|
|
891
|
+
var _a;
|
|
892
|
+
const convertor = convertorItem.convertor;
|
|
893
|
+
const index = convertorItem.index;
|
|
894
|
+
const type = convertorItem.type;
|
|
895
|
+
const discriminator = this.unionChecker.makeDiscriminator((_a = convertorItem.elemName) !== null && _a !== void 0 ? _a : value, index, printer, this.library, type);
|
|
896
|
+
const statements = [];
|
|
897
|
+
statements.push(this.makeStoreSelector(param, index, printer));
|
|
898
|
+
if (!(convertor instanceof UndefinedConvertor)) {
|
|
899
|
+
const varName = `${value}ForIdx${index}`;
|
|
900
|
+
statements.push(printer.makeAssign(varName, undefined, printer.makeUnionVariantCast(convertor.getObjectAccessor(printer.language, value), printer.getNodeName(convertor.idlType), convertor, index), true));
|
|
901
|
+
statements.push(convertor.convertorSerialize(param, varName, printer));
|
|
902
|
+
}
|
|
903
|
+
const stmt = new BlockStatement(statements, false);
|
|
904
|
+
return { expr: discriminator, stmt };
|
|
905
|
+
}
|
|
906
|
+
makeArrayBranch(param, value, printer, arrayConvertorItems) {
|
|
907
|
+
if (arrayConvertorItems.length == 0)
|
|
908
|
+
return [];
|
|
909
|
+
const arrayConvertorItem = arrayConvertorItems[0];
|
|
910
|
+
const elemName = `${value}Elem`;
|
|
911
|
+
const elemAccess = printer.makeString(`${value}[0]`);
|
|
912
|
+
const checkZeroArray = printer.makeCondition(printer.makeString(`${value}.length == 0`), new BlockStatement([
|
|
913
|
+
this.makeStoreSelector(param, arrayConvertorItem.index, printer),
|
|
914
|
+
printer.makeStatement(printer.makeMethodCall(`${param}Serializer`, "writeInt32", [printer.makeString("0")]))
|
|
915
|
+
], true, false), new BlockStatement([
|
|
916
|
+
printer.makeAssign(elemName, undefined, elemAccess, true, true),
|
|
917
|
+
this.convertorSerializeMultiBranch(param, value, printer, arrayConvertorItems.map(it => new ConvertorItem(it.convertor, it.index, it.type.elementType[0], elemName)))
|
|
918
|
+
], true, false));
|
|
919
|
+
const arrayMultiBranch = {
|
|
920
|
+
expr: this.unionChecker.makeDiscriminator(value, arrayConvertorItems[0].index, printer, this.library, arrayConvertorItem.type),
|
|
921
|
+
stmt: checkZeroArray
|
|
922
|
+
};
|
|
923
|
+
return [arrayMultiBranch];
|
|
924
|
+
}
|
|
925
|
+
convertorSerializeMultiBranch(param, value, printer, convertors) {
|
|
926
|
+
return printer.makeMultiBranchCondition([
|
|
927
|
+
...convertors
|
|
928
|
+
.filter(it => !this.isSequence(it.type))
|
|
929
|
+
.map(it => this.makeBranch(param, value, printer, it)),
|
|
930
|
+
...this.makeArrayBranch(param, value, printer, convertors.filter(it => this.isSequence(it.type)))
|
|
931
|
+
]);
|
|
942
932
|
}
|
|
943
933
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
944
934
|
const statements = [];
|
|
@@ -983,7 +973,7 @@ export class UnionConvertor extends BaseArgConvertor {
|
|
|
983
973
|
return language === Language.CPP && (args === null || args === void 0 ? void 0 : args.index) ? `${value}.value${args.index}` : value;
|
|
984
974
|
}
|
|
985
975
|
unionDiscriminator(value, index, writer, duplicates) {
|
|
986
|
-
return writer.makeNaryOp("||", this.memberConvertors.map((_, n) => this.unionChecker.makeDiscriminator(value, n, writer)));
|
|
976
|
+
return writer.makeNaryOp("||", this.memberConvertors.map((_, n) => this.unionChecker.makeDiscriminator(value, n, writer, this.library)));
|
|
987
977
|
}
|
|
988
978
|
}
|
|
989
979
|
export class FunctionConvertor extends BaseArgConvertor {
|
|
@@ -1018,10 +1008,10 @@ export class MaterializedClassConvertor extends BaseArgConvertor {
|
|
|
1018
1008
|
this.declaration = declaration;
|
|
1019
1009
|
}
|
|
1020
1010
|
convertorArg(param, writer) {
|
|
1011
|
+
const nameConvertor = this.library.createTypeNameConvertor(Language.CPP);
|
|
1021
1012
|
switch (writer.language) {
|
|
1022
1013
|
case Language.CPP:
|
|
1023
|
-
return `static_cast<${
|
|
1024
|
-
case Language.JAVA:
|
|
1014
|
+
return `static_cast<${nameConvertor.convert(this.declaration)}>(${param})`;
|
|
1025
1015
|
case Language.CJ:
|
|
1026
1016
|
return `MaterializedBase.toPeerPtr(${writer.escapeKeyword(param)})`;
|
|
1027
1017
|
default:
|
|
@@ -1033,12 +1023,12 @@ export class MaterializedClassConvertor extends BaseArgConvertor {
|
|
|
1033
1023
|
}
|
|
1034
1024
|
}
|
|
1035
1025
|
convertorSerialize(param, value, printer) {
|
|
1036
|
-
const accessorRoot = getSerializerName(this.declaration);
|
|
1026
|
+
const accessorRoot = getSerializerName(this.library, printer.language, this.declaration);
|
|
1037
1027
|
printer.addFeature(accessorRoot, this.library.layout.resolve({ node: this.declaration, role: LayoutNodeRole.SERIALIZER }));
|
|
1038
1028
|
return printer.makeStatement(printer.makeStaticMethodCall(accessorRoot, 'write', [printer.makeString(`${param}Serializer`), printer.makeString(value)]));
|
|
1039
1029
|
}
|
|
1040
1030
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
1041
|
-
const accessorRoot = getSerializerName(this.declaration);
|
|
1031
|
+
const accessorRoot = getSerializerName(this.library, writer.language, this.declaration);
|
|
1042
1032
|
writer.addFeature(accessorRoot, this.library.layout.resolve({ node: this.declaration, role: LayoutNodeRole.SERIALIZER }));
|
|
1043
1033
|
const readStatement = writer.makeCast(writer.makeStaticMethodCall(accessorRoot, "read", [writer.makeString(deserializerName)]), this.declaration);
|
|
1044
1034
|
return assigneer(readStatement);
|
|
@@ -1115,8 +1105,10 @@ export class CallbackConvertor extends BaseArgConvertor {
|
|
|
1115
1105
|
writer.makeStatement(writer.makeMethodCall(`${param}Serializer`, "writePointer", [writer.makeCast(new StringExpression(`${value}.callSync`), idl.IDLPointerType, { unsafe: true })]))
|
|
1116
1106
|
], false);
|
|
1117
1107
|
}
|
|
1118
|
-
if (this.isTransformed)
|
|
1119
|
-
|
|
1108
|
+
if (this.isTransformed) {
|
|
1109
|
+
const convertor = this.library.createTypeNameConvertor(Language.CPP);
|
|
1110
|
+
value = `CallbackTransformer.transformFrom${convertor.convert(this.decl)}(${value})`;
|
|
1111
|
+
}
|
|
1120
1112
|
return writer.makeStatement(writer.makeMethodCall(`${param}Serializer`, `holdAndWriteCallback`, [writer.makeString(`${value}`)]));
|
|
1121
1113
|
}
|
|
1122
1114
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer, useSyncVersion = true) {
|
|
@@ -1141,7 +1133,7 @@ export class CallbackConvertor extends BaseArgConvertor {
|
|
|
1141
1133
|
const continuationValueName = bufferName + "BufContinuationValue";
|
|
1142
1134
|
const continuationCallbackName = bufferName + "BufContinuationCallback";
|
|
1143
1135
|
const statements = [];
|
|
1144
|
-
statements.push(writer.makeAssign(resourceName, idl.createReferenceType("CallbackResource"), writer.makeMethodCall(deserializerName, 'readCallbackResource', []), true));
|
|
1136
|
+
statements.push(writer.makeAssign(resourceName, idl.createReferenceType("idlize.stdlib.CallbackResource"), writer.makeMethodCall(deserializerName, 'readCallbackResource', []), true));
|
|
1145
1137
|
statements.push(writer.makeAssign(callName, idl.IDLPointerType, writer.makeMethodCall(deserializerName, `readPointer`, []), true));
|
|
1146
1138
|
statements.push(writer.makeAssign(callSyncName, idl.IDLPointerType, writer.makeMethodCall(deserializerName, 'readPointer', []), true));
|
|
1147
1139
|
const callbackSignature = new NamedMethodSignature(this.decl.returnType, this.decl.parameters.map(it => idl.maybeOptional(it.type, it.isOptional)), this.decl.parameters.map(it => it.name));
|
|
@@ -1167,7 +1159,7 @@ export class CallbackConvertor extends BaseArgConvertor {
|
|
|
1167
1159
|
];
|
|
1168
1160
|
}
|
|
1169
1161
|
const result = writer.makeLambda(callbackSignature, [
|
|
1170
|
-
writer.makeAssign(`${argsSerializer}Serializer`, idl.createReferenceType('SerializerBase'), writer.makeMethodCall('SerializerBase', 'hold', []), true),
|
|
1162
|
+
writer.makeAssign(`${argsSerializer}Serializer`, idl.createReferenceType('idlize.internal.SerializerBase'), writer.makeMethodCall('SerializerBase', 'hold', []), true),
|
|
1171
1163
|
new ExpressionStatement(writer.makeMethodCall(`${argsSerializer}Serializer`, `writeInt32`, [writer.makeString(`${resourceName}.resourceId`)])),
|
|
1172
1164
|
new ExpressionStatement(writer.makeMethodCall(`${argsSerializer}Serializer`, `writePointer`, [writer.makeString(callName)])),
|
|
1173
1165
|
new ExpressionStatement(writer.makeMethodCall(`${argsSerializer}Serializer`, `writePointer`, [writer.makeString(callSyncName)])),
|
|
@@ -1221,7 +1213,7 @@ function warnCustomObject(type, msg) {
|
|
|
1221
1213
|
}
|
|
1222
1214
|
export const CallbackKind = "CallbackKind";
|
|
1223
1215
|
export function generateCallbackKindName(callback) {
|
|
1224
|
-
return `
|
|
1216
|
+
return `KIND_${callback.name.toUpperCase()}`;
|
|
1225
1217
|
}
|
|
1226
1218
|
export function generateCallbackKindAccess(callback, language) {
|
|
1227
1219
|
const name = generateCallbackKindName(callback);
|
|
@@ -1250,7 +1242,7 @@ export function generateCallbackAPIArguments(library, callback) {
|
|
|
1250
1242
|
}
|
|
1251
1243
|
export function maybeTransformManagedCallback(callback, library) {
|
|
1252
1244
|
if (callback.name === "CustomBuilder")
|
|
1253
|
-
return library.resolveTypeReference(idl.createReferenceType("CustomNodeBuilder"));
|
|
1245
|
+
return library.resolveTypeReference(idl.createReferenceType("arkui.component.idlize.CustomNodeBuilder"));
|
|
1254
1246
|
return undefined;
|
|
1255
1247
|
}
|
|
1256
1248
|
class PromiseOutArgConvertor extends BaseArgConvertor {
|
|
@@ -109,6 +109,12 @@ export declare class MultiBranchIfStatement implements LanguageStatement {
|
|
|
109
109
|
constructor(statements: BranchStatement[], elseStatement: LanguageStatement | undefined);
|
|
110
110
|
write(writer: LanguageWriter): void;
|
|
111
111
|
}
|
|
112
|
+
export type EnumMember = {
|
|
113
|
+
name: string;
|
|
114
|
+
alias?: string;
|
|
115
|
+
stringId: string | undefined;
|
|
116
|
+
numberId: number;
|
|
117
|
+
};
|
|
112
118
|
export declare class TsEnumEntityStatement implements LanguageStatement {
|
|
113
119
|
private readonly enumEntity;
|
|
114
120
|
private readonly options;
|
|
@@ -146,8 +152,11 @@ export declare enum FieldModifier {
|
|
|
146
152
|
FINAL = 5,
|
|
147
153
|
VOLATILE = 6,
|
|
148
154
|
INTERNAL = 7,
|
|
149
|
-
OVERRIDE = 8
|
|
155
|
+
OVERRIDE = 8,
|
|
156
|
+
GET = 9,
|
|
157
|
+
SET = 10
|
|
150
158
|
}
|
|
159
|
+
export declare const ACCESS_MODIFIERS_SET: Set<FieldModifier>;
|
|
151
160
|
export declare enum MethodModifier {
|
|
152
161
|
PUBLIC = 0,
|
|
153
162
|
PRIVATE = 1,
|
|
@@ -254,13 +263,9 @@ export declare abstract class LanguageWriter {
|
|
|
254
263
|
})[];
|
|
255
264
|
addFeature(node: idl.IDLEntry | idl.IDLReferenceType): void;
|
|
256
265
|
addFeature(feature: string, module: string): void;
|
|
266
|
+
abstract get interopModule(): string;
|
|
257
267
|
abstract writeClass(name: string, op: (writer: this) => void, superClass?: string, interfaces?: string[], generics?: string[], isDeclared?: boolean, isExport?: boolean): void;
|
|
258
|
-
abstract writeEnum(name: string, members: {
|
|
259
|
-
name: string;
|
|
260
|
-
alias?: string;
|
|
261
|
-
stringId: string | undefined;
|
|
262
|
-
numberId: number;
|
|
263
|
-
}[], options: {
|
|
268
|
+
abstract writeEnum(name: string, members: EnumMember[], options: {
|
|
264
269
|
isExport: boolean;
|
|
265
270
|
isDeclare?: boolean;
|
|
266
271
|
}, op?: (writer: this) => void): void;
|
|
@@ -280,6 +285,7 @@ export declare abstract class LanguageWriter {
|
|
|
280
285
|
}, initExpr?: LanguageExpression): void;
|
|
281
286
|
abstract writeTypeDeclaration(decl: idl.IDLTypedef): void;
|
|
282
287
|
abstract writeConstant(constName: string, constType: idl.IDLType, constVal?: string): void;
|
|
288
|
+
abstract writeImports(moduleName: string, importedFeatures: string[], aliases: string[]): void;
|
|
283
289
|
abstract makeAssign(variableName: string, type: idl.IDLType | undefined, expr: LanguageExpression | undefined, isDeclared: boolean, isConst?: boolean, options?: MakeAssignOptions): LanguageStatement;
|
|
284
290
|
abstract makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
|
|
285
291
|
abstract makeThrowError(message: string): LanguageStatement;
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import * as idl from "../idl";
|
|
16
16
|
import * as fs from "fs";
|
|
17
17
|
import { RuntimeType } from "./common";
|
|
18
|
+
import { withInsideInstanceof } from "./nameConvertor";
|
|
18
19
|
export class TernaryExpression {
|
|
19
20
|
constructor(condition, trueExpression, falseExpression) {
|
|
20
21
|
this.condition = condition;
|
|
@@ -307,7 +308,14 @@ export var FieldModifier;
|
|
|
307
308
|
FieldModifier[FieldModifier["VOLATILE"] = 6] = "VOLATILE";
|
|
308
309
|
FieldModifier[FieldModifier["INTERNAL"] = 7] = "INTERNAL";
|
|
309
310
|
FieldModifier[FieldModifier["OVERRIDE"] = 8] = "OVERRIDE";
|
|
311
|
+
FieldModifier[FieldModifier["GET"] = 9] = "GET";
|
|
312
|
+
FieldModifier[FieldModifier["SET"] = 10] = "SET";
|
|
310
313
|
})(FieldModifier || (FieldModifier = {}));
|
|
314
|
+
export const ACCESS_MODIFIERS_SET = new Set([
|
|
315
|
+
FieldModifier.PRIVATE,
|
|
316
|
+
FieldModifier.PROTECTED,
|
|
317
|
+
FieldModifier.PUBLIC
|
|
318
|
+
]);
|
|
311
319
|
export var MethodModifier;
|
|
312
320
|
(function (MethodModifier) {
|
|
313
321
|
MethodModifier[MethodModifier["PUBLIC"] = 0] = "PUBLIC";
|
|
@@ -683,11 +691,11 @@ export class LanguageWriter {
|
|
|
683
691
|
op(this);
|
|
684
692
|
}
|
|
685
693
|
instanceOf(value, type) {
|
|
686
|
-
return this.makeString(`${value} instanceof ${this.getNodeName(type)}`);
|
|
694
|
+
return this.makeString(`${value} instanceof ${withInsideInstanceof(true, () => this.getNodeName(type))}`);
|
|
687
695
|
}
|
|
688
696
|
// The version of instanceOf() which does not use ArgConvertors
|
|
689
697
|
typeInstanceOf(type, value, members) {
|
|
690
|
-
return this.makeString(`${value} instanceof ${this.getNodeName(type)}`);
|
|
698
|
+
return this.makeString(`${value} instanceof ${withInsideInstanceof(true, () => this.getNodeName(type))}`);
|
|
691
699
|
}
|
|
692
700
|
/**
|
|
693
701
|
* Writes `namespace <namespace> {` and adds extra indent
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
2
|
+
* Copyright (c) 2024-2025 Huawei Device Co., Ltd.
|
|
3
3
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
* you may not use this file except in compliance with the License.
|
|
5
5
|
* You may obtain a copy of the License at
|
|
@@ -30,4 +30,5 @@ export class NativeModuleType {
|
|
|
30
30
|
this.name = name;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
export const InteropModuleType = new NativeModuleType("InteropNativeModule");
|
|
33
34
|
//# sourceMappingURL=common.js.map
|
|
@@ -32,5 +32,4 @@ export declare class CJIDLTypeToForeignStringConvertor extends CJTypeNameConvert
|
|
|
32
32
|
export declare class CJInteropArgConvertor extends InteropArgConvertor {
|
|
33
33
|
convertPrimitiveType(type: idl.IDLPrimitiveType): string;
|
|
34
34
|
}
|
|
35
|
-
export declare function removePoints(s: string): string;
|
|
36
35
|
//# sourceMappingURL=CJConvertors.d.ts.map
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import * as idl from '../../idl';
|
|
16
16
|
import { CJKeywords } from '../../languageSpecificKeywords';
|
|
17
17
|
import { generateSyntheticIdlNodeName } from '../../peer-generation/idl/common';
|
|
18
|
+
import { removePoints } from '../../util';
|
|
18
19
|
import { convertNode, convertType } from '../nameConvertor';
|
|
19
20
|
import { InteropArgConvertor } from './InteropConvertors';
|
|
20
21
|
export class CJTypeNameConvertor {
|
|
@@ -199,7 +200,4 @@ export class CJInteropArgConvertor extends InteropArgConvertor {
|
|
|
199
200
|
return super.convertPrimitiveType(type);
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
|
-
export function removePoints(s) {
|
|
203
|
-
return s.split(/[\.\-]/g).join('_');
|
|
204
|
-
}
|
|
205
203
|
//# sourceMappingURL=CJConvertors.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import * as idl from '../../idl';
|
|
2
2
|
import { IdlNameConvertor, NodeConvertor, TypeConvertor } from "../nameConvertor";
|
|
3
3
|
import { InteropArgConvertor } from './InteropConvertors';
|
|
4
|
-
import {
|
|
4
|
+
import { LibraryInterface } from '../../LibraryInterface';
|
|
5
5
|
export interface ConvertResult {
|
|
6
6
|
text: string;
|
|
7
7
|
noPrefix: boolean;
|
|
8
8
|
resolvedType: idl.IDLType;
|
|
9
9
|
}
|
|
10
10
|
export declare class GenericCppConvertor implements NodeConvertor<ConvertResult> {
|
|
11
|
-
protected
|
|
12
|
-
constructor(
|
|
13
|
-
|
|
11
|
+
protected library: LibraryInterface;
|
|
12
|
+
constructor(library: LibraryInterface);
|
|
13
|
+
protected make(text: string, resolvedType: idl.IDLType, noPrefix?: boolean): ConvertResult;
|
|
14
14
|
convertNode(node: idl.IDLNode): ConvertResult;
|
|
15
15
|
convertNamespace(node: idl.IDLNamespace): ConvertResult;
|
|
16
16
|
convertInterface(node: idl.IDLInterface): ConvertResult;
|
|
@@ -29,6 +29,8 @@ export declare class GenericCppConvertor implements NodeConvertor<ConvertResult>
|
|
|
29
29
|
convertPrimitiveType(type: idl.IDLPrimitiveType): ConvertResult;
|
|
30
30
|
private qualifiedName;
|
|
31
31
|
private computeTargetTypeLiteralName;
|
|
32
|
+
protected isInsideStructure: boolean;
|
|
33
|
+
protected insideStructure<T>(cb: () => T): T;
|
|
32
34
|
}
|
|
33
35
|
export declare class CppConvertor extends GenericCppConvertor implements IdlNameConvertor {
|
|
34
36
|
private unwrap;
|
|
@@ -36,9 +38,13 @@ export declare class CppConvertor extends GenericCppConvertor implements IdlName
|
|
|
36
38
|
convert(node: idl.IDLNode): string;
|
|
37
39
|
}
|
|
38
40
|
export declare class CppNameConvertor implements IdlNameConvertor {
|
|
39
|
-
protected
|
|
41
|
+
protected library: LibraryInterface;
|
|
40
42
|
private readonly cppConvertor;
|
|
41
|
-
constructor(
|
|
43
|
+
constructor(library: LibraryInterface);
|
|
44
|
+
convert(node: idl.IDLNode): string;
|
|
45
|
+
}
|
|
46
|
+
export declare class StructureNameConvertor extends CppConvertor {
|
|
47
|
+
constructor(library: LibraryInterface);
|
|
42
48
|
convert(node: idl.IDLNode): string;
|
|
43
49
|
}
|
|
44
50
|
export declare class CppInteropArgConvertor extends InteropArgConvertor {
|
|
@@ -47,9 +53,9 @@ export declare class CppInteropArgConvertor extends InteropArgConvertor {
|
|
|
47
53
|
convertPrimitiveType(type: idl.IDLPrimitiveType): string;
|
|
48
54
|
}
|
|
49
55
|
export declare class CppReturnTypeConvertor implements TypeConvertor<string> {
|
|
50
|
-
private
|
|
56
|
+
private library;
|
|
51
57
|
private convertor;
|
|
52
|
-
constructor(
|
|
58
|
+
constructor(library: LibraryInterface);
|
|
53
59
|
isVoid(returnType: idl.IDLType): boolean;
|
|
54
60
|
convert(type: idl.IDLType): string;
|
|
55
61
|
convertContainer(type: idl.IDLContainerType): string;
|