@idlizer/core 2.1.10-arktscgen-9 → 2.1.10-arktscgen-10
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/IndentedPrinter.js +2 -2
- package/build/lib/src/Language.d.ts +1 -0
- package/build/lib/src/Language.js +8 -0
- package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +47 -3
- package/build/lib/src/LanguageWriters/ArgConvertors.js +194 -20
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +5 -1
- package/build/lib/src/LanguageWriters/LanguageWriter.js +15 -0
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.js +6 -2
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.js +7 -1
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.js +3 -0
- package/build/lib/src/LanguageWriters/convertors/InteropConvertors.js +4 -0
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.d.ts +10 -5
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.js +138 -51
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +5 -1
- package/build/lib/src/LanguageWriters/index.d.ts +1 -2
- package/build/lib/src/LanguageWriters/index.js +17 -3
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +1 -1
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +5 -3
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.d.ts +1 -1
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.js +5 -3
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +2 -1
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +8 -3
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +3 -9
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.d.ts +5 -3
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.js +52 -31
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +1 -1
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +5 -3
- package/build/lib/src/LibraryInterface.d.ts +6 -0
- package/build/lib/src/LibraryInterface.js +22 -1
- package/build/lib/src/from-idl/DtsPrinter.d.ts +3 -2
- package/build/lib/src/from-idl/DtsPrinter.js +9 -6
- package/build/lib/src/idl/builders.d.ts +36 -1
- package/build/lib/src/idl/builders.js +62 -2
- package/build/lib/src/idl/dump.d.ts +3 -0
- package/build/lib/src/idl/dump.js +20 -3
- package/build/lib/src/idl/index.d.ts +0 -1
- package/build/lib/src/idl/index.js +0 -1
- package/build/lib/src/idl/node.d.ts +1 -0
- package/build/lib/src/idl/node.js +1 -0
- package/build/lib/src/idl/stdlib.d.ts +1 -0
- package/build/lib/src/idl/stdlib.js +1 -0
- package/build/lib/src/idl/utils.d.ts +4 -3
- package/build/lib/src/idl/utils.js +26 -13
- package/build/lib/src/idl/visitors.js +24 -104
- package/build/lib/src/index.d.ts +4 -1
- package/build/lib/src/index.js +4 -1
- package/build/lib/src/peer-generation/Extractors.d.ts +7 -0
- package/build/lib/src/peer-generation/Extractors.js +40 -0
- package/build/lib/src/peer-generation/Initializers.d.ts +5 -0
- package/build/lib/src/peer-generation/Initializers.js +28 -0
- package/build/lib/src/peer-generation/Materialized.d.ts +0 -4
- package/build/lib/src/peer-generation/Materialized.js +13 -24
- package/build/lib/src/peer-generation/PeerLibrary.d.ts +2 -2
- package/build/lib/src/peer-generation/PeerLibrary.js +55 -5
- package/build/lib/src/peer-generation/PeerMethod.d.ts +1 -0
- package/build/lib/src/peer-generation/PeerMethod.js +1 -0
- package/build/lib/src/peer-generation/idl/common.d.ts +0 -2
- package/build/lib/src/peer-generation/idl/common.js +3 -25
- package/build/lib/src/peer-generation/isMaterialized.d.ts +4 -0
- package/build/lib/src/peer-generation/isMaterialized.js +12 -0
- package/build/lib/src/peer-generation/unions.d.ts +1 -27
- package/build/lib/src/peer-generation/unions.js +1 -99
- package/build/lib/src/transformers/FqnTransformer.js +14 -0
- package/build/lib/src/transformers/GenericTransformer.d.ts +0 -2
- package/build/lib/src/transformers/GenericTransformer.js +19 -19
- package/build/lib/src/transformers/IdlTransformer.js +14 -0
- package/build/lib/src/transformers/NullTransformer.js +16 -3
- package/build/lib/src/transformers/OnSerializeTransformer.js +14 -0
- package/build/lib/src/transformers/ThrowsTransformer.d.ts +3 -0
- package/build/lib/src/transformers/ThrowsTransformer.js +51 -0
- package/build/lib/src/transformers/transformUtils.d.ts +7 -0
- package/build/lib/src/transformers/transformUtils.js +55 -0
- package/build/lib/src/util.d.ts +0 -16
- package/build/lib/src/util.js +2 -76
- package/package.json +10 -4
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* See the License for the specific language governing permissions and
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
import * as fs from "fs";
|
|
15
|
+
import * as fs from "node:fs";
|
|
16
16
|
import { indentedBy } from "./util";
|
|
17
|
-
import path from "path";
|
|
17
|
+
import path from "node:path";
|
|
18
18
|
export class IndentedPrinter {
|
|
19
19
|
constructor(output = [], indent = 0) {
|
|
20
20
|
this.output = output;
|
|
@@ -33,6 +33,14 @@ export class Language {
|
|
|
33
33
|
default: throw new Error(`Unsupported language ${name}`);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
+
static supportNS(lang) {
|
|
37
|
+
switch (lang.name) {
|
|
38
|
+
case "ArkTS": return true;
|
|
39
|
+
case "TS": return true;
|
|
40
|
+
case "C++": return true;
|
|
41
|
+
default: return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
36
44
|
}
|
|
37
45
|
Language.TS = new Language("TS", ".ts");
|
|
38
46
|
Language.ARKTS = new Language("ArkTS", ".ts"); // using .ts for ArkTS until we get rit of tsc preprocessing
|
|
@@ -3,9 +3,13 @@ import { Language } from "../Language";
|
|
|
3
3
|
import { BranchStatement, ExpressionAssigner, LanguageExpression, LanguageStatement, LanguageWriter } from "./LanguageWriter";
|
|
4
4
|
import { NativeModuleType, RuntimeType } from "./common";
|
|
5
5
|
import { LibraryInterface } from "../LibraryInterface";
|
|
6
|
-
import { ReferenceResolver } from "../peer-generation/ReferenceResolver";
|
|
7
6
|
import { PeerLibrary } from "../peer-generation/PeerLibrary";
|
|
7
|
+
import { TypeConvertor } from "./nameConvertor";
|
|
8
|
+
import { ReferenceResolver } from "../peer-generation/ReferenceResolver";
|
|
8
9
|
export declare function getSerializerName(_library: LibraryInterface, _language: Language, declaration: idl.IDLEntry): string;
|
|
10
|
+
export declare function makeETSDiscriminatorFromFields(self: LanguageWriter, convertor: {
|
|
11
|
+
targetType: (writer: LanguageWriter) => string;
|
|
12
|
+
}, value: string, accessors: string[], duplicates: Set<string>): LanguageExpression;
|
|
9
13
|
export interface ArgConvertor {
|
|
10
14
|
param: string;
|
|
11
15
|
idlType: idl.IDLType;
|
|
@@ -302,6 +306,18 @@ export declare class UnionConvertor extends BaseArgConvertor {
|
|
|
302
306
|
getObjectAccessor(language: Language, value: string, args?: Record<string, string>): string;
|
|
303
307
|
unionDiscriminator(value: string, index: number, writer: LanguageWriter, duplicates: Set<string>): LanguageExpression | undefined;
|
|
304
308
|
}
|
|
309
|
+
export declare class ThrowsConvertor extends BaseArgConvertor {
|
|
310
|
+
private library;
|
|
311
|
+
private decl;
|
|
312
|
+
private convertor;
|
|
313
|
+
constructor(library: LibraryInterface, param: string, decl: idl.IDLInterface);
|
|
314
|
+
convertorArg(param: string, writer: LanguageWriter): string;
|
|
315
|
+
convertorSerialize(param: string, value: string, writer: LanguageWriter): LanguageStatement;
|
|
316
|
+
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter): LanguageStatement;
|
|
317
|
+
nativeType(): idl.IDLType;
|
|
318
|
+
interopType(): idl.IDLType;
|
|
319
|
+
isPointerType(): boolean;
|
|
320
|
+
}
|
|
305
321
|
export declare class FunctionConvertor extends BaseArgConvertor {
|
|
306
322
|
private library;
|
|
307
323
|
constructor(library: LibraryInterface, param: string);
|
|
@@ -352,19 +368,47 @@ export declare function generateCallbackKindName(callback: idl.IDLCallback): str
|
|
|
352
368
|
export declare function generateCallbackKindAccess(callback: idl.IDLCallback, language: Language): string;
|
|
353
369
|
export declare function generateCallbackKindValue(callback: idl.IDLCallback): number;
|
|
354
370
|
export declare function generateCallbackAPIArguments(library: LibraryInterface, callback: idl.IDLCallback): string[];
|
|
355
|
-
export declare function maybeTransformManagedCallback(callback: idl.IDLCallback, library: ReferenceResolver): idl.IDLCallback | undefined;
|
|
356
371
|
export declare class TransformOnSerializeConvertor extends BaseArgConvertor {
|
|
357
372
|
protected library: PeerLibrary;
|
|
358
373
|
protected managedDeclaration: idl.IDLEntry;
|
|
374
|
+
protected source: idl.IDLType;
|
|
359
375
|
protected target: idl.IDLType;
|
|
360
376
|
private targetConvertor;
|
|
361
|
-
constructor(param: string, library: PeerLibrary, managedDeclaration: idl.IDLEntry, target: idl.IDLType);
|
|
377
|
+
constructor(param: string, library: PeerLibrary, managedDeclaration: idl.IDLEntry, source: idl.IDLType, target: idl.IDLType);
|
|
378
|
+
getSourceType(): idl.IDLType;
|
|
379
|
+
getTargetType(): idl.IDLType;
|
|
362
380
|
isPointerType(): boolean;
|
|
363
381
|
nativeType(): idl.IDLType;
|
|
364
382
|
convertorArg(param: string, writer: LanguageWriter): string;
|
|
383
|
+
addImport(transformerInfo: {
|
|
384
|
+
module: string;
|
|
385
|
+
ns?: string;
|
|
386
|
+
method: string;
|
|
387
|
+
}, writer: LanguageWriter): void;
|
|
365
388
|
convertorSerialize(param: string, value: string, writer: LanguageWriter): LanguageStatement;
|
|
366
389
|
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter): LanguageStatement;
|
|
367
390
|
}
|
|
368
391
|
export declare function createOutArgConvertor(library: PeerLibrary, type: idl.IDLType | undefined, otherParams: string[]): ArgConvertor | undefined;
|
|
392
|
+
export declare class UnionFlattener implements TypeConvertor<idl.IDLType[]> {
|
|
393
|
+
private resolver;
|
|
394
|
+
constructor(resolver: ReferenceResolver);
|
|
395
|
+
convertImport(type: idl.IDLImport): idl.IDLType[];
|
|
396
|
+
convertUnion(type: idl.IDLUnionType): idl.IDLType[];
|
|
397
|
+
convertTypeReference(type: idl.IDLReferenceType): idl.IDLType[];
|
|
398
|
+
convertOptional(type: idl.IDLOptionalType): idl.IDLType[];
|
|
399
|
+
convertContainer(type: idl.IDLContainerType): idl.IDLType[];
|
|
400
|
+
convertTypeReferenceAsImport(type: idl.IDLReferenceType, importClause: string): idl.IDLType[];
|
|
401
|
+
convertPrimitiveType(type: idl.IDLPrimitiveType): idl.IDLType[];
|
|
402
|
+
convertTypeParameter(type: idl.IDLTypeParameterType): idl.IDLType[];
|
|
403
|
+
}
|
|
404
|
+
export declare class UnionRuntimeTypeChecker {
|
|
405
|
+
private convertors;
|
|
406
|
+
private conflictingConvertors;
|
|
407
|
+
private duplicateMembers;
|
|
408
|
+
constructor(convertors: ArgConvertor[]);
|
|
409
|
+
private checkConflicts;
|
|
410
|
+
makeDiscriminator(value: string, convertorIndex: number, writer: LanguageWriter, library: LibraryInterface, type?: idl.IDLType): LanguageExpression;
|
|
411
|
+
}
|
|
412
|
+
export declare function flattenUnionType(library: LibraryInterface, type: idl.IDLType): idl.IDLType;
|
|
369
413
|
export {};
|
|
370
414
|
//# sourceMappingURL=ArgConvertors.d.ts.map
|
|
@@ -17,15 +17,27 @@ import { Language } from "../Language";
|
|
|
17
17
|
import { BlockStatement, PrintHint, StringExpression, NamedMethodSignature, ProxyStatement, ExpressionStatement } from "./LanguageWriter";
|
|
18
18
|
import { RuntimeType } from "./common";
|
|
19
19
|
import { generatorConfiguration, generatorTypePrefix } from "../config";
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
20
|
+
import { getTransformer } from "../LibraryInterface";
|
|
21
|
+
import { capitalize, hashCodeFromString, throwException, warn } from "../util";
|
|
22
22
|
import { CppConvertor, CppNameConvertor } from "./convertors/CppConvertors";
|
|
23
23
|
import { PrimitiveTypesInstance } from "../peer-generation/PrimitiveType";
|
|
24
24
|
import { LayoutNodeRole } from "../peer-generation/LayoutManager";
|
|
25
25
|
import { isInExternalModule } from "../peer-generation/modules";
|
|
26
|
-
import {
|
|
26
|
+
import { getExtractor } from "../peer-generation/Extractors";
|
|
27
|
+
import { maybeRestoreGenerics, maybeRestoreThrows, maybeTransformManagedCallback } from "../transformers/transformUtils";
|
|
28
|
+
import { convertType, withInsideInstanceof } from "./nameConvertor";
|
|
29
|
+
import { collapseTypes } from "../peer-generation/idl/common";
|
|
27
30
|
export function getSerializerName(_library, _language, declaration) {
|
|
28
|
-
return entryToFunctionName(_language, declaration, "", "SerializerImpl");
|
|
31
|
+
return idl.entryToFunctionName(_language, declaration, "", "SerializerImpl");
|
|
32
|
+
}
|
|
33
|
+
export function makeETSDiscriminatorFromFields(self, convertor, value, accessors, duplicates) {
|
|
34
|
+
if (convertor instanceof AggregateConvertor
|
|
35
|
+
|| convertor instanceof InterfaceConvertor
|
|
36
|
+
|| convertor instanceof MaterializedClassConvertor
|
|
37
|
+
|| convertor instanceof CustomTypeConvertor) {
|
|
38
|
+
return self.instanceOf(value, convertor.idlType);
|
|
39
|
+
}
|
|
40
|
+
return self.makeString(`${value} instanceof ${withInsideInstanceof(true, () => convertor.targetType(self))}`);
|
|
29
41
|
}
|
|
30
42
|
export class BaseArgConvertor {
|
|
31
43
|
constructor(idlType, runtimeTypes, isScoped, useArray, param) {
|
|
@@ -608,7 +620,7 @@ export class ArrayConvertor extends BaseArgConvertor {
|
|
|
608
620
|
}
|
|
609
621
|
export class MapConvertor extends BaseArgConvertor {
|
|
610
622
|
constructor(library, param, type, keyType, valueType) {
|
|
611
|
-
super(idl.createContainerType('record', [keyType, valueType]), [RuntimeType.OBJECT], false, true, param);
|
|
623
|
+
super(idl.createContainerType('record', [keyType, valueType], { extendedAttributes: type.extendedAttributes }), [RuntimeType.OBJECT], false, true, param);
|
|
612
624
|
this.library = library;
|
|
613
625
|
this.keyType = keyType;
|
|
614
626
|
this.valueType = valueType;
|
|
@@ -879,7 +891,7 @@ export class UnionConvertor extends BaseArgConvertor {
|
|
|
879
891
|
return false;
|
|
880
892
|
}
|
|
881
893
|
convertorSerialize(param, value, printer) {
|
|
882
|
-
const convertorItems = this.memberConvertors.map((it, index) => new ConvertorItem(it, index, it
|
|
894
|
+
const convertorItems = this.memberConvertors.map((it, index) => new ConvertorItem(it, index, getSourceType(it)));
|
|
883
895
|
if (this.isIndexedDiscriminator(printer))
|
|
884
896
|
return printer.makeMultiBranchCondition(convertorItems.map(it => this.makeBranch(param, value, printer, it)));
|
|
885
897
|
// Make arrays type descrimination
|
|
@@ -898,7 +910,7 @@ export class UnionConvertor extends BaseArgConvertor {
|
|
|
898
910
|
statements.push(this.makeStoreSelector(param, index, printer));
|
|
899
911
|
if (!(convertor instanceof UndefinedConvertor)) {
|
|
900
912
|
const varName = `${value}ForIdx${index}`;
|
|
901
|
-
statements.push(printer.makeAssign(varName, undefined, printer.makeUnionVariantCast(convertor.getObjectAccessor(printer.language, value), printer.getNodeName(convertor
|
|
913
|
+
statements.push(printer.makeAssign(varName, undefined, printer.makeUnionVariantCast(convertor.getObjectAccessor(printer.language, value), printer.getNodeName(getSourceType(convertor)), convertor, index), true));
|
|
902
914
|
statements.push(convertor.convertorSerialize(param, varName, printer));
|
|
903
915
|
}
|
|
904
916
|
const genericDiscriminator = withGenericDiscriminator(this.library, this.memberConvertors, value, discriminator, type, printer);
|
|
@@ -978,6 +990,55 @@ export class UnionConvertor extends BaseArgConvertor {
|
|
|
978
990
|
return writer.makeNaryOp("||", this.memberConvertors.map((_, n) => this.unionChecker.makeDiscriminator(value, n, writer, this.library)));
|
|
979
991
|
}
|
|
980
992
|
}
|
|
993
|
+
export class ThrowsConvertor extends BaseArgConvertor {
|
|
994
|
+
constructor(library, param, decl) {
|
|
995
|
+
super(idl.createReferenceType(decl), [RuntimeType.OBJECT], false, true, param);
|
|
996
|
+
this.library = library;
|
|
997
|
+
this.decl = decl;
|
|
998
|
+
const restoredThrow = maybeRestoreThrows(decl, library);
|
|
999
|
+
this.convertor = restoredThrow !== idl.IDLVoidType && restoredThrow !== idl.IDLThisType ? library.typeConvertor(param, restoredThrow) : undefined;
|
|
1000
|
+
}
|
|
1001
|
+
convertorArg(param, writer) {
|
|
1002
|
+
throw new Error("Method not implemented.");
|
|
1003
|
+
}
|
|
1004
|
+
convertorSerialize(param, value, writer) {
|
|
1005
|
+
var _a;
|
|
1006
|
+
if (writer.language === Language.CPP) {
|
|
1007
|
+
return writer.makeBlock([
|
|
1008
|
+
writer.makeStatement(writer.makeMethodCall(`${param}Serializer`, 'writeBoolean', [writer.makeString(`${value}.hasException`)])),
|
|
1009
|
+
writer.makeCondition(writer.makeString(`${value}.hasException`), writer.makeStatement(writer.makeMethodCall(`${param}Serializer`, 'writeException', [writer.makeString(`${value}.exception`)])), !this.convertor ? undefined : writer.makeBlock([
|
|
1010
|
+
writer.makeAssign(`${value}Value`, undefined, writer.makeString(`${value}.value`), true),
|
|
1011
|
+
(_a = this.convertor) === null || _a === void 0 ? void 0 : _a.convertorSerialize(param, `${value}Value`, writer),
|
|
1012
|
+
]))
|
|
1013
|
+
]);
|
|
1014
|
+
}
|
|
1015
|
+
else {
|
|
1016
|
+
throw new Error("Not expected to serialize exceptions in managed, currently they're only one directional from native to managed");
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
1020
|
+
var _a;
|
|
1021
|
+
if (writer.language === Language.CPP) {
|
|
1022
|
+
throw new Error("Not expected to deserialize exceptions in CPP, currently they're only one directional from native to managed");
|
|
1023
|
+
}
|
|
1024
|
+
else {
|
|
1025
|
+
return writer.makeCondition(writer.makeMethodCall(deserializerName, 'readBoolean', []), writer.makeBlock([
|
|
1026
|
+
writer.makeThrowError(writer.makeMethodCall(deserializerName, 'readException', [])),
|
|
1027
|
+
]), !this.convertor ? undefined : writer.makeBlock([
|
|
1028
|
+
(_a = this.convertor) === null || _a === void 0 ? void 0 : _a.convertorDeserialize(bufferName, deserializerName, assigneer, writer),
|
|
1029
|
+
]));
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
nativeType() {
|
|
1033
|
+
return idl.createReferenceType(this.decl);
|
|
1034
|
+
}
|
|
1035
|
+
interopType() {
|
|
1036
|
+
throw new Error("ThrowsConvertor");
|
|
1037
|
+
}
|
|
1038
|
+
isPointerType() {
|
|
1039
|
+
return true;
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
981
1042
|
export class FunctionConvertor extends BaseArgConvertor {
|
|
982
1043
|
constructor(library, param) {
|
|
983
1044
|
// TODO: pass functions as integers to native side.
|
|
@@ -1160,7 +1221,7 @@ export class CallbackConvertor extends BaseArgConvertor {
|
|
|
1160
1221
|
}),
|
|
1161
1222
|
];
|
|
1162
1223
|
}
|
|
1163
|
-
const
|
|
1224
|
+
const closure = writer.makeLambda(callbackSignature, [
|
|
1164
1225
|
writer.makeAssign(`${argsSerializer}Serializer`, idl.createReferenceType('idlize.internal.SerializerBase'), writer.makeMethodCall('SerializerBase', 'hold', []), true),
|
|
1165
1226
|
new ExpressionStatement(writer.makeMethodCall(`${argsSerializer}Serializer`, `writeInt32`, [writer.makeString(`${resourceName}.resourceId`)])),
|
|
1166
1227
|
new ExpressionStatement(writer.makeMethodCall(`${argsSerializer}Serializer`, `writePointer`, [writer.makeString(callName)])),
|
|
@@ -1192,9 +1253,14 @@ export class CallbackConvertor extends BaseArgConvertor {
|
|
|
1192
1253
|
writer.makeString(continuationValueName), this.decl.returnType)
|
|
1193
1254
|
: undefined),
|
|
1194
1255
|
]);
|
|
1256
|
+
writer.addFeature(idl.createReferenceType('idlize.internal.resourceFinalizerRegister'));
|
|
1257
|
+
statements.push(writer.makeAssign(`${bufferName}Closure`, undefined, closure, true), writer.makeStatement(writer.makeFunctionCall(`resourceFinalizerRegister`, [
|
|
1258
|
+
writer.makeString(`${bufferName}Closure`),
|
|
1259
|
+
writer.makeString(resourceName)
|
|
1260
|
+
])));
|
|
1195
1261
|
return writer.makeBlock([
|
|
1196
1262
|
...statements,
|
|
1197
|
-
assigneer(
|
|
1263
|
+
assigneer(writer.makeString(`${bufferName}Closure`))
|
|
1198
1264
|
], false);
|
|
1199
1265
|
}
|
|
1200
1266
|
nativeType() {
|
|
@@ -1242,11 +1308,6 @@ export function generateCallbackAPIArguments(library, callback) {
|
|
|
1242
1308
|
}
|
|
1243
1309
|
return args;
|
|
1244
1310
|
}
|
|
1245
|
-
export function maybeTransformManagedCallback(callback, library) {
|
|
1246
|
-
if (callback.name === "CustomBuilder")
|
|
1247
|
-
return library.resolveTypeReference(idl.createReferenceType("arkui.component.idlize.CustomNodeBuilder"));
|
|
1248
|
-
return undefined;
|
|
1249
|
-
}
|
|
1250
1311
|
class PromiseOutArgConvertor extends BaseArgConvertor {
|
|
1251
1312
|
constructor(library, param, promise) {
|
|
1252
1313
|
super(library.createContinuationCallbackReference(promise), [RuntimeType.FUNCTION], false, true, param);
|
|
@@ -1289,14 +1350,21 @@ class PromiseOutArgConvertor extends BaseArgConvertor {
|
|
|
1289
1350
|
}
|
|
1290
1351
|
}
|
|
1291
1352
|
export class TransformOnSerializeConvertor extends BaseArgConvertor {
|
|
1292
|
-
constructor(param, library, managedDeclaration, target) {
|
|
1353
|
+
constructor(param, library, managedDeclaration, source, target) {
|
|
1293
1354
|
const targetConvertor = library.typeConvertor(param, target);
|
|
1294
1355
|
super(target, targetConvertor.runtimeTypes, false, targetConvertor.useArray, param);
|
|
1295
1356
|
this.library = library;
|
|
1296
1357
|
this.managedDeclaration = managedDeclaration;
|
|
1358
|
+
this.source = source;
|
|
1297
1359
|
this.target = target;
|
|
1298
1360
|
this.targetConvertor = targetConvertor;
|
|
1299
1361
|
}
|
|
1362
|
+
getSourceType() {
|
|
1363
|
+
return this.source;
|
|
1364
|
+
}
|
|
1365
|
+
getTargetType() {
|
|
1366
|
+
return this.target;
|
|
1367
|
+
}
|
|
1300
1368
|
isPointerType() {
|
|
1301
1369
|
return this.targetConvertor.isPointerType();
|
|
1302
1370
|
}
|
|
@@ -1306,6 +1374,11 @@ export class TransformOnSerializeConvertor extends BaseArgConvertor {
|
|
|
1306
1374
|
convertorArg(param, writer) {
|
|
1307
1375
|
throw new Error("Method not implemented.");
|
|
1308
1376
|
}
|
|
1377
|
+
addImport(transformerInfo, writer) {
|
|
1378
|
+
transformerInfo.ns
|
|
1379
|
+
? writer.addFeature(transformerInfo.ns, transformerInfo.module)
|
|
1380
|
+
: writer.addFeature(transformerInfo.method, transformerInfo.module);
|
|
1381
|
+
}
|
|
1309
1382
|
convertorSerialize(param, value, writer) {
|
|
1310
1383
|
if (writer.language === Language.CPP) {
|
|
1311
1384
|
return this.targetConvertor.convertorSerialize(param, value, writer);
|
|
@@ -1314,8 +1387,9 @@ export class TransformOnSerializeConvertor extends BaseArgConvertor {
|
|
|
1314
1387
|
writer.addFeature(this.target);
|
|
1315
1388
|
}
|
|
1316
1389
|
const transformerInfo = getTransformer(this.library, this.managedDeclaration, this.target);
|
|
1317
|
-
|
|
1318
|
-
|
|
1390
|
+
this.addImport(transformerInfo, writer);
|
|
1391
|
+
const transformCallExpression = transformerInfo.ns
|
|
1392
|
+
? writer.makeMethodCall(transformerInfo.ns, transformerInfo.method, [writer.makeString(value)])
|
|
1319
1393
|
: writer.makeFunctionCall(transformerInfo.method, [writer.makeString(value)]);
|
|
1320
1394
|
const statements = [
|
|
1321
1395
|
writer.makeAssign(`${value}Transformed`, this.target, transformCallExpression, true),
|
|
@@ -1332,8 +1406,9 @@ export class TransformOnSerializeConvertor extends BaseArgConvertor {
|
|
|
1332
1406
|
}
|
|
1333
1407
|
const targetDeserialize = this.targetConvertor.convertorDeserialize(`${bufferName}D`, deserializerName, (expr) => writer.makeAssign(`${bufferName}Deserialized`, this.target, expr, true), writer);
|
|
1334
1408
|
const transformerInfo = getTransformer(this.library, this.target, this.managedDeclaration);
|
|
1335
|
-
|
|
1336
|
-
|
|
1409
|
+
this.addImport(transformerInfo, writer);
|
|
1410
|
+
const transformCallExpression = transformerInfo.ns
|
|
1411
|
+
? writer.makeMethodCall(transformerInfo.ns, transformerInfo.method, [writer.makeString(`${bufferName}Deserialized`)])
|
|
1337
1412
|
: writer.makeFunctionCall(transformerInfo.method, [writer.makeString(`${bufferName}Deserialized`)]);
|
|
1338
1413
|
return writer.makeBlock([
|
|
1339
1414
|
targetDeserialize,
|
|
@@ -1369,7 +1444,106 @@ function withGenericDiscriminator(library, convertors, value, discriminator, typ
|
|
|
1369
1444
|
return discriminator;
|
|
1370
1445
|
writer.addFeature("typechecks", library.layout.handwrittenPackage());
|
|
1371
1446
|
const decl = writer.resolver.resolveTypeReference(type);
|
|
1372
|
-
const checkGenericFunc = entryToFunctionName(writer.language, decl, "isGeneric_", "");
|
|
1447
|
+
const checkGenericFunc = idl.entryToFunctionName(writer.language, decl, "isGeneric_", "");
|
|
1373
1448
|
return writer.makeAnd(discriminator, writer.makeFunctionCall(`typechecks.${checkGenericFunc}`, [writer.makeString(value)]));
|
|
1374
1449
|
}
|
|
1450
|
+
export class UnionFlattener {
|
|
1451
|
+
constructor(resolver) {
|
|
1452
|
+
this.resolver = resolver;
|
|
1453
|
+
}
|
|
1454
|
+
convertImport(type) {
|
|
1455
|
+
console.warn("Imports are not implemented yet");
|
|
1456
|
+
return [];
|
|
1457
|
+
}
|
|
1458
|
+
convertUnion(type) {
|
|
1459
|
+
return type.types.flatMap(it => convertType(this, it));
|
|
1460
|
+
}
|
|
1461
|
+
convertTypeReference(type) {
|
|
1462
|
+
const decl = this.resolver.toDeclaration(type);
|
|
1463
|
+
return idl.isType(decl) && decl !== idl.IDLCustomObjectType ? convertType(this, decl) : [type];
|
|
1464
|
+
}
|
|
1465
|
+
convertOptional(type) {
|
|
1466
|
+
return [type.type, idl.IDLUndefinedType];
|
|
1467
|
+
}
|
|
1468
|
+
convertContainer(type) {
|
|
1469
|
+
return [type];
|
|
1470
|
+
}
|
|
1471
|
+
convertTypeReferenceAsImport(type, importClause) {
|
|
1472
|
+
return [type];
|
|
1473
|
+
}
|
|
1474
|
+
convertPrimitiveType(type) {
|
|
1475
|
+
return [type];
|
|
1476
|
+
}
|
|
1477
|
+
convertTypeParameter(type) {
|
|
1478
|
+
return [type];
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
export class UnionRuntimeTypeChecker {
|
|
1482
|
+
constructor(convertors) {
|
|
1483
|
+
this.convertors = convertors;
|
|
1484
|
+
this.conflictingConvertors = new Set();
|
|
1485
|
+
this.duplicateMembers = new Set();
|
|
1486
|
+
this.checkConflicts();
|
|
1487
|
+
}
|
|
1488
|
+
checkConflicts() {
|
|
1489
|
+
const runtimeTypeConflicts = new Map();
|
|
1490
|
+
this.convertors.forEach(conv => {
|
|
1491
|
+
conv.runtimeTypes.forEach(rtType => {
|
|
1492
|
+
const convertors = runtimeTypeConflicts.get(rtType);
|
|
1493
|
+
if (convertors)
|
|
1494
|
+
convertors.push(conv);
|
|
1495
|
+
else
|
|
1496
|
+
runtimeTypeConflicts.set(rtType, [conv]);
|
|
1497
|
+
});
|
|
1498
|
+
});
|
|
1499
|
+
runtimeTypeConflicts.forEach((convertors, rtType) => {
|
|
1500
|
+
if (convertors.length > 1) {
|
|
1501
|
+
const allMembers = new Set();
|
|
1502
|
+
if (rtType === RuntimeType.OBJECT) {
|
|
1503
|
+
convertors.forEach(convertor => {
|
|
1504
|
+
convertor.getMembers().forEach(member => {
|
|
1505
|
+
if (allMembers.has(member))
|
|
1506
|
+
this.duplicateMembers.add(member);
|
|
1507
|
+
allMembers.add(member);
|
|
1508
|
+
});
|
|
1509
|
+
});
|
|
1510
|
+
}
|
|
1511
|
+
convertors.forEach(convertor => {
|
|
1512
|
+
this.conflictingConvertors.add(convertor);
|
|
1513
|
+
});
|
|
1514
|
+
}
|
|
1515
|
+
});
|
|
1516
|
+
}
|
|
1517
|
+
makeDiscriminator(value, convertorIndex, writer, library, type) {
|
|
1518
|
+
let convertor = this.convertors[convertorIndex];
|
|
1519
|
+
if (writer.language === Language.TS) {
|
|
1520
|
+
const isArray = idl.IDLContainerUtils.isSequence(convertor.idlType);
|
|
1521
|
+
if (isArray || this.conflictingConvertors.has(convertor)) {
|
|
1522
|
+
// Check elements inside array
|
|
1523
|
+
if (type && convertor.idlType != type) {
|
|
1524
|
+
convertor = library.typeConvertor("", type);
|
|
1525
|
+
}
|
|
1526
|
+
const discriminator = convertor.unionDiscriminator(value, convertorIndex, writer, this.duplicateMembers);
|
|
1527
|
+
if (discriminator)
|
|
1528
|
+
return discriminator;
|
|
1529
|
+
}
|
|
1530
|
+
}
|
|
1531
|
+
return writer.makeString(writer.discriminate(value, convertorIndex, type !== null && type !== void 0 ? type : convertor.idlType, convertor.runtimeTypes));
|
|
1532
|
+
}
|
|
1533
|
+
}
|
|
1534
|
+
export function flattenUnionType(library, type) {
|
|
1535
|
+
if (idl.isUnionType(type)) {
|
|
1536
|
+
const unionFlattener = new UnionFlattener(library);
|
|
1537
|
+
const allTypes = type.types.flatMap(it => convertType(unionFlattener, it));
|
|
1538
|
+
const uniqueTypes = new Set(allTypes);
|
|
1539
|
+
return uniqueTypes.size === allTypes.length ? type : collapseTypes(Array.from(uniqueTypes));
|
|
1540
|
+
}
|
|
1541
|
+
return type;
|
|
1542
|
+
}
|
|
1543
|
+
function getSourceType(convertor) {
|
|
1544
|
+
if (convertor instanceof TransformOnSerializeConvertor) {
|
|
1545
|
+
return convertor.getSourceType();
|
|
1546
|
+
}
|
|
1547
|
+
return convertor.idlType;
|
|
1548
|
+
}
|
|
1375
1549
|
//# sourceMappingURL=ArgConvertors.js.map
|
|
@@ -171,6 +171,7 @@ export declare enum MethodModifier {
|
|
|
171
171
|
OVERRIDE = 11,
|
|
172
172
|
OPEN = 12
|
|
173
173
|
}
|
|
174
|
+
export declare const METHOD_ACCESS_MODIFIERS: Set<MethodModifier>;
|
|
174
175
|
export declare enum ClassModifier {
|
|
175
176
|
PUBLIC = 0,
|
|
176
177
|
PRIVATE = 1,
|
|
@@ -288,7 +289,7 @@ export declare abstract class LanguageWriter {
|
|
|
288
289
|
abstract writeImports(moduleName: string, importedFeatures: string[], aliases: string[]): void;
|
|
289
290
|
abstract makeAssign(variableName: string, type: idl.IDLType | undefined, expr: LanguageExpression | undefined, isDeclared: boolean, isConst?: boolean, options?: MakeAssignOptions): LanguageStatement;
|
|
290
291
|
abstract makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
|
|
291
|
-
abstract makeThrowError(message: string): LanguageStatement;
|
|
292
|
+
abstract makeThrowError(message: string | LanguageExpression): LanguageStatement;
|
|
292
293
|
abstract makeReturn(expr?: LanguageExpression): LanguageStatement;
|
|
293
294
|
abstract makeRuntimeType(rt: RuntimeType): LanguageExpression;
|
|
294
295
|
abstract getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
|
|
@@ -339,6 +340,8 @@ export declare abstract class LanguageWriter {
|
|
|
339
340
|
makeNewObject(objectName: string, params?: LanguageExpression[]): LanguageExpression;
|
|
340
341
|
makeFunctionCall(name: string | LanguageExpression, params: LanguageExpression[]): LanguageExpression;
|
|
341
342
|
makeMethodCall(receiver: string, method: string, params: LanguageExpression[], nullable?: boolean): LanguageExpression;
|
|
343
|
+
makeFunctionReference(name: string): LanguageExpression;
|
|
344
|
+
makeMethodReference(receiver: string, method: string): LanguageExpression;
|
|
342
345
|
makeThisCall(params: LanguageExpression[]): LanguageExpression;
|
|
343
346
|
makeStaticMethodCall(receiver: string, method: string, params: LanguageExpression[], nullable?: boolean): LanguageExpression;
|
|
344
347
|
makeFieldAccess(receiver: string, method: string, nullable?: boolean): LanguageExpression;
|
|
@@ -438,5 +441,6 @@ export type MakeAssignOptions = {
|
|
|
438
441
|
overrideTypeName?: string;
|
|
439
442
|
};
|
|
440
443
|
export type ExpressionAssigner = (expression: LanguageExpression) => LanguageStatement;
|
|
444
|
+
export declare function hasAccessModifier(modifiers: MethodModifier[] | undefined): boolean;
|
|
441
445
|
export {};
|
|
442
446
|
//# sourceMappingURL=LanguageWriter.d.ts.map
|
|
@@ -339,6 +339,11 @@ export var MethodModifier;
|
|
|
339
339
|
MethodModifier[MethodModifier["OVERRIDE"] = 11] = "OVERRIDE";
|
|
340
340
|
MethodModifier[MethodModifier["OPEN"] = 12] = "OPEN";
|
|
341
341
|
})(MethodModifier || (MethodModifier = {}));
|
|
342
|
+
export const METHOD_ACCESS_MODIFIERS = new Set([
|
|
343
|
+
MethodModifier.PUBLIC,
|
|
344
|
+
MethodModifier.PRIVATE,
|
|
345
|
+
MethodModifier.PROTECTED
|
|
346
|
+
]);
|
|
342
347
|
export var ClassModifier;
|
|
343
348
|
(function (ClassModifier) {
|
|
344
349
|
ClassModifier[ClassModifier["PUBLIC"] = 0] = "PUBLIC";
|
|
@@ -541,6 +546,12 @@ export class LanguageWriter {
|
|
|
541
546
|
makeMethodCall(receiver, method, params, nullable) {
|
|
542
547
|
return new MethodCallExpression(receiver, method, params, nullable);
|
|
543
548
|
}
|
|
549
|
+
makeFunctionReference(name) {
|
|
550
|
+
return this.makeString(name);
|
|
551
|
+
}
|
|
552
|
+
makeMethodReference(receiver, method) {
|
|
553
|
+
return this.makeString(`${receiver}.${method}`);
|
|
554
|
+
}
|
|
544
555
|
// Deprecated
|
|
545
556
|
// Use instead declarationCall parameter in writeConstructorImplementation(...) with DelegationType.THIS
|
|
546
557
|
makeThisCall(params) {
|
|
@@ -763,4 +774,8 @@ export function copyMethod(method, overrides) {
|
|
|
763
774
|
var _a, _b, _c, _d;
|
|
764
775
|
return new Method((_a = overrides.name) !== null && _a !== void 0 ? _a : method.name, (_b = overrides.signature) !== null && _b !== void 0 ? _b : method.signature, (_c = overrides.modifiers) !== null && _c !== void 0 ? _c : method.modifiers, (_d = overrides.generics) !== null && _d !== void 0 ? _d : method.generics);
|
|
765
776
|
}
|
|
777
|
+
export function hasAccessModifier(modifiers) {
|
|
778
|
+
const modifier = modifiers === null || modifiers === void 0 ? void 0 : modifiers.find(value => METHOD_ACCESS_MODIFIERS.has(value));
|
|
779
|
+
return modifier !== undefined;
|
|
780
|
+
}
|
|
766
781
|
//# sourceMappingURL=LanguageWriter.js.map
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import * as idl from '../../idl';
|
|
16
16
|
import { CJKeywords } from '../../languageSpecificKeywords';
|
|
17
|
-
import {
|
|
17
|
+
import { maybeRestoreThrows } from '../../transformers/transformUtils';
|
|
18
18
|
import { removePoints } from '../../util';
|
|
19
19
|
import { convertNode, convertType } from '../nameConvertor';
|
|
20
20
|
import { InteropArgConvertor } from './InteropConvertors';
|
|
@@ -35,7 +35,7 @@ export class CJTypeNameConvertor {
|
|
|
35
35
|
return `Option<${this.convert(type.type)}>`;
|
|
36
36
|
}
|
|
37
37
|
convertUnion(type) {
|
|
38
|
-
return "Union_" + type.types.map(it => generateSyntheticIdlNodeName(it)).join("_");
|
|
38
|
+
return "Union_" + type.types.map(it => idl.generateSyntheticIdlNodeName(it)).join("_");
|
|
39
39
|
}
|
|
40
40
|
convertContainer(type) {
|
|
41
41
|
if (idl.IDLContainerUtils.isSequence(type)) {
|
|
@@ -96,6 +96,10 @@ export class CJTypeNameConvertor {
|
|
|
96
96
|
return "KPointer";
|
|
97
97
|
// resolve synthetic types
|
|
98
98
|
const decl = this.resolver.resolveTypeReference(type);
|
|
99
|
+
let restoredThrow;
|
|
100
|
+
if (restoredThrow = maybeRestoreThrows(decl, this.resolver)) {
|
|
101
|
+
return this.convert(restoredThrow);
|
|
102
|
+
}
|
|
99
103
|
if (decl && idl.isSyntheticEntry(decl)) {
|
|
100
104
|
if (idl.isCallback(decl)) {
|
|
101
105
|
return this.callbackType(decl);
|
|
@@ -17,11 +17,11 @@ import { generatorConfiguration } from "../../config";
|
|
|
17
17
|
import { convertNode, convertType } from "../nameConvertor";
|
|
18
18
|
import { PrimitiveTypesInstance } from '../../peer-generation/PrimitiveType';
|
|
19
19
|
import { InteropArgConvertor } from './InteropConvertors';
|
|
20
|
-
import { maybeTransformManagedCallback } from '../ArgConvertors';
|
|
21
20
|
import { qualifiedName } from '../../peer-generation/idl/common';
|
|
22
21
|
import { isInIdlizeInternal } from '../../idl';
|
|
23
22
|
import { isTopLevelConflicted } from '../../peer-generation/ConflictingDeclarations';
|
|
24
23
|
import { Language } from '../../Language';
|
|
24
|
+
import { maybeRestoreThrows, maybeTransformManagedCallback } from '../../transformers/transformUtils';
|
|
25
25
|
function isSubtypeTopLevelConflicted(library, node) {
|
|
26
26
|
let hasConflicts = false;
|
|
27
27
|
idl.forEachChild(node, (child) => {
|
|
@@ -49,6 +49,12 @@ export class GenericCppConvertor {
|
|
|
49
49
|
throw new Error("Internal error: namespaces are not allowed on the interop layer");
|
|
50
50
|
}
|
|
51
51
|
convertInterface(node) {
|
|
52
|
+
let restoredThrow;
|
|
53
|
+
if (restoredThrow = maybeRestoreThrows(node, this.library)) {
|
|
54
|
+
if (restoredThrow === idl.IDLThisType)
|
|
55
|
+
restoredThrow = idl.IDLVoidType;
|
|
56
|
+
return this.make(`Throws_${this.convertNode(restoredThrow).text}`, idl.createReferenceType(node), true);
|
|
57
|
+
}
|
|
52
58
|
switch (node.subkind) {
|
|
53
59
|
case idl.IDLInterfaceSubkind.AnonymousInterface:
|
|
54
60
|
return node.name
|
|
@@ -34,6 +34,9 @@ export class ETSTypeNameConvertor extends TSTypeNameConvertor {
|
|
|
34
34
|
if (idl.IDLContainerUtils.isSequence(type)) {
|
|
35
35
|
return isInsideInstanceof() ? `Array` : `Array<${this.convert(type.elementType[0])}>`;
|
|
36
36
|
}
|
|
37
|
+
if (idl.IDLContainerUtils.isRecord(type) && idl.hasExtAttribute(type, idl.IDLExtendedAttributes.AsRecord)) {
|
|
38
|
+
return isInsideInstanceof() ? 'Record' : `Record<${this.convert(type.elementType[0])}, ${this.convert(type.elementType[1])}>`;
|
|
39
|
+
}
|
|
37
40
|
return super.convertContainer(type);
|
|
38
41
|
}
|
|
39
42
|
convertPrimitiveType(type) {
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import * as idl from '../../idl';
|
|
16
16
|
import { isMaterialized } from '../../peer-generation/isMaterialized';
|
|
17
17
|
import { PrimitiveTypesInstance } from '../../peer-generation/PrimitiveType';
|
|
18
|
+
import { maybeRestoreThrows } from '../../transformers/transformUtils';
|
|
18
19
|
import { convertType } from '../nameConvertor';
|
|
19
20
|
const KInteropReturnBuffer = 'KInteropReturnBuffer';
|
|
20
21
|
export class InteropReturnTypeConvertor {
|
|
@@ -86,6 +87,9 @@ export class InteropReturnTypeConvertor {
|
|
|
86
87
|
if (idl.isCallback(this.resolver.toDeclaration(type))) {
|
|
87
88
|
return KInteropReturnBuffer;
|
|
88
89
|
}
|
|
90
|
+
if (maybeRestoreThrows(decl, this.resolver)) {
|
|
91
|
+
return KInteropReturnBuffer;
|
|
92
|
+
}
|
|
89
93
|
if (idl.isInterface(decl)) {
|
|
90
94
|
if (isMaterialized(decl, this.resolver)) {
|
|
91
95
|
return PrimitiveTypesInstance.NativePointer.getText();
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as idl from '../../idl';
|
|
2
|
-
import { ReferenceResolver } from '../../peer-generation/ReferenceResolver';
|
|
3
2
|
import { IdlNameConvertor, NodeConvertor, TypeConvertor } from '../nameConvertor';
|
|
4
|
-
import { InteropReturnTypeConvertor } from './InteropConvertors';
|
|
3
|
+
import { InteropArgConvertor, InteropReturnTypeConvertor } from './InteropConvertors';
|
|
4
|
+
import { LibraryInterface } from '../../LibraryInterface';
|
|
5
5
|
export declare class KotlinTypeNameConvertor implements NodeConvertor<string>, IdlNameConvertor {
|
|
6
|
-
protected
|
|
7
|
-
constructor(
|
|
6
|
+
protected library: LibraryInterface;
|
|
7
|
+
constructor(library: LibraryInterface);
|
|
8
8
|
convert(node: idl.IDLNode): string;
|
|
9
9
|
convertNamespace(node: idl.IDLNamespace): string;
|
|
10
10
|
convertInterface(node: idl.IDLInterface): string;
|
|
@@ -21,7 +21,12 @@ export declare class KotlinTypeNameConvertor implements NodeConvertor<string>, I
|
|
|
21
21
|
convertTypeReference(type: idl.IDLReferenceType): string;
|
|
22
22
|
convertTypeParameter(type: idl.IDLTypeParameterType): string;
|
|
23
23
|
convertPrimitiveType(type: idl.IDLPrimitiveType): string;
|
|
24
|
-
private
|
|
24
|
+
private mangleTopLevel;
|
|
25
|
+
private mapCallback;
|
|
26
|
+
}
|
|
27
|
+
export declare class KotlinInteropArgConvertor extends InteropArgConvertor {
|
|
28
|
+
convertContainer(type: idl.IDLContainerType): string;
|
|
29
|
+
convertPrimitiveType(type: idl.IDLPrimitiveType): string;
|
|
25
30
|
}
|
|
26
31
|
export declare class KotlinCInteropReturnTypeConvertor extends InteropReturnTypeConvertor {
|
|
27
32
|
convertPrimitiveType(type: idl.IDLPrimitiveType): string;
|