@idlizer/core 2.1.2 → 2.1.5
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 -3
- package/build/lib/src/LanguageWriters/ArgConvertors.js +36 -30
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +26 -13
- package/build/lib/src/LanguageWriters/LanguageWriter.js +26 -52
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.d.ts +2 -1
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.js +16 -5
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.d.ts +4 -2
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.js +20 -12
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.js +7 -17
- package/build/lib/src/LanguageWriters/convertors/InteropConvertors.d.ts +4 -2
- package/build/lib/src/LanguageWriters/convertors/InteropConvertors.js +9 -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 +4 -2
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +47 -28
- 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 +12 -9
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +10 -37
- 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 +14 -8
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +18 -18
- 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 +7 -5
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +22 -43
- package/build/lib/src/LibraryInterface.d.ts +1 -4
- package/build/lib/src/config.d.ts +206 -66
- package/build/lib/src/config.js +7 -3
- package/build/lib/src/configDescriber.d.ts +30 -3
- package/build/lib/src/configDescriber.js +99 -1
- package/build/lib/src/from-idl/DtsPrinter.js +30 -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 +4 -1
- package/build/lib/src/from-idl/deserialize.js +434 -346
- package/build/lib/src/idl.d.ts +25 -17
- package/build/lib/src/idl.js +363 -109
- 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 +2 -2
- 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 +129 -65
- 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 +2 -1
- package/build/lib/src/peer-generation/idl/common.js +13 -2
- package/build/lib/src/peer-generation/isMaterialized.js +25 -8
- package/build/lib/src/peer-generation/unions.d.ts +3 -2
- package/build/lib/src/peer-generation/unions.js +6 -2
- package/build/lib/src/resolveNamedNode.d.ts +3 -0
- package/build/lib/src/resolveNamedNode.js +105 -0
- package/build/lib/src/util.d.ts +6 -0
- package/build/lib/src/util.js +33 -0
- package/build/lib/src/visitor.d.ts +0 -1
- package/build/lib/src/visitor.js +1 -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 +35 -7
|
@@ -283,7 +283,7 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
283
283
|
this.popIndent();
|
|
284
284
|
this.printer.print(`}`);
|
|
285
285
|
}
|
|
286
|
-
writeEnum(name, members, op) {
|
|
286
|
+
writeEnum(name, members, options, op) {
|
|
287
287
|
this.printer.print(`public enum ${name}{`);
|
|
288
288
|
this.pushIndent();
|
|
289
289
|
for (const member of members) {
|
|
@@ -428,8 +428,8 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
428
428
|
name = name.startsWith('_') ? name.slice(1) : name;
|
|
429
429
|
this.print(`func ${name}(${signture}): ${this.typeForeignConvertor.convert(method.signature.returnType)}`);
|
|
430
430
|
}
|
|
431
|
-
|
|
432
|
-
return `${
|
|
431
|
+
i32FromEnum(value, _enumEntry) {
|
|
432
|
+
return this.makeString(`${value.asString()}.value`);
|
|
433
433
|
}
|
|
434
434
|
makeAssign(variableName, type, expr, isDeclared = true, isConst = true) {
|
|
435
435
|
return new CJAssignStatement(variableName, type, expr, isDeclared, isConst);
|
|
@@ -441,7 +441,7 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
441
441
|
return this.makeString(`ArrayList<${this.getNodeName(type.elementType[0])}>(Int64(${size !== null && size !== void 0 ? size : ''}))`);
|
|
442
442
|
}
|
|
443
443
|
makeMapInit(type) {
|
|
444
|
-
|
|
444
|
+
return this.makeString(`${this.getNodeName(type)}()`);
|
|
445
445
|
}
|
|
446
446
|
makeArrayLength(array, length) {
|
|
447
447
|
return this.makeString(`${array}.size`);
|
|
@@ -495,9 +495,9 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
495
495
|
writePrintLog(message) {
|
|
496
496
|
this.print(`println("${message}")`);
|
|
497
497
|
}
|
|
498
|
-
makeCast(value,
|
|
498
|
+
makeCast(value, node, options) {
|
|
499
499
|
var _a;
|
|
500
|
-
return new CJCastExpression(value, this.getNodeName(
|
|
500
|
+
return new CJCastExpression(value, this.getNodeName(node), (_a = options === null || options === void 0 ? void 0 : options.unsafe) !== null && _a !== void 0 ? _a : false);
|
|
501
501
|
}
|
|
502
502
|
typeInstanceOf(type, value, members) {
|
|
503
503
|
if (idl.isInterface(type)) {
|
|
@@ -525,7 +525,7 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
525
525
|
return this.makeString(methodCall.asString() + '.ordinal');
|
|
526
526
|
}
|
|
527
527
|
makeMapInsert(keyAccessor, key, valueAccessor, value) {
|
|
528
|
-
return this.makeStatement(this.makeMethodCall(keyAccessor, "
|
|
528
|
+
return this.makeStatement(this.makeMethodCall(keyAccessor, "add", [this.makeString(key), this.makeString(value)]));
|
|
529
529
|
}
|
|
530
530
|
makeNull(value) {
|
|
531
531
|
return new StringExpression(`Option.None`);
|
|
@@ -557,14 +557,11 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
557
557
|
makeTupleAccess(value, index) {
|
|
558
558
|
return this.makeString(`${value}.value${index}`);
|
|
559
559
|
}
|
|
560
|
-
|
|
560
|
+
enumFromI32(value, enumEntry) {
|
|
561
561
|
return this.makeString(`${this.getNodeName(enumEntry)}(${value.asString()})`);
|
|
562
562
|
}
|
|
563
|
-
|
|
564
|
-
return
|
|
565
|
-
}
|
|
566
|
-
makeEnumEntity(enumEntity, isExport) {
|
|
567
|
-
return new CJEnumWithGetter(enumEntity, isExport);
|
|
563
|
+
makeEnumEntity(enumEntity, options) {
|
|
564
|
+
return new CJEnumWithGetter(enumEntity, options.isExport);
|
|
568
565
|
}
|
|
569
566
|
makeEquals(args) {
|
|
570
567
|
return this.makeString(`refEq(${args.map(arg => `${arg.asString()}`).join(`, `)})`);
|
|
@@ -583,29 +580,5 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
583
580
|
castToBoolean(value) {
|
|
584
581
|
return `if (${value}) { Int32(1) } else { Int32(0) }`;
|
|
585
582
|
}
|
|
586
|
-
makeLengthSerializer(serializer, value) {
|
|
587
|
-
return this.makeBlock([
|
|
588
|
-
this.makeStatement(this.makeMethodCall(serializer, "writeInt8", [this.makeRuntimeType(RuntimeType.STRING)])),
|
|
589
|
-
this.makeStatement(this.makeMethodCall(serializer, "writeString", [this.makeString(`${value}.getValue1()`)]))
|
|
590
|
-
], false);
|
|
591
|
-
}
|
|
592
|
-
makeLengthDeserializer(deserializer) {
|
|
593
|
-
const valueType = "valueType";
|
|
594
|
-
return this.makeBlock([
|
|
595
|
-
this.makeAssign(valueType, undefined, this.makeMethodCall(deserializer, "readInt8", []), true),
|
|
596
|
-
this.makeMultiBranchCondition([{
|
|
597
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.NUMBER, ''),
|
|
598
|
-
stmt: this.makeReturn(this.makeString(`Ark_Length(${deserializer}.readFloat32())`))
|
|
599
|
-
},
|
|
600
|
-
{
|
|
601
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.STRING, ''),
|
|
602
|
-
stmt: this.makeReturn(this.makeString(`Ark_Length(${deserializer}.readString())`))
|
|
603
|
-
},
|
|
604
|
-
{
|
|
605
|
-
expr: this.makeRuntimeTypeCondition(valueType, true, RuntimeType.OBJECT, ''),
|
|
606
|
-
stmt: this.makeReturn(this.makeString(`Ark_Length(Resource(${deserializer}.readString(), "", 0.0, Option.None, Option.None))`))
|
|
607
|
-
}], this.makeReturn(this.makeUndefined())),
|
|
608
|
-
], false);
|
|
609
|
-
}
|
|
610
583
|
}
|
|
611
584
|
//# sourceMappingURL=CJLanguageWriter.js.map
|
|
@@ -37,7 +37,10 @@ export declare abstract class CLikeLanguageWriter extends LanguageWriter {
|
|
|
37
37
|
name: string;
|
|
38
38
|
stringId: string | undefined;
|
|
39
39
|
numberId: number;
|
|
40
|
-
}[],
|
|
40
|
+
}[], options: {
|
|
41
|
+
isExport: boolean;
|
|
42
|
+
isDeclare?: boolean;
|
|
43
|
+
}, op: (writer: LanguageWriter) => void): void;
|
|
41
44
|
writeMethodImplementation(method: Method, op: (writer: this) => void): void;
|
|
42
45
|
private writeDeclaration;
|
|
43
46
|
protected stringifyMethodReturnType(type: idl.IDLType, _?: PrintHint): string;
|
|
@@ -95,7 +95,7 @@ export class CLikeLanguageWriter extends LanguageWriter {
|
|
|
95
95
|
writeMethodDeclaration(name, signature, modifiers) {
|
|
96
96
|
this.writeDeclaration(name, signature, modifiers, ";");
|
|
97
97
|
}
|
|
98
|
-
writeEnum(name, members, op) {
|
|
98
|
+
writeEnum(name, members, options, op) {
|
|
99
99
|
throw new Error("WriteEnum for C-family languages is not implemented");
|
|
100
100
|
}
|
|
101
101
|
writeMethodImplementation(method, op) {
|
|
@@ -11,9 +11,9 @@ import * as idl from "../../idl";
|
|
|
11
11
|
export declare class CppCastExpression implements LanguageExpression {
|
|
12
12
|
convertor: IdlNameConvertor;
|
|
13
13
|
value: LanguageExpression;
|
|
14
|
-
|
|
14
|
+
node: IDLNode;
|
|
15
15
|
private options?;
|
|
16
|
-
constructor(convertor: IdlNameConvertor, value: LanguageExpression,
|
|
16
|
+
constructor(convertor: IdlNameConvertor, value: LanguageExpression, node: IDLNode, options?: MakeCastOptions | undefined);
|
|
17
17
|
asString(): string;
|
|
18
18
|
private mapTypeWithReceiver;
|
|
19
19
|
}
|
|
@@ -91,7 +91,7 @@ export declare class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
91
91
|
makeMapInit(type: IDLType): LanguageExpression;
|
|
92
92
|
makeArrayResize(array: string, arrayType: string, length: string, deserializer: string): LanguageStatement;
|
|
93
93
|
makeMapResize(mapTypeName: string, keyType: IDLType, valueType: IDLType, map: string, size: string, deserializer: string): LanguageStatement;
|
|
94
|
-
makeCast(expr: LanguageExpression,
|
|
94
|
+
makeCast(expr: LanguageExpression, node: IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
95
95
|
makePointerPropertyAccessExpression(expression: string, name: string): CppPointerPropertyAccessExpression;
|
|
96
96
|
writePrintLog(message: string): void;
|
|
97
97
|
makeDefinedCheck(value: string): LanguageExpression;
|
|
@@ -107,19 +107,19 @@ export declare class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
107
107
|
makeTupleAssign(receiver: string, tupleFields: string[]): LanguageStatement;
|
|
108
108
|
get supportedModifiers(): MethodModifier[];
|
|
109
109
|
get supportedFieldModifiers(): FieldModifier[];
|
|
110
|
-
|
|
111
|
-
ordinalFromEnum(value: LanguageExpression, _: IDLType): LanguageExpression;
|
|
110
|
+
enumFromI32(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
112
111
|
makeUnsafeCast(param: string): string;
|
|
113
112
|
makeUnsafeCast_(value: LanguageExpression, type: IDLType, typeOptions?: PrintHint): string;
|
|
114
|
-
|
|
113
|
+
i32FromEnum(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
115
114
|
escapeKeyword(name: string): string;
|
|
116
|
-
makeEnumEntity(enumEntity: IDLEnum,
|
|
115
|
+
makeEnumEntity(enumEntity: IDLEnum, options: {
|
|
116
|
+
isExport: boolean;
|
|
117
|
+
isDeclare?: boolean;
|
|
118
|
+
}): LanguageStatement;
|
|
117
119
|
private decayTypeName;
|
|
118
120
|
stringifyMethodReturnType(type: IDLType, hint?: PrintHint): string;
|
|
119
121
|
stringifyMethodArgType(type: IDLType, hint?: PrintHint): string;
|
|
120
122
|
stringifyTypeWithReceiver(type: IDLType, receiver?: string): string;
|
|
121
123
|
makeSerializerConstructorSignatures(): NamedMethodSignature[] | undefined;
|
|
122
|
-
makeLengthSerializer(serializer: string, value: string): LanguageStatement | undefined;
|
|
123
|
-
makeLengthDeserializer(deserializer: string): LanguageStatement | undefined;
|
|
124
124
|
}
|
|
125
125
|
//# sourceMappingURL=CppLanguageWriter.d.ts.map
|
|
@@ -25,15 +25,15 @@ import * as idl from "../../idl";
|
|
|
25
25
|
// EXPRESSIONS //
|
|
26
26
|
////////////////////////////////////////////////////////////////
|
|
27
27
|
export class CppCastExpression {
|
|
28
|
-
constructor(convertor, value,
|
|
28
|
+
constructor(convertor, value, node, options) {
|
|
29
29
|
this.convertor = convertor;
|
|
30
30
|
this.value = value;
|
|
31
|
-
this.
|
|
31
|
+
this.node = node;
|
|
32
32
|
this.options = options;
|
|
33
33
|
}
|
|
34
34
|
asString() {
|
|
35
35
|
var _a, _b, _c, _d;
|
|
36
|
-
if (forceAsNamedNode(this.
|
|
36
|
+
if (forceAsNamedNode(this.node).name === "Tag") {
|
|
37
37
|
return `${this.value.asString()} == ${PrimitiveTypeList.UndefinedRuntime} ? ${PrimitiveTypeList.UndefinedTag} : ${PrimitiveTypeList.ObjectTag}`;
|
|
38
38
|
}
|
|
39
39
|
let resultName = '';
|
|
@@ -41,7 +41,7 @@ export class CppCastExpression {
|
|
|
41
41
|
resultName = this.options.overrideTypeName;
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
const pureName = this.mapTypeWithReceiver(
|
|
44
|
+
const pureName = this.mapTypeWithReceiver((_b = this.options) === null || _b === void 0 ? void 0 : _b.receiver);
|
|
45
45
|
const qualifiedName = ((_c = this.options) === null || _c === void 0 ? void 0 : _c.toRef) ? `${pureName}&` : pureName;
|
|
46
46
|
resultName = qualifiedName;
|
|
47
47
|
}
|
|
@@ -49,12 +49,12 @@ export class CppCastExpression {
|
|
|
49
49
|
? `reinterpret_cast<${resultName}>(${this.value.asString()})`
|
|
50
50
|
: `static_cast<${resultName}>(${this.value.asString()})`;
|
|
51
51
|
}
|
|
52
|
-
mapTypeWithReceiver(
|
|
52
|
+
mapTypeWithReceiver(receiver) {
|
|
53
53
|
// make deducing type from receiver
|
|
54
54
|
if (receiver !== undefined) {
|
|
55
55
|
return `std::decay<decltype(${receiver})>::type`;
|
|
56
56
|
}
|
|
57
|
-
return this.convertor.convert(
|
|
57
|
+
return this.convertor.convert(this.node);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
export class CppPointerPropertyAccessExpression {
|
|
@@ -314,8 +314,8 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
314
314
|
makeMapResize(mapTypeName, keyType, valueType, map, size, deserializer) {
|
|
315
315
|
return new CppMapResizeStatement(mapTypeName, keyType, valueType, map, size, deserializer);
|
|
316
316
|
}
|
|
317
|
-
makeCast(expr,
|
|
318
|
-
return new CppCastExpression(this.typeConvertor, expr,
|
|
317
|
+
makeCast(expr, node, options) {
|
|
318
|
+
return new CppCastExpression(this.typeConvertor, expr, node, options);
|
|
319
319
|
}
|
|
320
320
|
makePointerPropertyAccessExpression(expression, name) {
|
|
321
321
|
return new CppPointerPropertyAccessExpression(expression, name);
|
|
@@ -370,11 +370,8 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
370
370
|
get supportedFieldModifiers() {
|
|
371
371
|
return [];
|
|
372
372
|
}
|
|
373
|
-
|
|
374
|
-
return this.makeString(`static_cast<${this.typeConvertor.convert(
|
|
375
|
-
}
|
|
376
|
-
ordinalFromEnum(value, _) {
|
|
377
|
-
return value;
|
|
373
|
+
enumFromI32(value, enumEntry) {
|
|
374
|
+
return this.makeString(`static_cast<${this.typeConvertor.convert(enumEntry)}>(` + value.asString() + `)`);
|
|
378
375
|
}
|
|
379
376
|
makeUnsafeCast(param) {
|
|
380
377
|
return param;
|
|
@@ -396,13 +393,13 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
396
393
|
}
|
|
397
394
|
return `(${typeName}) (${value.asString()})`;
|
|
398
395
|
}
|
|
399
|
-
|
|
400
|
-
return `static_cast<${this.typeConvertor.convert(idl.createReferenceType(enumEntry))}>(${value})
|
|
396
|
+
i32FromEnum(value, enumEntry) {
|
|
397
|
+
return this.makeString(`static_cast<${this.typeConvertor.convert(idl.createReferenceType(enumEntry))}>(${value.asString()})`);
|
|
401
398
|
}
|
|
402
399
|
escapeKeyword(name) {
|
|
403
400
|
return cppKeywords.has(name) ? name + "_" : name;
|
|
404
401
|
}
|
|
405
|
-
makeEnumEntity(enumEntity,
|
|
402
|
+
makeEnumEntity(enumEntity, options) {
|
|
406
403
|
return new CppEnumEntityStatement(enumEntity);
|
|
407
404
|
}
|
|
408
405
|
decayTypeName(typeName) {
|
|
@@ -463,17 +460,11 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
463
460
|
idl.IDLSerializerBuffer,
|
|
464
461
|
IDLU32Type,
|
|
465
462
|
createReferenceType("CallbackResourceHolder")
|
|
466
|
-
], ["data", "dataLength", "resourceHolder"], [undefined, `0`, `nullptr`], [undefined, undefined, undefined, PrintHint.AsPointer]);
|
|
463
|
+
], ["data", "dataLength", "resourceHolder"], [undefined, `0`, `nullptr`], undefined, [undefined, undefined, undefined, PrintHint.AsPointer]);
|
|
467
464
|
const ownedDataCtor = new NamedMethodSignature(IDLVoidType, [
|
|
468
465
|
createReferenceType("CallbackResourceHolder")
|
|
469
|
-
], ["resourceHolder"], [`nullptr`], [undefined, PrintHint.AsPointer]);
|
|
466
|
+
], ["resourceHolder"], [`nullptr`], undefined, [undefined, PrintHint.AsPointer]);
|
|
470
467
|
return [ownedDataCtor, fromBufferCtor];
|
|
471
468
|
}
|
|
472
|
-
makeLengthSerializer(serializer, value) {
|
|
473
|
-
return undefined;
|
|
474
|
-
}
|
|
475
|
-
makeLengthDeserializer(deserializer) {
|
|
476
|
-
return undefined;
|
|
477
|
-
}
|
|
478
469
|
}
|
|
479
470
|
//# sourceMappingURL=CppLanguageWriter.js.map
|
|
@@ -17,8 +17,11 @@ export declare class EtsAssignStatement implements LanguageStatement {
|
|
|
17
17
|
}
|
|
18
18
|
export declare class ArkTSEnumEntityStatement implements LanguageStatement {
|
|
19
19
|
private readonly enumEntity;
|
|
20
|
-
private readonly
|
|
21
|
-
constructor(enumEntity: IDLEnum,
|
|
20
|
+
private readonly options;
|
|
21
|
+
constructor(enumEntity: IDLEnum, options: {
|
|
22
|
+
isExport: boolean;
|
|
23
|
+
isDeclare: boolean;
|
|
24
|
+
});
|
|
22
25
|
write(writer: LanguageWriter): void;
|
|
23
26
|
}
|
|
24
27
|
export declare class ETSLambdaExpression extends LambdaExpression {
|
|
@@ -28,8 +31,8 @@ export declare class ETSLambdaExpression extends LambdaExpression {
|
|
|
28
31
|
asString(): string;
|
|
29
32
|
}
|
|
30
33
|
export declare function generateTypeCheckerName(typeName: string): string;
|
|
31
|
-
export declare function
|
|
32
|
-
export declare function
|
|
34
|
+
export declare function generateEnumToNumericName(typeName: string): string;
|
|
35
|
+
export declare function generateEnumFromNumericName(typeName: string): string;
|
|
33
36
|
export declare function makeArrayTypeCheckCall(valueAccessor: string, typeName: string, writer: LanguageWriter): LanguageExpression;
|
|
34
37
|
export declare class ETSLanguageWriter extends TSLanguageWriter {
|
|
35
38
|
private arrayConvertor;
|
|
@@ -44,14 +47,17 @@ export declare class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
44
47
|
get supportedModifiers(): MethodModifier[];
|
|
45
48
|
runtimeType(param: ArgConvertor, valueType: string, value: string): void;
|
|
46
49
|
makeUnionVariantCast(value: string, type: string, convertor: ArgConvertor, index?: number): LanguageExpression;
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
i32FromEnum(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
51
|
+
enumFromI32(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
49
52
|
makeDiscriminatorFromFields(convertor: {
|
|
50
53
|
targetType: (writer: LanguageWriter) => string;
|
|
51
54
|
}, value: string, accessors: string[], duplicates: Set<string>): LanguageExpression;
|
|
52
55
|
makeValueFromOption(value: string, destinationConvertor: ArgConvertor): LanguageExpression;
|
|
53
56
|
makeIsTypeCall(value: string, decl: idl.IDLInterface): LanguageExpression;
|
|
54
|
-
makeEnumEntity(enumEntity: IDLEnum,
|
|
57
|
+
makeEnumEntity(enumEntity: IDLEnum, options: {
|
|
58
|
+
isExport: boolean;
|
|
59
|
+
isDeclare?: boolean;
|
|
60
|
+
}): LanguageStatement;
|
|
55
61
|
getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
|
|
56
62
|
writeMethodCall(receiver: string, method: string, params: string[], nullable?: boolean): void;
|
|
57
63
|
isQuickType(type: IDLType): boolean;
|
|
@@ -66,7 +72,7 @@ export declare class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
66
72
|
instanceOf(convertor: ArgConvertor, value: string, duplicateMembers?: Set<string>): LanguageExpression;
|
|
67
73
|
typeInstanceOf(type: idl.IDLEntry, value: string, members?: string[]): LanguageExpression;
|
|
68
74
|
makeTypeCast(value: LanguageExpression, type: idl.IDLType, options?: MakeCastOptions): LanguageExpression;
|
|
69
|
-
makeCast(value: LanguageExpression,
|
|
75
|
+
makeCast(value: LanguageExpression, node: idl.IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
70
76
|
}
|
|
71
77
|
export declare function makeEnumTypeCheckerCall(valueAccessor: string, enumName: string, writer: LanguageWriter): LanguageExpression;
|
|
72
78
|
//# sourceMappingURL=ETSLanguageWriter.d.ts.map
|
|
@@ -63,9 +63,9 @@ class ArkTSMapForEachStatement {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
export class ArkTSEnumEntityStatement {
|
|
66
|
-
constructor(enumEntity,
|
|
66
|
+
constructor(enumEntity, options) {
|
|
67
67
|
this.enumEntity = enumEntity;
|
|
68
|
-
this.
|
|
68
|
+
this.options = options;
|
|
69
69
|
}
|
|
70
70
|
write(writer) {
|
|
71
71
|
let enumName = convertDeclaration(createDeclarationNameConvertor(Language.ARKTS), this.enumEntity);
|
|
@@ -99,10 +99,7 @@ export class ArkTSEnumEntityStatement {
|
|
|
99
99
|
}
|
|
100
100
|
return res;
|
|
101
101
|
});
|
|
102
|
-
|
|
103
|
-
nss.forEach(it => writer.pushNamespace(it.name));
|
|
104
|
-
writer.writeEnum(enumName, members);
|
|
105
|
-
nss.forEach(() => writer.popNamespace());
|
|
102
|
+
writer.writeEnum(enumName, members, { isExport: this.options.isExport, isDeclare: this.options.isDeclare });
|
|
106
103
|
}
|
|
107
104
|
}
|
|
108
105
|
export class ETSLambdaExpression extends LambdaExpression {
|
|
@@ -137,13 +134,13 @@ export function generateTypeCheckerName(typeName) {
|
|
|
137
134
|
.replaceAll('.', ''); // Todo: hack for namespaces
|
|
138
135
|
return `is${typeName.replaceAll('[]', 'Brackets')}`;
|
|
139
136
|
}
|
|
140
|
-
export function
|
|
137
|
+
export function generateEnumToNumericName(typeName) {
|
|
141
138
|
typeName = typeName.split(".").join("_");
|
|
142
|
-
return `${typeName}
|
|
139
|
+
return `${typeName}_ToNumeric`;
|
|
143
140
|
}
|
|
144
|
-
export function
|
|
141
|
+
export function generateEnumFromNumericName(typeName) {
|
|
145
142
|
typeName = typeName.split(".").join("_");
|
|
146
|
-
return `${typeName}
|
|
143
|
+
return `${typeName}_FromNumeric`;
|
|
147
144
|
}
|
|
148
145
|
export function makeArrayTypeCheckCall(valueAccessor, typeName, writer) {
|
|
149
146
|
return writer.makeMethodCall("TypeChecker", generateTypeCheckerName(typeName), [writer.makeString(valueAccessor)
|
|
@@ -182,13 +179,13 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
182
179
|
makeUnionVariantCast(value, type, convertor, index) {
|
|
183
180
|
return this.makeString(`${value} as ${type}`);
|
|
184
181
|
}
|
|
185
|
-
|
|
182
|
+
i32FromEnum(value, enumEntry) {
|
|
186
183
|
const enumName = this.getNodeName(enumEntry);
|
|
187
|
-
return this.makeMethodCall('TypeChecker',
|
|
184
|
+
return this.makeMethodCall('TypeChecker', generateEnumToNumericName(enumName), [value]);
|
|
188
185
|
}
|
|
189
|
-
|
|
186
|
+
enumFromI32(value, enumEntry) {
|
|
190
187
|
const enumName = this.getNodeName(enumEntry);
|
|
191
|
-
return this.makeMethodCall('TypeChecker',
|
|
188
|
+
return this.makeMethodCall('TypeChecker', generateEnumFromNumericName(enumName), [value]);
|
|
192
189
|
}
|
|
193
190
|
makeDiscriminatorFromFields(convertor, value, accessors, duplicates) {
|
|
194
191
|
if (convertor instanceof AggregateConvertor
|
|
@@ -208,8 +205,11 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
208
205
|
makeIsTypeCall(value, decl) {
|
|
209
206
|
return makeInterfaceTypeCheckerCall(value, decl.name, decl.properties.map(it => it.name), new Set(), this);
|
|
210
207
|
}
|
|
211
|
-
makeEnumEntity(enumEntity,
|
|
212
|
-
return new ArkTSEnumEntityStatement(enumEntity,
|
|
208
|
+
makeEnumEntity(enumEntity, options) {
|
|
209
|
+
return new ArkTSEnumEntityStatement(enumEntity, {
|
|
210
|
+
isExport: options === null || options === void 0 ? void 0 : options.isExport,
|
|
211
|
+
isDeclare: !!(options === null || options === void 0 ? void 0 : options.isDeclare),
|
|
212
|
+
});
|
|
213
213
|
}
|
|
214
214
|
getObjectAccessor(convertor, value, args) {
|
|
215
215
|
return super.getObjectAccessor(convertor, value, args);
|
|
@@ -304,9 +304,9 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
304
304
|
makeTypeCast(value, type, options) {
|
|
305
305
|
return this.makeString(`TypeChecker.typeCast<${this.getNodeName(type)}>(value)`);
|
|
306
306
|
}
|
|
307
|
-
makeCast(value,
|
|
307
|
+
makeCast(value, node, options) {
|
|
308
308
|
var _a;
|
|
309
|
-
return new TSCastExpression(value, `${this.getNodeName(
|
|
309
|
+
return new TSCastExpression(value, `${this.getNodeName(node)}`, (_a = options === null || options === void 0 ? void 0 : options.unsafe) !== null && _a !== void 0 ? _a : false);
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
function makeInterfaceTypeCheckerCall(valueAccessor, interfaceName, allFields, duplicates, writer) {
|
|
@@ -57,7 +57,7 @@ export declare class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
57
57
|
makeLoop(counter: string, limit: string, statement?: LanguageStatement): LanguageStatement;
|
|
58
58
|
makeMapForEach(map: string, key: string, value: string, op: () => void): LanguageStatement;
|
|
59
59
|
makeMapSize(map: string): LanguageExpression;
|
|
60
|
-
makeCast(value: LanguageExpression,
|
|
60
|
+
makeCast(value: LanguageExpression, node: idl.IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
61
61
|
makeStatement(expr: LanguageExpression): LanguageStatement;
|
|
62
62
|
makeUnionSelector(value: string, valueType: string): LanguageStatement;
|
|
63
63
|
makeUnionVariantCondition(_convertor: ArgConvertor, _valueName: string, valueType: string, _type: string, convertorIndex: number): LanguageExpression;
|
|
@@ -69,7 +69,7 @@ export declare class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
69
69
|
getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
|
|
70
70
|
makeUndefined(): LanguageExpression;
|
|
71
71
|
makeRuntimeType(rt: RuntimeType): LanguageExpression;
|
|
72
|
-
makeRuntimeTypeGetterCall(value: string): LanguageExpression;
|
|
72
|
+
protected makeRuntimeTypeGetterCall(value: string): LanguageExpression;
|
|
73
73
|
makeMapInsert(keyAccessor: string, key: string, valueAccessor: string, value: string): LanguageStatement;
|
|
74
74
|
getTagType(): idl.IDLType;
|
|
75
75
|
getRuntimeType(): idl.IDLType;
|
|
@@ -80,12 +80,10 @@ export declare class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
80
80
|
makeClassInit(type: idl.IDLType, paramenters: LanguageExpression[]): LanguageExpression;
|
|
81
81
|
makeMapInit(type: idl.IDLType): LanguageExpression;
|
|
82
82
|
makeTupleAccess(value: string, index: number): LanguageExpression;
|
|
83
|
-
|
|
84
|
-
ordinalFromEnum(value: LanguageExpression, _: idl.IDLType): LanguageExpression;
|
|
83
|
+
enumFromI32(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
85
84
|
makeValueFromOption(value: string): LanguageExpression;
|
|
86
85
|
runtimeType(param: ArgConvertor, valueType: string, value: string): void;
|
|
87
|
-
|
|
86
|
+
i32FromEnum(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
88
87
|
castToBoolean(value: string): string;
|
|
89
|
-
makeLengthSerializer(serializer: string, value: string): LanguageStatement | undefined;
|
|
90
88
|
}
|
|
91
89
|
//# sourceMappingURL=JavaLanguageWriter.d.ts.map
|
|
@@ -100,6 +100,13 @@ export class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
100
100
|
this.typeConvertor = typeConvertor;
|
|
101
101
|
}
|
|
102
102
|
getNodeName(type) {
|
|
103
|
+
// another stub. Bad one.
|
|
104
|
+
// I hope that I will rewrite LWs soon
|
|
105
|
+
if (idl.isType(type) && idl.isReferenceType(type)) {
|
|
106
|
+
if (type.name.startsWith('%TEXT%:')) {
|
|
107
|
+
return type.name.substring(7);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
103
110
|
return this.typeConvertor.convert(type);
|
|
104
111
|
}
|
|
105
112
|
fork(options) {
|
|
@@ -203,9 +210,9 @@ export class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
203
210
|
makeMapSize(map) {
|
|
204
211
|
return this.makeString(`${map}.size()`);
|
|
205
212
|
}
|
|
206
|
-
makeCast(value,
|
|
213
|
+
makeCast(value, node, options) {
|
|
207
214
|
var _a;
|
|
208
|
-
return new JavaCastExpression(value, this.getNodeName(
|
|
215
|
+
return new JavaCastExpression(value, this.getNodeName(node), (_a = options === null || options === void 0 ? void 0 : options.unsafe) !== null && _a !== void 0 ? _a : false);
|
|
209
216
|
}
|
|
210
217
|
makeStatement(expr) {
|
|
211
218
|
return new CLikeExpressionStatement(expr);
|
|
@@ -276,29 +283,23 @@ export class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
276
283
|
makeTupleAccess(value, index) {
|
|
277
284
|
return this.makeString(`${value}.value${index}`);
|
|
278
285
|
}
|
|
279
|
-
|
|
286
|
+
enumFromI32(value, enumEntry) {
|
|
280
287
|
const enumName = idl.forceAsNamedNode(enumEntry).name;
|
|
281
288
|
const ordinal = value.asString();
|
|
282
289
|
return this.makeString(`${enumName}.values()[${ordinal}]`);
|
|
283
290
|
}
|
|
284
|
-
ordinalFromEnum(value, _) {
|
|
285
|
-
return this.makeString(`${value.asString()}.ordinal()`);
|
|
286
|
-
}
|
|
287
291
|
makeValueFromOption(value) {
|
|
288
292
|
return this.makeString(`${value}`);
|
|
289
293
|
}
|
|
290
294
|
runtimeType(param, valueType, value) {
|
|
291
295
|
this.writeStatement(this.makeAssign(valueType, undefined, this.makeRuntimeTypeGetterCall(value), false));
|
|
292
296
|
}
|
|
293
|
-
|
|
294
|
-
|
|
297
|
+
i32FromEnum(value, enumEntry) {
|
|
298
|
+
const i32Value = idl.isStringEnum(enumEntry)
|
|
299
|
+
? `${value.asString()}.ordinal`
|
|
300
|
+
: `${value.asString()}.value`;
|
|
301
|
+
return this.makeString(i32Value);
|
|
295
302
|
}
|
|
296
303
|
castToBoolean(value) { return value; }
|
|
297
|
-
makeLengthSerializer(serializer, value) {
|
|
298
|
-
return this.makeBlock([
|
|
299
|
-
this.makeStatement(this.makeMethodCall(serializer, "writeInt8", [this.makeRuntimeType(RuntimeType.STRING)])),
|
|
300
|
-
this.makeStatement(this.makeMethodCall(serializer, "writeString", [this.makeString(`${value}.value`)]))
|
|
301
|
-
], false);
|
|
302
|
-
}
|
|
303
304
|
}
|
|
304
305
|
//# sourceMappingURL=JavaLanguageWriter.js.map
|
|
@@ -47,7 +47,10 @@ export declare class TSLanguageWriter extends LanguageWriter {
|
|
|
47
47
|
alias?: string | undefined;
|
|
48
48
|
stringId: string | undefined;
|
|
49
49
|
numberId: number;
|
|
50
|
-
}[]
|
|
50
|
+
}[], options: {
|
|
51
|
+
isDeclare?: boolean;
|
|
52
|
+
isExport: boolean;
|
|
53
|
+
}): void;
|
|
51
54
|
writeFieldDeclaration(name: string, type: idl.IDLType, modifiers: FieldModifier[] | undefined, optional: boolean, initExpr?: LanguageExpression): void;
|
|
52
55
|
writeNativeMethodDeclaration(method: Method): void;
|
|
53
56
|
writeMethodDeclaration(name: string, signature: MethodSignature, modifiers?: MethodModifier[]): void;
|
|
@@ -73,7 +76,7 @@ export declare class TSLanguageWriter extends LanguageWriter {
|
|
|
73
76
|
makeLoop(counter: string, limit: string, statement?: LanguageStatement): LanguageStatement;
|
|
74
77
|
makeMapForEach(map: string, key: string, value: string, op: () => void): LanguageStatement;
|
|
75
78
|
writePrintLog(message: string): void;
|
|
76
|
-
makeCast(value: LanguageExpression,
|
|
79
|
+
makeCast(value: LanguageExpression, node: idl.IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
77
80
|
typeInstanceOf(type: idl.IDLEntry, value: string, members?: string[]): LanguageExpression;
|
|
78
81
|
getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
|
|
79
82
|
makeUndefined(): LanguageExpression;
|
|
@@ -89,9 +92,8 @@ export declare class TSLanguageWriter extends LanguageWriter {
|
|
|
89
92
|
makeTupleAssign(receiver: string, fields: string[]): LanguageStatement;
|
|
90
93
|
get supportedModifiers(): MethodModifier[];
|
|
91
94
|
get supportedFieldModifiers(): FieldModifier[];
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
makeEnumCast(enumEntry: idl.IDLEnum, param: string): string;
|
|
95
|
+
enumFromI32(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
96
|
+
i32FromEnum(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
95
97
|
castToBoolean(value: string): string;
|
|
96
98
|
makeCallIsObject(value: string): LanguageExpression;
|
|
97
99
|
escapeKeyword(keyword: string): string;
|