@idlizer/core 2.1.2 → 2.1.7
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/LanguageWriters/ArgConvertors.d.ts +3 -4
- package/build/lib/src/LanguageWriters/ArgConvertors.js +43 -32
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +35 -17
- package/build/lib/src/LanguageWriters/LanguageWriter.js +30 -56
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.d.ts +3 -1
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.js +32 -11
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.d.ts +5 -2
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.js +71 -62
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.d.ts +1 -1
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.js +9 -19
- package/build/lib/src/LanguageWriters/convertors/InteropConvertors.d.ts +4 -2
- package/build/lib/src/LanguageWriters/convertors/InteropConvertors.js +10 -3
- package/build/lib/src/LanguageWriters/convertors/JavaConvertors.d.ts +2 -1
- package/build/lib/src/LanguageWriters/convertors/JavaConvertors.js +24 -4
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.d.ts +8 -4
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +87 -33
- package/build/lib/src/LanguageWriters/nameConvertor.d.ts +3 -1
- package/build/lib/src/LanguageWriters/nameConvertor.js +5 -1
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +19 -11
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +34 -47
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.d.ts +4 -1
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.js +1 -1
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +9 -9
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +15 -24
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.d.ts +17 -8
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +48 -23
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.d.ts +4 -6
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.js +15 -14
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +13 -8
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +33 -52
- package/build/lib/src/LibraryInterface.d.ts +1 -4
- package/build/lib/src/config.d.ts +813 -110
- package/build/lib/src/config.js +25 -3
- package/build/lib/src/configDescriber.d.ts +31 -4
- package/build/lib/src/configDescriber.js +101 -3
- package/build/lib/src/from-idl/DtsPrinter.js +31 -18
- package/build/lib/src/from-idl/IDLLinter.d.ts +40 -7
- package/build/lib/src/from-idl/IDLLinter.js +211 -25
- package/build/lib/src/from-idl/common.js +1 -1
- package/build/lib/src/from-idl/deserialize.d.ts +10 -1
- package/build/lib/src/from-idl/deserialize.js +486 -352
- package/build/lib/src/idl.d.ts +29 -19
- package/build/lib/src/idl.js +404 -119
- package/build/lib/src/idlize.d.ts +2 -1
- package/build/lib/src/idlize.js +82 -26
- package/build/lib/src/index.d.ts +4 -3
- package/build/lib/src/index.js +3 -2
- package/build/lib/src/options.d.ts +1 -1
- package/build/lib/src/peer-generation/BuilderClass.d.ts +0 -2
- package/build/lib/src/peer-generation/BuilderClass.js +0 -8
- package/build/lib/src/peer-generation/LayoutManager.d.ts +10 -3
- package/build/lib/src/peer-generation/LayoutManager.js +3 -2
- package/build/lib/src/peer-generation/Materialized.d.ts +1 -1
- package/build/lib/src/peer-generation/Materialized.js +3 -3
- package/build/lib/src/peer-generation/PeerClass.d.ts +3 -8
- package/build/lib/src/peer-generation/PeerClass.js +0 -1
- package/build/lib/src/peer-generation/PeerFile.d.ts +1 -2
- package/build/lib/src/peer-generation/PeerFile.js +1 -1
- package/build/lib/src/peer-generation/PeerLibrary.d.ts +12 -7
- package/build/lib/src/peer-generation/PeerLibrary.js +131 -67
- package/build/lib/src/peer-generation/ReferenceResolver.d.ts +1 -1
- package/build/lib/src/peer-generation/ReferenceResolver.js +2 -2
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.d.ts +1 -0
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.js +6 -2
- package/build/lib/src/peer-generation/idl/common.d.ts +3 -1
- package/build/lib/src/peer-generation/idl/common.js +21 -4
- package/build/lib/src/peer-generation/isMaterialized.js +28 -7
- package/build/lib/src/peer-generation/unions.d.ts +3 -2
- package/build/lib/src/peer-generation/unions.js +7 -3
- package/build/lib/src/resolveNamedNode.d.ts +3 -0
- package/build/lib/src/resolveNamedNode.js +105 -0
- package/build/lib/src/util.d.ts +8 -1
- package/build/lib/src/util.js +41 -3
- package/build/lib/src/visitor.d.ts +2 -1
- package/build/lib/src/visitor.js +109 -7
- package/package.json +2 -2
- package/webidl2.js/LICENSE +21 -0
- package/webidl2.js/README.md +827 -0
- package/webidl2.js/dist/package.json +3 -0
- package/webidl2.js/dist/webidl2.js +93 -19
|
@@ -123,7 +123,7 @@ export declare class BigIntToU64Convertor extends BaseArgConvertor {
|
|
|
123
123
|
isPointerType(): boolean;
|
|
124
124
|
}
|
|
125
125
|
export declare class ObjectConvertor extends BaseArgConvertor {
|
|
126
|
-
constructor(param: string);
|
|
126
|
+
constructor(param: string, type: idl.IDLType);
|
|
127
127
|
convertorArg(param: string, writer: LanguageWriter): string;
|
|
128
128
|
convertorSerialize(param: string, value: string, printer: LanguageWriter): void;
|
|
129
129
|
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter): LanguageStatement;
|
|
@@ -263,7 +263,6 @@ export declare class CustomTypeConvertor extends BaseArgConvertor {
|
|
|
263
263
|
isPointerType(): boolean;
|
|
264
264
|
}
|
|
265
265
|
export declare class OptionConvertor extends BaseArgConvertor {
|
|
266
|
-
private library;
|
|
267
266
|
type: idl.IDLType;
|
|
268
267
|
private readonly typeConvertor;
|
|
269
268
|
constructor(library: LibraryInterface, param: string, type: idl.IDLType);
|
|
@@ -293,8 +292,7 @@ export declare class UnionConvertor extends BaseArgConvertor {
|
|
|
293
292
|
}
|
|
294
293
|
export declare class FunctionConvertor extends BaseArgConvertor {
|
|
295
294
|
private library;
|
|
296
|
-
|
|
297
|
-
constructor(library: LibraryInterface, param: string, type: idl.IDLReferenceType);
|
|
295
|
+
constructor(library: LibraryInterface, param: string);
|
|
298
296
|
convertorArg(param: string, writer: LanguageWriter): string;
|
|
299
297
|
convertorSerialize(param: string, value: string, writer: LanguageWriter): void;
|
|
300
298
|
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter): LanguageStatement;
|
|
@@ -334,6 +332,7 @@ export declare class CallbackConvertor extends BaseArgConvertor {
|
|
|
334
332
|
convertorDeserialize(bufferName: string, deserializerName: string, assigneer: ExpressionAssigner, writer: LanguageWriter, useSyncVersion?: boolean): LanguageStatement;
|
|
335
333
|
nativeType(): idl.IDLType;
|
|
336
334
|
isPointerType(): boolean;
|
|
335
|
+
unionDiscriminator(value: string, index: number, writer: LanguageWriter, duplicates: Set<string>): LanguageExpression | undefined;
|
|
337
336
|
}
|
|
338
337
|
export declare const CallbackKind = "CallbackKind";
|
|
339
338
|
export declare function generateCallbackKindName(callback: idl.IDLCallback): string;
|
|
@@ -16,7 +16,7 @@ import * as idl from "../idl";
|
|
|
16
16
|
import { Language } from "../Language";
|
|
17
17
|
import { BlockStatement, PrintHint, StringExpression, MethodModifier } from "./LanguageWriter";
|
|
18
18
|
import { RuntimeType } from "./common";
|
|
19
|
-
import { generatorTypePrefix } from "../config";
|
|
19
|
+
import { generatorConfiguration, generatorTypePrefix } from "../config";
|
|
20
20
|
import { hashCodeFromString, warn } from "../util";
|
|
21
21
|
import { UnionRuntimeTypeChecker } from "../peer-generation/unions";
|
|
22
22
|
import { CppConvertor, CppNameConvertor } from "./convertors/CppConvertors";
|
|
@@ -29,9 +29,10 @@ export function isDirectConvertedType(originalType, library) {
|
|
|
29
29
|
return true; // TODO: is it correct?
|
|
30
30
|
if (debug)
|
|
31
31
|
console.log(`IDL type ${idl.DebugUtils.debugPrintType(originalType)}`);
|
|
32
|
-
if (originalType == idl.IDLInteropReturnBufferType)
|
|
32
|
+
if (originalType == idl.IDLInteropReturnBufferType)
|
|
33
33
|
return false;
|
|
34
|
-
|
|
34
|
+
if (originalType == idl.IDLThisType)
|
|
35
|
+
return true; /* Because this type for native is pointer, right? */
|
|
35
36
|
if (originalType == idl.IDLSerializerBuffer)
|
|
36
37
|
return true;
|
|
37
38
|
let convertor = library.typeConvertor("x", originalType, false);
|
|
@@ -46,7 +47,9 @@ export function isDirectConvertedType(originalType, library) {
|
|
|
46
47
|
convertor instanceof MapConvertor ||
|
|
47
48
|
convertor instanceof TupleConvertor ||
|
|
48
49
|
convertor instanceof AggregateConvertor ||
|
|
49
|
-
convertor instanceof OptionConvertor
|
|
50
|
+
convertor instanceof OptionConvertor ||
|
|
51
|
+
convertor instanceof ImportTypeConvertor) {
|
|
52
|
+
// try { console.log(`convertor is ${convertor.constructor.name} for ${JSON.stringify(originalType)}`) } catch (e) {}
|
|
50
53
|
return false;
|
|
51
54
|
}
|
|
52
55
|
let type = convertor.interopType();
|
|
@@ -71,7 +74,8 @@ export function isVMContextMethod(method) {
|
|
|
71
74
|
var _a, _b;
|
|
72
75
|
return !!idl.asPromise(method.signature.returnType) ||
|
|
73
76
|
!!((_a = method.modifiers) === null || _a === void 0 ? void 0 : _a.includes(MethodModifier.THROWS)) ||
|
|
74
|
-
!!((_b = method.modifiers) === null || _b === void 0 ? void 0 : _b.includes(MethodModifier.FORCE_CONTEXT))
|
|
77
|
+
!!((_b = method.modifiers) === null || _b === void 0 ? void 0 : _b.includes(MethodModifier.FORCE_CONTEXT)) ||
|
|
78
|
+
generatorConfiguration().forceContext.includes(method.name);
|
|
75
79
|
}
|
|
76
80
|
export function isDirectMethod(method, library) {
|
|
77
81
|
if (isVMContextMethod(method)) {
|
|
@@ -218,20 +222,18 @@ export class EnumConvertor extends BaseArgConvertor {
|
|
|
218
222
|
this.enumEntry = enumEntry;
|
|
219
223
|
}
|
|
220
224
|
convertorArg(param, writer) {
|
|
221
|
-
return writer.
|
|
225
|
+
return writer.i32FromEnum(writer.makeString(writer.escapeKeyword(param)), this.enumEntry).asString();
|
|
222
226
|
}
|
|
223
227
|
convertorSerialize(param, value, writer) {
|
|
224
|
-
writer.writeMethodCall(`${param}Serializer`, "writeInt32", [writer.
|
|
228
|
+
writer.writeMethodCall(`${param}Serializer`, "writeInt32", [writer.i32FromEnum(writer.makeString(value), this.enumEntry).asString()]);
|
|
225
229
|
}
|
|
226
230
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
227
231
|
const readExpr = writer.makeMethodCall(`${deserializerName}`, "readInt32", []);
|
|
228
|
-
const enumExpr =
|
|
229
|
-
? writer.enumFromOrdinal(readExpr, idl.createReferenceType(this.enumEntry))
|
|
230
|
-
: writer.makeCast(readExpr, idl.createReferenceType(this.enumEntry));
|
|
232
|
+
const enumExpr = writer.enumFromI32(readExpr, this.enumEntry);
|
|
231
233
|
return assigneer(enumExpr);
|
|
232
234
|
}
|
|
233
235
|
nativeType() {
|
|
234
|
-
return
|
|
236
|
+
return this.idlType;
|
|
235
237
|
}
|
|
236
238
|
interopType() {
|
|
237
239
|
return idl.IDLI32Type;
|
|
@@ -306,24 +308,24 @@ export class BigIntToU64Convertor extends BaseArgConvertor {
|
|
|
306
308
|
return writer.escapeKeyword(param);
|
|
307
309
|
}
|
|
308
310
|
convertorSerialize(param, value, printer) {
|
|
309
|
-
printer.writeMethodCall(`${param}Serializer`, "
|
|
311
|
+
printer.writeMethodCall(`${param}Serializer`, "writeInt64", [value]);
|
|
310
312
|
}
|
|
311
313
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
312
|
-
return assigneer(writer.makeCast(writer.makeString(`${deserializerName}.
|
|
314
|
+
return assigneer(writer.makeCast(writer.makeString(`${deserializerName}.readInt64()`), this.idlType, { optional: false }));
|
|
313
315
|
}
|
|
314
316
|
nativeType() {
|
|
315
|
-
return idl.
|
|
317
|
+
return idl.IDLI64Type;
|
|
316
318
|
}
|
|
317
319
|
interopType() {
|
|
318
|
-
return idl.
|
|
320
|
+
return idl.IDLI64Type;
|
|
319
321
|
}
|
|
320
322
|
isPointerType() {
|
|
321
323
|
return false;
|
|
322
324
|
}
|
|
323
325
|
}
|
|
324
326
|
export class ObjectConvertor extends BaseArgConvertor {
|
|
325
|
-
constructor(param) {
|
|
326
|
-
super(
|
|
327
|
+
constructor(param, type) {
|
|
328
|
+
super(type, [
|
|
327
329
|
RuntimeType.BIGINT,
|
|
328
330
|
RuntimeType.BOOLEAN,
|
|
329
331
|
RuntimeType.FUNCTION,
|
|
@@ -332,7 +334,6 @@ export class ObjectConvertor extends BaseArgConvertor {
|
|
|
332
334
|
RuntimeType.OBJECT,
|
|
333
335
|
RuntimeType.STRING,
|
|
334
336
|
RuntimeType.SYMBOL,
|
|
335
|
-
RuntimeType.UNDEFINED
|
|
336
337
|
], false, true, param);
|
|
337
338
|
}
|
|
338
339
|
convertorArg(param, writer) {
|
|
@@ -463,7 +464,7 @@ export class AggregateConvertor extends BaseArgConvertor {
|
|
|
463
464
|
* todo: check UnionType name creation for union of unnamed nodes (isNamedNode() == false)
|
|
464
465
|
*/
|
|
465
466
|
const memberType = prop.isOptional
|
|
466
|
-
? idl.createUnionType([idl.IDLUndefinedType, prop.type]
|
|
467
|
+
? idl.createUnionType([idl.IDLUndefinedType, prop.type])
|
|
467
468
|
: prop.type;
|
|
468
469
|
return writer.makeAssign(`${bufferName}_${prop.name}`, memberType, expr, true, true);
|
|
469
470
|
}, writer));
|
|
@@ -558,7 +559,7 @@ export class InterfaceConvertor extends BaseArgConvertor {
|
|
|
558
559
|
interopType() {
|
|
559
560
|
// Actually shouldn't be used!
|
|
560
561
|
// throw new Error("Must never be used")
|
|
561
|
-
return idl.
|
|
562
|
+
return idl.IDLSerializerBuffer;
|
|
562
563
|
}
|
|
563
564
|
isPointerType() {
|
|
564
565
|
return true;
|
|
@@ -601,7 +602,7 @@ export class ArrayConvertor extends BaseArgConvertor {
|
|
|
601
602
|
printer.writeStatement(printer.makeLoop(loopCounter, valueLength));
|
|
602
603
|
printer.pushIndent();
|
|
603
604
|
printer.writeStatement(printer.makeAssign(`${value}_element`, this.elementType, printer.makeArrayAccess(value, loopCounter), true));
|
|
604
|
-
this.elementConvertor.convertorSerialize(param,
|
|
605
|
+
this.elementConvertor.convertorSerialize(param, `${value}_element`, printer);
|
|
605
606
|
printer.popIndent();
|
|
606
607
|
printer.print(`}`);
|
|
607
608
|
}
|
|
@@ -807,12 +808,18 @@ export class OptionConvertor extends BaseArgConvertor {
|
|
|
807
808
|
// TODO: be smarter here, and for smth like Length|undefined or number|undefined pass without serializer.
|
|
808
809
|
constructor(library, param, type) {
|
|
809
810
|
let conv = library.typeConvertor(param, type);
|
|
811
|
+
let currentConv = conv;
|
|
812
|
+
while (currentConv instanceof ProxyConvertor) {
|
|
813
|
+
currentConv = currentConv.convertor;
|
|
814
|
+
}
|
|
815
|
+
if (currentConv instanceof OptionConvertor) {
|
|
816
|
+
conv = currentConv.typeConvertor;
|
|
817
|
+
}
|
|
810
818
|
let runtimeTypes = conv.runtimeTypes;
|
|
811
819
|
if (!runtimeTypes.includes(RuntimeType.UNDEFINED)) {
|
|
812
820
|
runtimeTypes.push(RuntimeType.UNDEFINED);
|
|
813
821
|
}
|
|
814
822
|
super(idl.createOptionalType(conv.idlType), runtimeTypes, conv.isScoped, true, param);
|
|
815
|
-
this.library = library;
|
|
816
823
|
this.type = type;
|
|
817
824
|
this.typeConvertor = conv;
|
|
818
825
|
}
|
|
@@ -820,7 +827,7 @@ export class OptionConvertor extends BaseArgConvertor {
|
|
|
820
827
|
throw new Error("Must never be used");
|
|
821
828
|
}
|
|
822
829
|
convertorSerialize(param, value, printer) {
|
|
823
|
-
const valueType = `${value}_type
|
|
830
|
+
const valueType = `${value}_type`.replaceAll('.', '_');
|
|
824
831
|
const serializedType = (printer.language == Language.JAVA ? undefined : idl.IDLI32Type);
|
|
825
832
|
printer.writeStatement(printer.makeAssign(valueType, serializedType, printer.makeRuntimeType(RuntimeType.UNDEFINED), true, false));
|
|
826
833
|
if (printer.language != Language.CJ) {
|
|
@@ -832,8 +839,9 @@ export class OptionConvertor extends BaseArgConvertor {
|
|
|
832
839
|
if (printer.language == Language.CJ) {
|
|
833
840
|
printer.writeMethodCall(`${param}Serializer`, "writeInt8", ["RuntimeType.OBJECT.ordinal"]); // everything is object, except None<T>
|
|
834
841
|
}
|
|
835
|
-
|
|
836
|
-
|
|
842
|
+
const valueValue = `${value}_value`.replaceAll('.', '_');
|
|
843
|
+
printer.writeStatement(printer.makeAssign(valueValue, undefined, printer.makeValueFromOption(value, this.typeConvertor), true));
|
|
844
|
+
this.typeConvertor.convertorSerialize(param, this.typeConvertor.getObjectAccessor(printer.language, valueValue), printer);
|
|
837
845
|
printer.popIndent();
|
|
838
846
|
printer.print(`}`);
|
|
839
847
|
if (printer.language == Language.CJ) {
|
|
@@ -937,7 +945,7 @@ export class UnionConvertor extends BaseArgConvertor {
|
|
|
937
945
|
return { expr, stmt };
|
|
938
946
|
});
|
|
939
947
|
statements.push(writer.makeMultiBranchCondition(branches, writer.makeThrowError(`One of the branches for ${bufferName} has to be chosen through deserialisation.`)));
|
|
940
|
-
statements.push(assigneer(writer.makeCast(writer.makeString(bufferName), this.
|
|
948
|
+
statements.push(assigneer(writer.makeCast(writer.makeString(bufferName), this.nativeType())));
|
|
941
949
|
return new BlockStatement(statements, false);
|
|
942
950
|
}
|
|
943
951
|
nativeType() {
|
|
@@ -958,11 +966,10 @@ export class UnionConvertor extends BaseArgConvertor {
|
|
|
958
966
|
}
|
|
959
967
|
}
|
|
960
968
|
export class FunctionConvertor extends BaseArgConvertor {
|
|
961
|
-
constructor(library, param
|
|
969
|
+
constructor(library, param) {
|
|
962
970
|
// TODO: pass functions as integers to native side.
|
|
963
971
|
super(idl.IDLFunctionType, [RuntimeType.FUNCTION], false, false, param);
|
|
964
972
|
this.library = library;
|
|
965
|
-
this.type = type;
|
|
966
973
|
}
|
|
967
974
|
convertorArg(param, writer) {
|
|
968
975
|
return writer.language == Language.CPP ? `makeArkFunctionFromId(${param})` : `registerCallback(${param})`;
|
|
@@ -971,7 +978,7 @@ export class FunctionConvertor extends BaseArgConvertor {
|
|
|
971
978
|
writer.writeMethodCall(`${param}Serializer`, "writeFunction", [value]);
|
|
972
979
|
}
|
|
973
980
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
974
|
-
return assigneer(writer.makeCast(writer.makeString(`${deserializerName}.readFunction()`),
|
|
981
|
+
return assigneer(writer.makeCast(writer.makeString(`${deserializerName}.readFunction()`), idl.IDLFunctionType, { optional: true }));
|
|
975
982
|
}
|
|
976
983
|
nativeType() {
|
|
977
984
|
return idl.IDLFunctionType;
|
|
@@ -991,7 +998,7 @@ export class MaterializedClassConvertor extends BaseArgConvertor {
|
|
|
991
998
|
convertorArg(param, writer) {
|
|
992
999
|
switch (writer.language) {
|
|
993
1000
|
case Language.CPP:
|
|
994
|
-
return `static_cast<${generatorTypePrefix()}${qualifiedName(this.declaration, "_")}>(${param})`;
|
|
1001
|
+
return `static_cast<${generatorTypePrefix()}${qualifiedName(this.declaration, "_", "namespace.name")}>(${param})`;
|
|
995
1002
|
case Language.JAVA:
|
|
996
1003
|
case Language.CJ:
|
|
997
1004
|
return `MaterializedBase.toPeerPtr(${param})`;
|
|
@@ -1000,12 +1007,12 @@ export class MaterializedClassConvertor extends BaseArgConvertor {
|
|
|
1000
1007
|
}
|
|
1001
1008
|
}
|
|
1002
1009
|
convertorSerialize(param, value, printer) {
|
|
1003
|
-
printer.writeStatement(printer.makeStatement(printer.makeMethodCall(`${param}Serializer`, `write${qualifiedName(this.declaration, "_")}`, [
|
|
1010
|
+
printer.writeStatement(printer.makeStatement(printer.makeMethodCall(`${param}Serializer`, `write${qualifiedName(this.declaration, "_", "namespace.name")}`, [
|
|
1004
1011
|
printer.makeString(value)
|
|
1005
1012
|
])));
|
|
1006
1013
|
}
|
|
1007
1014
|
convertorDeserialize(bufferName, deserializerName, assigneer, writer) {
|
|
1008
|
-
const readStatement = writer.makeCast(writer.makeMethodCall(`${deserializerName}`, `read${qualifiedName(this.declaration, "_")}`, []),
|
|
1015
|
+
const readStatement = writer.makeCast(writer.makeMethodCall(`${deserializerName}`, `read${qualifiedName(this.declaration, "_", "namespace.name")}`, []), this.declaration);
|
|
1009
1016
|
return assigneer(readStatement);
|
|
1010
1017
|
}
|
|
1011
1018
|
nativeType() {
|
|
@@ -1108,6 +1115,10 @@ export class CallbackConvertor extends BaseArgConvertor {
|
|
|
1108
1115
|
isPointerType() {
|
|
1109
1116
|
return true;
|
|
1110
1117
|
}
|
|
1118
|
+
unionDiscriminator(value, index, writer, duplicates) {
|
|
1119
|
+
// We serialize callbacks as table offsets, so don't need to discriminate them. Runtime type check is enough
|
|
1120
|
+
return writer.makeUnionVariantCondition(this, value, `${value}_type`, RuntimeType[RuntimeType.FUNCTION]);
|
|
1121
|
+
}
|
|
1111
1122
|
}
|
|
1112
1123
|
////////////////////////////////////////////////////////////////////////////////
|
|
1113
1124
|
// UTILS
|
|
@@ -114,8 +114,11 @@ export declare class CheckOptionalStatement implements LanguageStatement {
|
|
|
114
114
|
}
|
|
115
115
|
export declare class TsEnumEntityStatement implements LanguageStatement {
|
|
116
116
|
private readonly enumEntity;
|
|
117
|
-
private readonly
|
|
118
|
-
constructor(enumEntity: idl.IDLEnum,
|
|
117
|
+
private readonly options;
|
|
118
|
+
constructor(enumEntity: idl.IDLEnum, options: {
|
|
119
|
+
isExport: boolean;
|
|
120
|
+
isDeclare: boolean;
|
|
121
|
+
});
|
|
119
122
|
write(writer: LanguageWriter): void;
|
|
120
123
|
private maybeQuoted;
|
|
121
124
|
}
|
|
@@ -134,6 +137,9 @@ export declare abstract class LambdaExpression implements LanguageExpression {
|
|
|
134
137
|
abstract asString(): string;
|
|
135
138
|
bodyAsString(): string;
|
|
136
139
|
}
|
|
140
|
+
export declare enum ArgumentModifier {
|
|
141
|
+
OPTIONAL = 0
|
|
142
|
+
}
|
|
137
143
|
export declare enum FieldModifier {
|
|
138
144
|
READONLY = 0,
|
|
139
145
|
PRIVATE = 1,
|
|
@@ -191,16 +197,18 @@ export declare class MethodSignature {
|
|
|
191
197
|
defaults: stringOrNone[] | undefined;
|
|
192
198
|
printHints?: MethodArgPrintHintOrNone[] | undefined;
|
|
193
199
|
argNames?: string[] | undefined;
|
|
194
|
-
|
|
200
|
+
argsModifiers: ArgumentModifier[][] | undefined;
|
|
201
|
+
constructor(returnType: idl.IDLType, args: idl.IDLType[], defaults?: stringOrNone[] | undefined, argsModifiers?: (ArgumentModifier[] | ArgumentModifier | undefined)[] | undefined, printHints?: MethodArgPrintHintOrNone[] | undefined, argNames?: string[] | undefined);
|
|
195
202
|
argName(index: number): string;
|
|
196
203
|
argDefault(index: number): string | undefined;
|
|
204
|
+
isArgOptional(index: number): boolean;
|
|
197
205
|
retHint(): PrintHint | undefined;
|
|
198
206
|
argHint(index: number): PrintHint | undefined;
|
|
199
207
|
toString(): string;
|
|
200
208
|
}
|
|
201
209
|
export declare class NamedMethodSignature extends MethodSignature {
|
|
202
210
|
argsNames: string[];
|
|
203
|
-
constructor(returnType: idl.IDLType, args?: idl.IDLType[], argsNames?: string[], defaults?: stringOrNone[] | undefined, printHints?: MethodArgPrintHintOrNone[]);
|
|
211
|
+
constructor(returnType: idl.IDLType, args?: idl.IDLType[], argsNames?: string[], defaults?: stringOrNone[] | undefined, argsModifiers?: (ArgumentModifier[] | ArgumentModifier | undefined)[] | undefined, printHints?: MethodArgPrintHintOrNone[]);
|
|
204
212
|
static make(returnType: idl.IDLType, args: {
|
|
205
213
|
name: string;
|
|
206
214
|
type: idl.IDLType;
|
|
@@ -228,11 +236,14 @@ export declare abstract class LanguageWriter {
|
|
|
228
236
|
alias?: string;
|
|
229
237
|
stringId: string | undefined;
|
|
230
238
|
numberId: number;
|
|
231
|
-
}[],
|
|
239
|
+
}[], options: {
|
|
240
|
+
isExport: boolean;
|
|
241
|
+
isDeclare?: boolean;
|
|
242
|
+
}, op?: (writer: this) => void): void;
|
|
232
243
|
abstract writeInterface(name: string, op: (writer: this) => void, superInterfaces?: string[], generics?: string[], isDeclared?: boolean): void;
|
|
233
244
|
abstract writeFieldDeclaration(name: string, type: idl.IDLType, modifiers: FieldModifier[] | undefined, optional: boolean, initExpr?: LanguageExpression): void;
|
|
234
|
-
abstract writeFunctionDeclaration(name: string, signature: MethodSignature): void;
|
|
235
|
-
abstract writeFunctionImplementation(name: string, signature: MethodSignature, op: (writer: this) => void): void;
|
|
245
|
+
abstract writeFunctionDeclaration(name: string, signature: MethodSignature, generics?: string[]): void;
|
|
246
|
+
abstract writeFunctionImplementation(name: string, signature: MethodSignature, op: (writer: this) => void, generics?: string[]): void;
|
|
236
247
|
abstract writeMethodDeclaration(name: string, signature: MethodSignature, modifiers?: MethodModifier[]): void;
|
|
237
248
|
abstract writeConstructorImplementation(className: string, signature: MethodSignature, op: (writer: this) => void, superCall?: Method, modifiers?: MethodModifier[]): void;
|
|
238
249
|
abstract writeMethodImplementation(method: Method, op: (writer: this) => void): void;
|
|
@@ -252,7 +263,7 @@ export declare abstract class LanguageWriter {
|
|
|
252
263
|
abstract makeCheckOptional(optional: LanguageExpression, doStatement: LanguageStatement): LanguageStatement;
|
|
253
264
|
abstract makeRuntimeType(rt: RuntimeType): LanguageExpression;
|
|
254
265
|
abstract getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
|
|
255
|
-
abstract makeCast(value: LanguageExpression,
|
|
266
|
+
abstract makeCast(value: LanguageExpression, node: idl.IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
256
267
|
makeTypeCast(value: LanguageExpression, type: idl.IDLType, options?: MakeCastOptions): LanguageExpression;
|
|
257
268
|
abstract writePrintLog(message: string): void;
|
|
258
269
|
abstract makeUndefined(): LanguageExpression;
|
|
@@ -269,9 +280,8 @@ export declare abstract class LanguageWriter {
|
|
|
269
280
|
abstract makeTupleAssign(receiver: string, tupleFields: string[]): LanguageStatement;
|
|
270
281
|
abstract get supportedModifiers(): MethodModifier[];
|
|
271
282
|
abstract get supportedFieldModifiers(): FieldModifier[];
|
|
272
|
-
abstract
|
|
273
|
-
abstract
|
|
274
|
-
abstract makeEnumCast(enumEntry: idl.IDLEnum, enumName: string): string;
|
|
283
|
+
abstract enumFromI32(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
284
|
+
abstract i32FromEnum(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
275
285
|
abstract getNodeName(type: idl.IDLNode): string;
|
|
276
286
|
abstract fork(options?: {
|
|
277
287
|
resolver?: ReferenceResolver;
|
|
@@ -313,7 +323,6 @@ export declare abstract class LanguageWriter {
|
|
|
313
323
|
makeUnionVariantCondition(_convertor: ArgConvertor, _valueName: string, valueType: string, type: string, _convertorIndex?: number, _runtimeTypeIndex?: number): LanguageExpression;
|
|
314
324
|
makeUnionVariantCast(value: string, type: string, convertor: ArgConvertor, index?: number): LanguageExpression;
|
|
315
325
|
makeUnionTypeDefaultInitializer(): LanguageExpression;
|
|
316
|
-
makeRuntimeTypeGetterCall(value: string): LanguageExpression;
|
|
317
326
|
makeArrayResize(array: string, arrayType: string, length: string, deserializer: string): LanguageStatement;
|
|
318
327
|
makeMapResize(mapTypeName: string, keyType: idl.IDLType, valueType: idl.IDLType, map: string, size: string, deserializer: string): LanguageStatement;
|
|
319
328
|
makeMapSize(map: string): LanguageExpression;
|
|
@@ -345,7 +354,10 @@ export declare abstract class LanguageWriter {
|
|
|
345
354
|
targetType: (writer: LanguageWriter) => string;
|
|
346
355
|
}, value: string, accessors: string[], duplicates: Set<string>): LanguageExpression;
|
|
347
356
|
makeIsTypeCall(value: string, decl: idl.IDLInterface): LanguageExpression;
|
|
348
|
-
makeEnumEntity(enumEntity: idl.IDLEnum,
|
|
357
|
+
makeEnumEntity(enumEntity: idl.IDLEnum, options: {
|
|
358
|
+
isExport: boolean;
|
|
359
|
+
isDeclare?: boolean;
|
|
360
|
+
}): LanguageStatement;
|
|
349
361
|
makeFieldModifiersList(modifiers: FieldModifier[] | undefined, customFieldFilter?: (field: FieldModifier) => boolean): string;
|
|
350
362
|
escapeKeyword(keyword: string): string;
|
|
351
363
|
makeCastCustomObject(customName: string, _isGenericType: boolean): LanguageExpression;
|
|
@@ -360,18 +372,24 @@ export declare abstract class LanguageWriter {
|
|
|
360
372
|
makeCallIsObject(value: string): LanguageExpression;
|
|
361
373
|
instanceOf(convertor: ArgConvertor, value: string, _duplicateMembers?: Set<string>): LanguageExpression;
|
|
362
374
|
typeInstanceOf(type: idl.IDLEntry, value: string, members?: string[]): LanguageExpression;
|
|
363
|
-
makeLengthSerializer(serializer: string, value: string): LanguageStatement | undefined;
|
|
364
|
-
makeLengthDeserializer(deserializer: string): LanguageStatement | undefined;
|
|
365
375
|
stringifyTypeOrEmpty(type: idl.IDLType | undefined): string;
|
|
366
376
|
/**
|
|
367
377
|
* Writes `namespace <namespace> {` and adds extra indent
|
|
368
378
|
* @param namespace Namespace to begin
|
|
369
379
|
*/
|
|
370
|
-
pushNamespace(namespace: string,
|
|
380
|
+
pushNamespace(namespace: string, options: {
|
|
381
|
+
ident: boolean;
|
|
382
|
+
isDeclared?: boolean;
|
|
383
|
+
}): void;
|
|
371
384
|
/**
|
|
372
385
|
* Writes closing brace of namespace block and removes one level of indent
|
|
373
386
|
*/
|
|
374
|
-
popNamespace(
|
|
387
|
+
popNamespace(options: {
|
|
388
|
+
ident: boolean;
|
|
389
|
+
}): void;
|
|
390
|
+
static _isReferenceRelativeToNamespaces: boolean;
|
|
391
|
+
static get isReferenceRelativeToNamespaces(): boolean;
|
|
392
|
+
static relativeReferences<T>(isRelative: boolean, op: () => T): T;
|
|
375
393
|
}
|
|
376
394
|
export declare function mangleMethodName(method: Method, id?: number): string;
|
|
377
395
|
export declare function printMethodDeclaration(printer: IndentedPrinter, retType: string, methodName: string, apiParameters: string[], postfix?: string): void;
|
|
@@ -231,14 +231,13 @@ export class CheckOptionalStatement {
|
|
|
231
231
|
}
|
|
232
232
|
// maybe rename or move of fix
|
|
233
233
|
export class TsEnumEntityStatement {
|
|
234
|
-
constructor(enumEntity,
|
|
234
|
+
constructor(enumEntity, options) {
|
|
235
235
|
this.enumEntity = enumEntity;
|
|
236
|
-
this.
|
|
236
|
+
this.options = options;
|
|
237
237
|
}
|
|
238
238
|
write(writer) {
|
|
239
239
|
// writer.print(this.enumEntity.comment)
|
|
240
|
-
|
|
241
|
-
writer.print(`${this.isExport ? "export " : ""}enum ${this.enumEntity.name} {`);
|
|
240
|
+
writer.print(`${this.options.isExport ? "export " : ""}${this.options.isDeclare ? "declare " : ""}enum ${this.enumEntity.name} {`);
|
|
242
241
|
writer.pushIndent();
|
|
243
242
|
this.enumEntity.elements.forEach((member, index) => {
|
|
244
243
|
// writer.print(member.comment)
|
|
@@ -253,7 +252,6 @@ export class TsEnumEntityStatement {
|
|
|
253
252
|
});
|
|
254
253
|
writer.popIndent();
|
|
255
254
|
writer.print(`}`);
|
|
256
|
-
idl.getNamespacesPathFor(this.enumEntity).forEach(it => writer.popNamespace());
|
|
257
255
|
}
|
|
258
256
|
maybeQuoted(value) {
|
|
259
257
|
if (typeof value == "string")
|
|
@@ -294,6 +292,10 @@ export class LambdaExpression {
|
|
|
294
292
|
////////////////////////////////////////////////////////////////
|
|
295
293
|
// SIGNATURES //
|
|
296
294
|
////////////////////////////////////////////////////////////////
|
|
295
|
+
export var ArgumentModifier;
|
|
296
|
+
(function (ArgumentModifier) {
|
|
297
|
+
ArgumentModifier[ArgumentModifier["OPTIONAL"] = 0] = "OPTIONAL";
|
|
298
|
+
})(ArgumentModifier || (ArgumentModifier = {}));
|
|
297
299
|
export var FieldModifier;
|
|
298
300
|
(function (FieldModifier) {
|
|
299
301
|
FieldModifier[FieldModifier["READONLY"] = 0] = "READONLY";
|
|
@@ -354,12 +356,13 @@ PrintHint.AsConstPointer = new PrintHint('AsConstPointer');
|
|
|
354
356
|
PrintHint.AsValue = new PrintHint('AsValue');
|
|
355
357
|
PrintHint.AsConstReference = new PrintHint('AsConstReference');
|
|
356
358
|
export class MethodSignature {
|
|
357
|
-
constructor(returnType, args, defaults = undefined, printHints, argNames) {
|
|
359
|
+
constructor(returnType, args, defaults = undefined, argsModifiers = undefined, printHints, argNames) {
|
|
358
360
|
this.returnType = returnType;
|
|
359
361
|
this.args = args;
|
|
360
362
|
this.defaults = defaults;
|
|
361
363
|
this.printHints = printHints;
|
|
362
364
|
this.argNames = argNames;
|
|
365
|
+
this.argsModifiers = argsModifiers === null || argsModifiers === void 0 ? void 0 : argsModifiers.map(it => it === undefined ? [] : Array.isArray(it) ? it : [it]);
|
|
363
366
|
}
|
|
364
367
|
argName(index) {
|
|
365
368
|
var _a, _b;
|
|
@@ -369,6 +372,10 @@ export class MethodSignature {
|
|
|
369
372
|
var _a;
|
|
370
373
|
return (_a = this.defaults) === null || _a === void 0 ? void 0 : _a[index];
|
|
371
374
|
}
|
|
375
|
+
isArgOptional(index) {
|
|
376
|
+
var _a, _b, _c;
|
|
377
|
+
return (_c = (_b = (_a = this.argsModifiers) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.includes(ArgumentModifier.OPTIONAL)) !== null && _c !== void 0 ? _c : false;
|
|
378
|
+
}
|
|
372
379
|
retHint() {
|
|
373
380
|
var _a;
|
|
374
381
|
return (_a = this.printHints) === null || _a === void 0 ? void 0 : _a[0];
|
|
@@ -382,8 +389,8 @@ export class MethodSignature {
|
|
|
382
389
|
}
|
|
383
390
|
}
|
|
384
391
|
export class NamedMethodSignature extends MethodSignature {
|
|
385
|
-
constructor(returnType, args = [], argsNames = [], defaults = undefined, printHints) {
|
|
386
|
-
super(returnType, args, defaults, printHints);
|
|
392
|
+
constructor(returnType, args = [], argsNames = [], defaults = undefined, argsModifiers = undefined, printHints) {
|
|
393
|
+
super(returnType, args, defaults, argsModifiers, printHints);
|
|
387
394
|
this.argsNames = argsNames;
|
|
388
395
|
}
|
|
389
396
|
static make(returnType, args) {
|
|
@@ -538,9 +545,6 @@ export class LanguageWriter {
|
|
|
538
545
|
makeUnionTypeDefaultInitializer() {
|
|
539
546
|
return this.makeRuntimeType(RuntimeType.UNDEFINED);
|
|
540
547
|
}
|
|
541
|
-
makeRuntimeTypeGetterCall(value) {
|
|
542
|
-
return this.makeFunctionCall("runtimeType", [this.makeString(value)]);
|
|
543
|
-
}
|
|
544
548
|
makeArrayResize(array, arrayType, length, deserializer) {
|
|
545
549
|
return new ExpressionStatement(new StringExpression(""));
|
|
546
550
|
}
|
|
@@ -627,8 +631,8 @@ export class LanguageWriter {
|
|
|
627
631
|
makeIsTypeCall(value, decl) {
|
|
628
632
|
return this.makeString(`is${decl.name}(${value})`);
|
|
629
633
|
}
|
|
630
|
-
makeEnumEntity(enumEntity,
|
|
631
|
-
return new TsEnumEntityStatement(enumEntity, isExport);
|
|
634
|
+
makeEnumEntity(enumEntity, options) {
|
|
635
|
+
return new TsEnumEntityStatement(enumEntity, { isExport: options.isExport, isDeclare: !!options.isDeclare });
|
|
632
636
|
}
|
|
633
637
|
makeFieldModifiersList(modifiers, customFieldFilter) {
|
|
634
638
|
let allowedModifiers = this.supportedFieldModifiers;
|
|
@@ -681,45 +685,6 @@ export class LanguageWriter {
|
|
|
681
685
|
typeInstanceOf(type, value, members) {
|
|
682
686
|
return this.makeString(`${value} instanceof ${this.getNodeName(type)}`);
|
|
683
687
|
}
|
|
684
|
-
makeLengthSerializer(serializer, value) {
|
|
685
|
-
const valueType = "valueType";
|
|
686
|
-
return this.makeBlock([
|
|
687
|
-
this.makeAssign(valueType, undefined, this.makeFunctionCall("runtimeType", [this.makeString(value)]), true),
|
|
688
|
-
this.makeStatement(this.makeMethodCall(serializer, "writeInt8", [this.makeString(valueType)])),
|
|
689
|
-
this.makeMultiBranchCondition([
|
|
690
|
-
{
|
|
691
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.NUMBER),
|
|
692
|
-
stmt: this.makeStatement(this.makeMethodCall(serializer, "writeFloat32", [this.makeString(`${value} as float32`)]))
|
|
693
|
-
},
|
|
694
|
-
{
|
|
695
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.STRING),
|
|
696
|
-
stmt: this.makeStatement(this.makeMethodCall(serializer, "writeString", [this.makeString(`${value} as string`)]))
|
|
697
|
-
},
|
|
698
|
-
{
|
|
699
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.OBJECT),
|
|
700
|
-
stmt: this.makeStatement(this.makeMethodCall(serializer, "writeInt32", [this.makeString(`(${value} as Resource).id as int32`)]))
|
|
701
|
-
},
|
|
702
|
-
]),
|
|
703
|
-
], false);
|
|
704
|
-
}
|
|
705
|
-
makeLengthDeserializer(deserializer) {
|
|
706
|
-
const valueType = "valueType";
|
|
707
|
-
return this.makeBlock([
|
|
708
|
-
this.makeAssign(valueType, undefined, this.makeMethodCall(deserializer, "readInt8", []), true),
|
|
709
|
-
this.makeMultiBranchCondition([{
|
|
710
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.NUMBER),
|
|
711
|
-
stmt: this.makeReturn(this.makeString(`${deserializer}.readFloat32() as number`))
|
|
712
|
-
},
|
|
713
|
-
{
|
|
714
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.STRING),
|
|
715
|
-
stmt: this.makeReturn(this.makeMethodCall(deserializer, "readString", []))
|
|
716
|
-
},
|
|
717
|
-
{
|
|
718
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.OBJECT),
|
|
719
|
-
stmt: this.makeReturn(this.makeString(`({id: ${deserializer}.readInt32(), bundleName: "", moduleName: ""}) as Resource`))
|
|
720
|
-
}], this.makeReturn(this.makeUndefined())),
|
|
721
|
-
], false);
|
|
722
|
-
}
|
|
723
688
|
stringifyTypeOrEmpty(type) {
|
|
724
689
|
if (type === undefined)
|
|
725
690
|
return "";
|
|
@@ -729,21 +694,30 @@ export class LanguageWriter {
|
|
|
729
694
|
* Writes `namespace <namespace> {` and adds extra indent
|
|
730
695
|
* @param namespace Namespace to begin
|
|
731
696
|
*/
|
|
732
|
-
pushNamespace(namespace,
|
|
697
|
+
pushNamespace(namespace, options) {
|
|
733
698
|
this.print(`namespace ${namespace} {`);
|
|
734
|
-
if (ident)
|
|
699
|
+
if (options.ident)
|
|
735
700
|
this.pushIndent();
|
|
736
701
|
}
|
|
737
702
|
/**
|
|
738
703
|
* Writes closing brace of namespace block and removes one level of indent
|
|
739
704
|
*/
|
|
740
|
-
popNamespace(
|
|
705
|
+
popNamespace(options) {
|
|
741
706
|
this.namespaceStack.pop();
|
|
742
|
-
if (ident)
|
|
707
|
+
if (options.ident)
|
|
743
708
|
this.popIndent();
|
|
744
709
|
this.print(`}`);
|
|
745
710
|
}
|
|
711
|
+
static get isReferenceRelativeToNamespaces() { return this._isReferenceRelativeToNamespaces; }
|
|
712
|
+
static relativeReferences(isRelative, op) {
|
|
713
|
+
const prevIsRelative = this.isReferenceRelativeToNamespaces;
|
|
714
|
+
this._isReferenceRelativeToNamespaces = isRelative;
|
|
715
|
+
const result = op();
|
|
716
|
+
this._isReferenceRelativeToNamespaces = prevIsRelative;
|
|
717
|
+
return result;
|
|
718
|
+
}
|
|
746
719
|
}
|
|
720
|
+
LanguageWriter._isReferenceRelativeToNamespaces = false;
|
|
747
721
|
export function mangleMethodName(method, id) {
|
|
748
722
|
return `${method.name}${id !== null && id !== void 0 ? id : ""}`;
|
|
749
723
|
}
|
|
@@ -17,7 +17,8 @@ export declare class CJTypeNameConvertor implements NodeConvertor<string>, IdlNa
|
|
|
17
17
|
convertCallback(type: idl.IDLCallback): string;
|
|
18
18
|
convertMethod(node: idl.IDLMethod): string;
|
|
19
19
|
convertConstant(node: idl.IDLConstant): string;
|
|
20
|
-
convertImport(type: idl.
|
|
20
|
+
convertImport(type: idl.IDLImport): string;
|
|
21
|
+
convertTypeReferenceAsImport(type: idl.IDLReferenceType, importClause: string): string;
|
|
21
22
|
convertTypeReference(type: idl.IDLReferenceType): string;
|
|
22
23
|
convertTypeParameter(type: idl.IDLTypeParameterType): string;
|
|
23
24
|
convertPrimitiveType(type: idl.IDLPrimitiveType): string;
|
|
@@ -31,4 +32,5 @@ export declare class CJIDLTypeToForeignStringConvertor extends CJTypeNameConvert
|
|
|
31
32
|
export declare class CJInteropArgConvertor extends InteropArgConvertor {
|
|
32
33
|
convertPrimitiveType(type: idl.IDLPrimitiveType): string;
|
|
33
34
|
}
|
|
35
|
+
export declare function removePoints(s: string): string;
|
|
34
36
|
//# sourceMappingURL=CJConvertors.d.ts.map
|