@idlizer/core 2.1.9-arktscgen-6 → 2.1.9-arktscgen-9
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.d.ts +2 -1
- package/build/lib/src/IndentedPrinter.js +9 -2
- package/build/lib/src/Language.d.ts +0 -1
- package/build/lib/src/Language.js +7 -8
- package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +27 -40
- package/build/lib/src/LanguageWriters/ArgConvertors.js +167 -206
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +13 -34
- package/build/lib/src/LanguageWriters/LanguageWriter.js +31 -82
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.js +2 -2
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.d.ts +17 -1
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.js +121 -6
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +6 -0
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +2 -3
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +9 -25
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.d.ts +0 -5
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.js +0 -9
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +4 -6
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +15 -28
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.d.ts +14 -10
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +51 -74
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.d.ts +2 -8
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.js +11 -21
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.d.ts +12 -9
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.js +121 -32
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +5 -6
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +17 -33
- package/build/lib/src/config.d.ts +402 -133
- package/build/lib/src/config.js +13 -7
- package/build/lib/src/diagnosticmessages.d.ts +45 -0
- package/build/lib/src/diagnosticmessages.js +66 -0
- package/build/lib/src/diagnostictypes.d.ts +140 -0
- package/build/lib/src/diagnostictypes.js +72 -0
- package/build/lib/src/formatter.d.ts +3 -0
- package/build/lib/src/formatter.js +98 -0
- package/build/lib/src/from-idl/deserialize.d.ts +1 -0
- package/build/lib/src/from-idl/deserialize.js +107 -5
- package/build/lib/src/idl.d.ts +8 -0
- package/build/lib/src/idl.js +16 -3
- package/build/lib/src/index.d.ts +7 -1
- package/build/lib/src/index.js +7 -1
- package/build/lib/src/peer-generation/Materialized.d.ts +2 -2
- package/build/lib/src/peer-generation/Materialized.js +4 -9
- package/build/lib/src/peer-generation/PeerLibrary.js +1 -5
- package/build/lib/src/peer-generation/PeerMethod.d.ts +0 -4
- package/build/lib/src/peer-generation/PeerMethod.js +18 -36
- package/build/lib/src/peer-generation/idl/common.js +1 -1
- package/build/lib/src/peer-generation/isMaterialized.js +0 -4
- package/build/lib/src/peer-generation/modules.d.ts +1 -0
- package/build/lib/src/peer-generation/modules.js +25 -6
- package/build/lib/src/peer-generation/unions.d.ts +0 -2
- package/build/lib/src/peer-generation/unions.js +3 -23
- package/build/lib/src/transformers/FqnTransformer.d.ts +4 -0
- package/build/lib/src/transformers/FqnTransformer.js +17 -0
- package/build/lib/src/transformers/GenericTransformer.d.ts +8 -0
- package/build/lib/src/transformers/GenericTransformer.js +141 -0
- package/build/lib/src/util.d.ts +5 -2
- package/build/lib/src/util.js +26 -12
- package/package.json +2 -2
- package/build/lib/src/peer-generation/isExternalType.d.ts +0 -4
- package/build/lib/src/peer-generation/isExternalType.js +0 -15
|
@@ -16,7 +16,7 @@ import * as idl from "../../idl";
|
|
|
16
16
|
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
17
17
|
import { CJKeywords } from "../../languageSpecificKeywords";
|
|
18
18
|
import { RuntimeType } from "../common";
|
|
19
|
-
import { AssignStatement, ExpressionStatement, FieldModifier, LambdaExpression, LanguageWriter, MethodModifier, MethodSignature, ReturnStatement, StringExpression } from "../LanguageWriter";
|
|
19
|
+
import { AssignStatement, BlockStatement, ExpressionStatement, FieldModifier, LambdaExpression, LanguageWriter, MethodModifier, MethodSignature, ReturnStatement, StringExpression } from "../LanguageWriter";
|
|
20
20
|
import { Language } from "../../Language";
|
|
21
21
|
import { indentedBy, isDefined } from "../../util";
|
|
22
22
|
////////////////////////////////////////////////////////////////
|
|
@@ -145,16 +145,16 @@ class CJLoopStatement {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
class CJMapForEachStatement {
|
|
148
|
-
constructor(map, key, value,
|
|
148
|
+
constructor(map, key, value, body) {
|
|
149
149
|
this.map = map;
|
|
150
150
|
this.key = key;
|
|
151
151
|
this.value = value;
|
|
152
|
-
this.
|
|
152
|
+
this.body = body;
|
|
153
153
|
}
|
|
154
154
|
write(writer) {
|
|
155
155
|
writer.print(`for ((${this.key}, ${this.value}) in ${this.map}) {`);
|
|
156
156
|
writer.pushIndent();
|
|
157
|
-
this.
|
|
157
|
+
writer.writeStatement(new BlockStatement(this.body, false));
|
|
158
158
|
writer.popIndent();
|
|
159
159
|
writer.print(`}`);
|
|
160
160
|
}
|
|
@@ -227,20 +227,6 @@ class CJThrowErrorStatement {
|
|
|
227
227
|
writer.print(`throw Exception("${this.message}")`);
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
|
-
class CJCheckOptionalStatement {
|
|
231
|
-
constructor(undefinedValue, optionalExpression, doStatement) {
|
|
232
|
-
this.undefinedValue = undefinedValue;
|
|
233
|
-
this.optionalExpression = optionalExpression;
|
|
234
|
-
this.doStatement = doStatement;
|
|
235
|
-
}
|
|
236
|
-
write(writer) {
|
|
237
|
-
writer.print(`if (let Some(${this.optionalExpression.asString()}) <- ${this.optionalExpression.asString()}) {`);
|
|
238
|
-
writer.pushIndent();
|
|
239
|
-
this.doStatement.write(writer);
|
|
240
|
-
writer.popIndent();
|
|
241
|
-
writer.print('}');
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
230
|
class CJArrayResizeStatement {
|
|
245
231
|
constructor(array, arrayType, length, deserializer) {
|
|
246
232
|
this.array = array;
|
|
@@ -377,7 +363,7 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
377
363
|
this.popIndent();
|
|
378
364
|
this.printer.print(`}`);
|
|
379
365
|
}
|
|
380
|
-
writeProperty(propName, propType, modifiers, getter, setter) {
|
|
366
|
+
writeProperty(propName, propType, modifiers, getter, setter, initExpr) {
|
|
381
367
|
let containerName = propName.concat("_container");
|
|
382
368
|
let truePropName = this.escapeKeyword(propName);
|
|
383
369
|
if (getter) {
|
|
@@ -387,7 +373,8 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
387
373
|
}
|
|
388
374
|
let isStatic = modifiers.includes(FieldModifier.STATIC);
|
|
389
375
|
let isMutable = !modifiers.includes(FieldModifier.READONLY);
|
|
390
|
-
|
|
376
|
+
let initializer = initExpr ? ` = ${initExpr.asString()}` : "";
|
|
377
|
+
this.print(`public ${isMutable ? "mut " : ""}${isStatic ? "static " : "open "}prop ${truePropName}: ${this.getNodeName(propType)}${initializer}`);
|
|
391
378
|
if (getter) {
|
|
392
379
|
this.print('{');
|
|
393
380
|
this.pushIndent();
|
|
@@ -490,17 +477,14 @@ export class CJLanguageWriter extends LanguageWriter {
|
|
|
490
477
|
makeReturn(expr) {
|
|
491
478
|
return new ReturnStatement(expr);
|
|
492
479
|
}
|
|
493
|
-
makeCheckOptional(optional, doStatement) {
|
|
494
|
-
return new CJCheckOptionalStatement("undefined", optional, doStatement);
|
|
495
|
-
}
|
|
496
480
|
makeStatement(expr) {
|
|
497
481
|
return new ExpressionStatement(expr);
|
|
498
482
|
}
|
|
499
483
|
makeLoop(counter, limit, statement) {
|
|
500
484
|
return new CJLoopStatement(counter, limit, statement);
|
|
501
485
|
}
|
|
502
|
-
makeMapForEach(map, key, value,
|
|
503
|
-
return new CJMapForEachStatement(map, key, value,
|
|
486
|
+
makeMapForEach(map, key, value, body) {
|
|
487
|
+
return new CJMapForEachStatement(map, key, value, body);
|
|
504
488
|
}
|
|
505
489
|
makeDefinedCheck(value) {
|
|
506
490
|
return new CJCheckDefinedExpression(this.escapeKeyword(value));
|
|
@@ -8,11 +8,6 @@ export declare class CLikeReturnStatement extends ReturnStatement {
|
|
|
8
8
|
constructor(expression: LanguageExpression);
|
|
9
9
|
write(writer: LanguageWriter): void;
|
|
10
10
|
}
|
|
11
|
-
export declare class CDefinedExpression implements LanguageExpression {
|
|
12
|
-
private value;
|
|
13
|
-
constructor(value: string);
|
|
14
|
-
asString(): string;
|
|
15
|
-
}
|
|
16
11
|
export declare class CLikeLoopStatement implements LanguageStatement {
|
|
17
12
|
private counter;
|
|
18
13
|
private limit;
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
* See the License for the specific language governing permissions and
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
import { PrimitiveTypeList } from "../../peer-generation/PrimitiveType";
|
|
16
15
|
import { ExpressionStatement, LanguageWriter, Method, ReturnStatement } from "../LanguageWriter";
|
|
17
16
|
////////////////////////////////////////////////////////////////
|
|
18
17
|
// STATEMENTS //
|
|
@@ -26,14 +25,6 @@ export class CLikeReturnStatement extends ReturnStatement {
|
|
|
26
25
|
writer.print(this.expression ? `return ${this.expression.asString()};` : "return;");
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
|
-
export class CDefinedExpression {
|
|
30
|
-
constructor(value) {
|
|
31
|
-
this.value = value;
|
|
32
|
-
}
|
|
33
|
-
asString() {
|
|
34
|
-
return `${this.value} != ${PrimitiveTypeList.UndefinedTag}`;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
28
|
export class CLikeLoopStatement {
|
|
38
29
|
constructor(counter, limit, statement) {
|
|
39
30
|
this.counter = counter;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDLContainerType, IDLEnum, IDLNode, IDLType, IDLTypedef } from '../../idl';
|
|
2
2
|
import { ArgConvertor, BaseArgConvertor } from "../ArgConvertors";
|
|
3
3
|
import { PrimitiveTypeList } from "../../peer-generation/PrimitiveType";
|
|
4
|
-
import { AssignStatement, FieldModifier, LanguageExpression, LanguageStatement, LanguageWriter, MakeAssignOptions, MakeCastOptions, MakeRefOptions, Method, PrintHint, MethodModifier, MethodSignature,
|
|
4
|
+
import { AssignStatement, FieldModifier, LanguageExpression, LanguageStatement, LanguageWriter, MakeAssignOptions, MakeCastOptions, MakeRefOptions, Method, PrintHint, MethodModifier, MethodSignature, ObjectArgs, DelegationCall, MethodStaticCallExpression } from "../LanguageWriter";
|
|
5
5
|
import { CLikeLanguageWriter } from "./CLikeLanguageWriter";
|
|
6
6
|
import { IdlNameConvertor } from "../nameConvertor";
|
|
7
7
|
import { RuntimeType } from "../common";
|
|
@@ -85,16 +85,14 @@ export declare class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
85
85
|
makeAssign(variableName: string, type: IDLType | undefined, expr: LanguageExpression | undefined, isDeclared?: boolean, isConst?: boolean, options?: MakeAssignOptions): LanguageStatement;
|
|
86
86
|
makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
|
|
87
87
|
makeReturn(expr: LanguageExpression): LanguageStatement;
|
|
88
|
-
makeCheckOptional(optional: LanguageExpression, doStatement: LanguageStatement): LanguageStatement;
|
|
89
88
|
makeStatement(expr: LanguageExpression): LanguageStatement;
|
|
90
89
|
makeArrayAccess(value: string, indexVar: string): LanguageExpression;
|
|
91
90
|
makeTupleAccess(value: string, index: number): LanguageExpression;
|
|
92
91
|
makeUnionSelector(value: string, valueType: string): LanguageStatement;
|
|
93
|
-
makeUnionVariantCondition(_convertor: ArgConvertor, _valueName: string, valueType: string, type: string, convertorIndex: number): LanguageExpression;
|
|
94
92
|
makeUnionVariantCast(value: string, type: string, convertor: ArgConvertor, index: number): LanguageExpression;
|
|
95
93
|
makeStaticMethodCall(receiver: string, method: string, params: LanguageExpression[], nullable?: boolean): LanguageExpression;
|
|
96
94
|
makeLoop(counter: string, limit: string, statement?: LanguageStatement): LanguageStatement;
|
|
97
|
-
makeMapForEach(map: string, key: string, value: string,
|
|
95
|
+
makeMapForEach(map: string, key: string, value: string, body: LanguageStatement[]): LanguageStatement;
|
|
98
96
|
makeArrayInit(type: IDLContainerType): LanguageExpression;
|
|
99
97
|
makeClassInit(type: IDLType, paramenters: LanguageExpression[]): LanguageExpression;
|
|
100
98
|
makeMapInit(type: IDLType): LanguageExpression;
|
|
@@ -103,7 +101,7 @@ export declare class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
103
101
|
makeCast(expr: LanguageExpression, node: IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
104
102
|
makePointerPropertyAccessExpression(expression: string, name: string): CppPointerPropertyAccessExpression;
|
|
105
103
|
writePrintLog(message: string): void;
|
|
106
|
-
makeDefinedCheck(value: string): LanguageExpression;
|
|
104
|
+
makeDefinedCheck(value: string, isTag?: boolean): LanguageExpression;
|
|
107
105
|
makeSetUnionSelector(value: string, index: string): LanguageStatement;
|
|
108
106
|
makeSetOptionTag(value: string, tag: LanguageExpression): LanguageStatement;
|
|
109
107
|
getObjectAccessor(convertor: BaseArgConvertor, value: string, args?: ObjectArgs): string;
|
|
@@ -129,6 +127,6 @@ export declare class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
129
127
|
stringifyMethodReturnType(type: IDLType, hint?: PrintHint): string;
|
|
130
128
|
stringifyMethodArgType(type: IDLType, hint?: PrintHint): string;
|
|
131
129
|
stringifyTypeWithReceiver(type: IDLType, receiver?: string): string;
|
|
132
|
-
|
|
130
|
+
discriminate(value: string, index: number, type: idl.IDLType, runtimeTypes: RuntimeType[]): string;
|
|
133
131
|
}
|
|
134
132
|
//# sourceMappingURL=CppLanguageWriter.d.ts.map
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
* See the License for the specific language governing permissions and
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
import { createReferenceType, forceAsNamedNode
|
|
15
|
+
import { createReferenceType, forceAsNamedNode } from '../../idl';
|
|
16
16
|
import { Language } from '../../Language';
|
|
17
17
|
import { PrimitiveTypeList } from "../../peer-generation/PrimitiveType";
|
|
18
|
-
import { AssignStatement, BlockStatement, FieldModifier, PrintHint, MethodModifier,
|
|
19
|
-
import {
|
|
18
|
+
import { AssignStatement, BlockStatement, FieldModifier, PrintHint, MethodModifier, StringExpression, MethodStaticCallExpression } from "../LanguageWriter";
|
|
19
|
+
import { CLikeExpressionStatement, CLikeLanguageWriter, CLikeLoopStatement, CLikeReturnStatement } from "./CLikeLanguageWriter";
|
|
20
20
|
import { RuntimeType } from "../common";
|
|
21
21
|
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
22
22
|
import { cppKeywords } from "../../languageSpecificKeywords";
|
|
@@ -123,18 +123,18 @@ class CppMapResizeStatement {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
class CppMapForEachStatement {
|
|
126
|
-
constructor(map, key, value,
|
|
126
|
+
constructor(map, key, value, body) {
|
|
127
127
|
this.map = map;
|
|
128
128
|
this.key = key;
|
|
129
129
|
this.value = value;
|
|
130
|
-
this.
|
|
130
|
+
this.body = body;
|
|
131
131
|
}
|
|
132
132
|
write(writer) {
|
|
133
133
|
writer.print(`for (int32_t i = 0; i < ${this.map}.size; i++) {`);
|
|
134
134
|
writer.pushIndent();
|
|
135
135
|
writer.print(`auto ${this.key} = ${this.map}.keys[i];`);
|
|
136
136
|
writer.print(`auto ${this.value} = ${this.map}.values[i];`);
|
|
137
|
-
this.
|
|
137
|
+
writer.writeStatement(new BlockStatement(this.body, false));
|
|
138
138
|
writer.popIndent();
|
|
139
139
|
writer.print(`}`);
|
|
140
140
|
}
|
|
@@ -179,7 +179,7 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
179
179
|
}
|
|
180
180
|
fork(options) {
|
|
181
181
|
var _a;
|
|
182
|
-
return new CppLanguageWriter(new IndentedPrinter(), (_a = options === null || options === void 0 ? void 0 : options.resolver) !== null && _a !== void 0 ? _a : this.resolver, this.typeConvertor, this.primitivesTypes);
|
|
182
|
+
return new CppLanguageWriter(new IndentedPrinter([], this.indentDepth()), (_a = options === null || options === void 0 ? void 0 : options.resolver) !== null && _a !== void 0 ? _a : this.resolver, this.typeConvertor, this.primitivesTypes);
|
|
183
183
|
}
|
|
184
184
|
writeDeclaration(name, signature, modifiers, postfix) {
|
|
185
185
|
const realName = this.classMode === 'normal' ? name : `${this.currentClass.at(0)}::${name}`;
|
|
@@ -294,14 +294,11 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
294
294
|
return new CppAssignStatement(variableName, type, expr, isDeclared, isConst, options);
|
|
295
295
|
}
|
|
296
296
|
makeLambda(signature, body) {
|
|
297
|
-
throw new Error(`
|
|
297
|
+
throw new Error(`Improve`);
|
|
298
298
|
}
|
|
299
299
|
makeReturn(expr) {
|
|
300
300
|
return new CLikeReturnStatement(expr);
|
|
301
301
|
}
|
|
302
|
-
makeCheckOptional(optional, doStatement) {
|
|
303
|
-
throw new Error(`TBD`);
|
|
304
|
-
}
|
|
305
302
|
makeStatement(expr) {
|
|
306
303
|
return new CLikeExpressionStatement(expr);
|
|
307
304
|
}
|
|
@@ -314,9 +311,6 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
314
311
|
makeUnionSelector(value, valueType) {
|
|
315
312
|
return this.makeAssign(valueType, undefined, this.makeString(`${value}.selector`), false);
|
|
316
313
|
}
|
|
317
|
-
makeUnionVariantCondition(_convertor, _valueName, valueType, type, convertorIndex) {
|
|
318
|
-
return this.makeString(`${valueType} == ${convertorIndex}`);
|
|
319
|
-
}
|
|
320
314
|
makeUnionVariantCast(value, type, convertor, index) {
|
|
321
315
|
return this.makeString(`${value}.value${index}`);
|
|
322
316
|
}
|
|
@@ -326,8 +320,8 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
326
320
|
makeLoop(counter, limit, statement) {
|
|
327
321
|
return new CLikeLoopStatement(counter, limit, statement);
|
|
328
322
|
}
|
|
329
|
-
makeMapForEach(map, key, value,
|
|
330
|
-
return new CppMapForEachStatement(map, key, value,
|
|
323
|
+
makeMapForEach(map, key, value, body) {
|
|
324
|
+
return new CppMapForEachStatement(map, key, value, body);
|
|
331
325
|
}
|
|
332
326
|
makeArrayInit(type) {
|
|
333
327
|
return this.makeString(`{}`);
|
|
@@ -353,8 +347,9 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
353
347
|
writePrintLog(message) {
|
|
354
348
|
this.print(`printf("${message}\\n");`);
|
|
355
349
|
}
|
|
356
|
-
makeDefinedCheck(value) {
|
|
357
|
-
return
|
|
350
|
+
makeDefinedCheck(value, isTag) {
|
|
351
|
+
return this.makeString(isTag ? `${value} != ${PrimitiveTypeList.UndefinedTag}`
|
|
352
|
+
: `runtimeType(${value}) != ${PrimitiveTypeList.UndefinedRuntime}`);
|
|
358
353
|
}
|
|
359
354
|
makeSetUnionSelector(value, index) {
|
|
360
355
|
return this.makeAssign(`${value}.selector`, undefined, this.makeString(index), false);
|
|
@@ -488,16 +483,8 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
488
483
|
}
|
|
489
484
|
return this.getNodeName(type);
|
|
490
485
|
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
idl.IDLSerializerBuffer,
|
|
494
|
-
IDLU32Type,
|
|
495
|
-
createReferenceType("CallbackResourceHolder")
|
|
496
|
-
], ["data", "dataLength", "resourceHolder"], [undefined, `0`, `nullptr`], undefined, [undefined, undefined, undefined, PrintHint.AsPointer]);
|
|
497
|
-
const ownedDataCtor = new NamedMethodSignature(IDLVoidType, [
|
|
498
|
-
createReferenceType("CallbackResourceHolder")
|
|
499
|
-
], ["resourceHolder"], [`nullptr`], undefined, [undefined, PrintHint.AsPointer]);
|
|
500
|
-
return [ownedDataCtor, fromBufferCtor];
|
|
486
|
+
discriminate(value, index, type, runtimeTypes) {
|
|
487
|
+
return `${value}.selector == ${index}`;
|
|
501
488
|
}
|
|
502
489
|
}
|
|
503
490
|
//# sourceMappingURL=CppLanguageWriter.js.map
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
2
|
-
import { LambdaExpression, LanguageExpression, LanguageStatement, LanguageWriter, MakeCastOptions, Method, MethodModifier, MethodSignature
|
|
2
|
+
import { LambdaExpression, LanguageExpression, LanguageStatement, LanguageWriter, MakeAssignOptions, MakeCastOptions, Method, MethodModifier, MethodSignature } from "../LanguageWriter";
|
|
3
3
|
import { TSLanguageWriter } from "./TsLanguageWriter";
|
|
4
4
|
import { IDLEnum, IDLType } from '../../idl';
|
|
5
5
|
import { ArgConvertor } from "../ArgConvertors";
|
|
6
6
|
import * as idl from '../../idl';
|
|
7
7
|
import { IdlNameConvertor } from "../nameConvertor";
|
|
8
|
+
import { RuntimeType } from "../common";
|
|
8
9
|
import { ReferenceResolver } from "../../peer-generation/ReferenceResolver";
|
|
10
|
+
export declare class ETSStringExpression implements LanguageExpression {
|
|
11
|
+
value: string;
|
|
12
|
+
constructor(value: string);
|
|
13
|
+
private changeQuotes;
|
|
14
|
+
asString(): string;
|
|
15
|
+
}
|
|
9
16
|
export declare class EtsAssignStatement implements LanguageStatement {
|
|
10
17
|
variableName: string;
|
|
11
18
|
type: IDLType | undefined;
|
|
12
19
|
expression: LanguageExpression;
|
|
13
20
|
isDeclared: boolean;
|
|
14
21
|
protected isConst: boolean;
|
|
15
|
-
|
|
22
|
+
protected options?: MakeAssignOptions | undefined;
|
|
23
|
+
constructor(variableName: string, type: IDLType | undefined, expression: LanguageExpression, isDeclared?: boolean, isConst?: boolean, options?: MakeAssignOptions | undefined);
|
|
16
24
|
write(writer: LanguageWriter): void;
|
|
17
25
|
}
|
|
18
26
|
export declare class ArkTSEnumEntityStatement implements LanguageStatement {
|
|
@@ -40,9 +48,10 @@ export declare class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
40
48
|
fork(options?: {
|
|
41
49
|
resolver?: ReferenceResolver;
|
|
42
50
|
}): LanguageWriter;
|
|
43
|
-
makeAssign(variableName: string, type: IDLType | undefined, expr: LanguageExpression, isDeclared?: boolean, isConst?: boolean): LanguageStatement;
|
|
51
|
+
makeAssign(variableName: string, type: IDLType | undefined, expr: LanguageExpression, isDeclared?: boolean, isConst?: boolean, options?: MakeAssignOptions): LanguageStatement;
|
|
44
52
|
makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
|
|
45
|
-
|
|
53
|
+
makeString(value: string): LanguageExpression;
|
|
54
|
+
makeMapForEach(map: string, key: string, value: string, body: LanguageStatement[]): LanguageStatement;
|
|
46
55
|
makeMapSize(map: string): LanguageExpression;
|
|
47
56
|
get supportedModifiers(): MethodModifier[];
|
|
48
57
|
runtimeType(param: ArgConvertor, valueType: string, value: string): void;
|
|
@@ -53,23 +62,18 @@ export declare class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
53
62
|
targetType: (writer: LanguageWriter) => string;
|
|
54
63
|
}, value: string, accessors: string[], duplicates: Set<string>): LanguageExpression;
|
|
55
64
|
makeValueFromOption(value: string, destinationConvertor: ArgConvertor): LanguageExpression;
|
|
56
|
-
makeIsTypeCall(value: string, decl: idl.IDLInterface): LanguageExpression;
|
|
57
65
|
makeEnumEntity(enumEntity: IDLEnum, options: {
|
|
58
66
|
isExport: boolean;
|
|
59
67
|
isDeclare?: boolean;
|
|
60
68
|
}): LanguageStatement;
|
|
61
|
-
getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
|
|
62
69
|
writeMethodCall(receiver: string, method: string, params: string[], nullable?: boolean): void;
|
|
63
70
|
isQuickType(type: IDLType): boolean;
|
|
64
71
|
writeNativeMethodDeclaration(method: Method): void;
|
|
65
|
-
makeUnionVariantCondition(convertor: ArgConvertor, valueName: string, valueType: string, type: string, convertorIndex: number, runtimeTypeIndex: number): LanguageExpression;
|
|
66
72
|
makeCastCustomObject(customName: string, isGenericType: boolean): LanguageExpression;
|
|
67
|
-
makeHasOwnProperty(value: string, valueTypeName: string, property: string, propertyTypeName: string): LanguageExpression;
|
|
68
73
|
makeEquals(args: LanguageExpression[]): LanguageExpression;
|
|
69
|
-
|
|
74
|
+
discriminate(value: string, index: number, type: idl.IDLType, runtimeTypes: RuntimeType[]): string;
|
|
70
75
|
castToInt(value: string, bitness: 8 | 32): string;
|
|
71
76
|
castToBoolean(value: string): string;
|
|
72
|
-
instanceOf(convertor: ArgConvertor, value: string, duplicateMembers?: Set<string>): LanguageExpression;
|
|
73
77
|
typeInstanceOf(type: idl.IDLEntry, value: string, members?: string[]): LanguageExpression;
|
|
74
78
|
makeTypeCast(value: LanguageExpression, type: idl.IDLType, options?: MakeCastOptions): LanguageExpression;
|
|
75
79
|
makeCast(value: LanguageExpression, node: idl.IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
@@ -13,27 +13,45 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
16
|
-
import { LambdaExpression, MethodModifier } from "../LanguageWriter";
|
|
16
|
+
import { BlockStatement, LambdaExpression, MethodModifier } from "../LanguageWriter";
|
|
17
17
|
import { TSCastExpression, TSLanguageWriter } from "./TsLanguageWriter";
|
|
18
18
|
import { getExtAttribute, IDLThisType } from '../../idl';
|
|
19
|
-
import { AggregateConvertor,
|
|
19
|
+
import { AggregateConvertor, CustomTypeConvertor, InterfaceConvertor, MaterializedClassConvertor } from "../ArgConvertors";
|
|
20
20
|
import * as idl from '../../idl';
|
|
21
21
|
import { convertDeclaration } from "../nameConvertor";
|
|
22
22
|
import { createDeclarationNameConvertor } from "../../peer-generation/idl/IdlNameConvertor";
|
|
23
23
|
import { Language } from "../../Language";
|
|
24
|
-
|
|
24
|
+
////////////////////////////////////////////////////////////////
|
|
25
|
+
// EXPRESSIONS //
|
|
26
|
+
////////////////////////////////////////////////////////////////
|
|
27
|
+
export class ETSStringExpression {
|
|
28
|
+
constructor(value) {
|
|
29
|
+
this.value = value;
|
|
30
|
+
}
|
|
31
|
+
changeQuotes(value) {
|
|
32
|
+
return `'${value.substring(1, value.length - 1)}'`;
|
|
33
|
+
}
|
|
34
|
+
asString() {
|
|
35
|
+
if (this.value.startsWith('"') && this.value.endsWith('"')) {
|
|
36
|
+
return this.changeQuotes(this.value);
|
|
37
|
+
}
|
|
38
|
+
return this.value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
25
41
|
////////////////////////////////////////////////////////////////
|
|
26
42
|
// STATEMENTS //
|
|
27
43
|
////////////////////////////////////////////////////////////////
|
|
28
44
|
export class EtsAssignStatement {
|
|
29
|
-
constructor(variableName, type, expression, isDeclared = true, isConst = true) {
|
|
45
|
+
constructor(variableName, type, expression, isDeclared = true, isConst = true, options) {
|
|
30
46
|
this.variableName = variableName;
|
|
31
47
|
this.type = type;
|
|
32
48
|
this.expression = expression;
|
|
33
49
|
this.isDeclared = isDeclared;
|
|
34
50
|
this.isConst = isConst;
|
|
51
|
+
this.options = options;
|
|
35
52
|
}
|
|
36
53
|
write(writer) {
|
|
54
|
+
var _a;
|
|
37
55
|
if (this.isDeclared) {
|
|
38
56
|
const typeClause = this.type !== undefined ? `: ${writer.getNodeName(this.type)}` : '';
|
|
39
57
|
const maybeAssign = this.expression !== undefined ? " = " : "";
|
|
@@ -41,23 +59,25 @@ export class EtsAssignStatement {
|
|
|
41
59
|
writer.print(`${this.isConst ? "const" : "let"} ${this.variableName} ${typeClause}${maybeAssign}${initValue.asString()}`);
|
|
42
60
|
}
|
|
43
61
|
else {
|
|
44
|
-
|
|
62
|
+
const receiver = (_a = this.options) === null || _a === void 0 ? void 0 : _a.receiver;
|
|
63
|
+
const withReceiver = receiver ? `${receiver}.` : "";
|
|
64
|
+
writer.print(`${withReceiver}${this.variableName} = ${this.expression.asString()}`);
|
|
45
65
|
}
|
|
46
66
|
}
|
|
47
67
|
}
|
|
48
68
|
class ArkTSMapForEachStatement {
|
|
49
|
-
constructor(map, key, value,
|
|
69
|
+
constructor(map, key, value, body) {
|
|
50
70
|
this.map = map;
|
|
51
71
|
this.key = key;
|
|
52
72
|
this.value = value;
|
|
53
|
-
this.
|
|
73
|
+
this.body = body;
|
|
54
74
|
}
|
|
55
75
|
write(writer) {
|
|
56
76
|
writer.print(`for (const pair of ${this.map}) {`);
|
|
57
77
|
writer.pushIndent();
|
|
58
78
|
writer.print(`const ${this.key} = pair[0]`);
|
|
59
79
|
writer.print(`const ${this.value} = pair[1]`);
|
|
60
|
-
this.
|
|
80
|
+
writer.writeStatement(new BlockStatement(this.body, false));
|
|
61
81
|
writer.popIndent();
|
|
62
82
|
writer.print(`}`);
|
|
63
83
|
}
|
|
@@ -123,17 +143,17 @@ export class ETSLambdaExpression extends LambdaExpression {
|
|
|
123
143
|
isRetTypeCallback = resolved !== undefined && idl.isCallback(resolved);
|
|
124
144
|
}
|
|
125
145
|
return `(${params.join(", ")})${isRetTypeCallback
|
|
126
|
-
? "" : `:${this.convertor.convert(this.signature.returnType)}`}
|
|
146
|
+
? "" : `:${this.convertor.convert(this.signature.returnType)}`} =>${this.bodyAsString(true)}`;
|
|
127
147
|
}
|
|
128
148
|
}
|
|
129
149
|
////////////////////////////////////////////////////////////////
|
|
130
150
|
// UTILS //
|
|
131
151
|
////////////////////////////////////////////////////////////////
|
|
132
152
|
export function generateTypeCheckerName(typeName) {
|
|
133
|
-
|
|
153
|
+
return "is" + typeName
|
|
134
154
|
.replaceAll('[]', 'BracketsArray')
|
|
135
|
-
.
|
|
136
|
-
|
|
155
|
+
.replaceAll(/<.*$/g, '') // delete type arguments
|
|
156
|
+
.replaceAll('.', '_');
|
|
137
157
|
}
|
|
138
158
|
export function generateEnumToNumericName(entry) {
|
|
139
159
|
const typeName = idl.getQualifiedName(entry, "namespace.name").split('.').join('_');
|
|
@@ -157,16 +177,19 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
157
177
|
}
|
|
158
178
|
fork(options) {
|
|
159
179
|
var _a;
|
|
160
|
-
return new ETSLanguageWriter(new IndentedPrinter(), (_a = options === null || options === void 0 ? void 0 : options.resolver) !== null && _a !== void 0 ? _a : this.resolver, this.typeConvertor, this.arrayConvertor);
|
|
180
|
+
return new ETSLanguageWriter(new IndentedPrinter([], this.indentDepth()), (_a = options === null || options === void 0 ? void 0 : options.resolver) !== null && _a !== void 0 ? _a : this.resolver, this.typeConvertor, this.arrayConvertor);
|
|
161
181
|
}
|
|
162
|
-
makeAssign(variableName, type, expr, isDeclared = true, isConst = true) {
|
|
163
|
-
return new EtsAssignStatement(variableName, type, expr, isDeclared, isConst);
|
|
182
|
+
makeAssign(variableName, type, expr, isDeclared = true, isConst = true, options) {
|
|
183
|
+
return new EtsAssignStatement(variableName, type, expr, isDeclared, isConst, options);
|
|
164
184
|
}
|
|
165
185
|
makeLambda(signature, body) {
|
|
166
186
|
return new ETSLambdaExpression(this, this.typeConvertor, signature, this.resolver, body);
|
|
167
187
|
}
|
|
168
|
-
|
|
169
|
-
return new
|
|
188
|
+
makeString(value) {
|
|
189
|
+
return new ETSStringExpression(value);
|
|
190
|
+
}
|
|
191
|
+
makeMapForEach(map, key, value, body) {
|
|
192
|
+
return new ArkTSMapForEachStatement(map, key, value, body);
|
|
170
193
|
}
|
|
171
194
|
makeMapSize(map) {
|
|
172
195
|
return this.makeString(`${super.makeMapSize(map).asString()}`); // TODO: cast really needed?
|
|
@@ -202,7 +225,7 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
202
225
|
|| convertor instanceof InterfaceConvertor
|
|
203
226
|
|| convertor instanceof MaterializedClassConvertor
|
|
204
227
|
|| convertor instanceof CustomTypeConvertor) {
|
|
205
|
-
return this.instanceOf(
|
|
228
|
+
return this.instanceOf(value, convertor.idlType);
|
|
206
229
|
}
|
|
207
230
|
return this.makeString(`${value} instanceof ${convertor.targetType(this)}`);
|
|
208
231
|
}
|
|
@@ -212,18 +235,12 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
212
235
|
}
|
|
213
236
|
return super.makeValueFromOption(value, destinationConvertor);
|
|
214
237
|
}
|
|
215
|
-
makeIsTypeCall(value, decl) {
|
|
216
|
-
return makeInterfaceTypeCheckerCall(value, decl.name, decl.properties.map(it => it.name), new Set(), this);
|
|
217
|
-
}
|
|
218
238
|
makeEnumEntity(enumEntity, options) {
|
|
219
239
|
return new ArkTSEnumEntityStatement(enumEntity, {
|
|
220
240
|
isExport: options === null || options === void 0 ? void 0 : options.isExport,
|
|
221
241
|
isDeclare: !!(options === null || options === void 0 ? void 0 : options.isDeclare),
|
|
222
242
|
});
|
|
223
243
|
}
|
|
224
|
-
getObjectAccessor(convertor, value, args) {
|
|
225
|
-
return super.getObjectAccessor(convertor, value, args);
|
|
226
|
-
}
|
|
227
244
|
writeMethodCall(receiver, method, params, nullable = false) {
|
|
228
245
|
// ArkTS does not support - 'this.?'
|
|
229
246
|
super.writeMethodCall(receiver, method, params, nullable && receiver !== "this");
|
|
@@ -237,46 +254,27 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
237
254
|
}
|
|
238
255
|
this.writeMethodDeclaration(method.name, method.signature, [MethodModifier.STATIC, MethodModifier.NATIVE]);
|
|
239
256
|
}
|
|
240
|
-
makeUnionVariantCondition(convertor, valueName, valueType, type, convertorIndex, runtimeTypeIndex) {
|
|
241
|
-
if (idl.isEnum(this.resolver.toDeclaration(convertor.nativeType()))) {
|
|
242
|
-
return this.instanceOf(convertor, valueName);
|
|
243
|
-
}
|
|
244
|
-
// TODO: in ArkTS SerializerBase.runtimeType returns RuntimeType.OBJECT for enum type and not RuntimeType.NUMBER as in TS
|
|
245
|
-
if (convertor instanceof UnionConvertor || convertor instanceof OptionConvertor) {
|
|
246
|
-
// Unwrapping of type
|
|
247
|
-
const idlType = convertor instanceof UnionConvertor
|
|
248
|
-
? convertor.nativeType().types[runtimeTypeIndex]
|
|
249
|
-
: idl.maybeUnwrapOptionalType(convertor.nativeType());
|
|
250
|
-
if (idlType !== undefined && idl.isReferenceType(idlType)) {
|
|
251
|
-
const resolved = this.resolver.resolveTypeReference(idlType);
|
|
252
|
-
type = resolved != undefined && idl.isEnum(resolved) ? RuntimeType[RuntimeType.OBJECT] : type;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
return super.makeUnionVariantCondition(convertor, valueName, valueType, type, convertorIndex);
|
|
256
|
-
}
|
|
257
257
|
makeCastCustomObject(customName, isGenericType) {
|
|
258
258
|
if (isGenericType) {
|
|
259
259
|
return this.makeCast(this.makeString(customName), idl.IDLObjectType);
|
|
260
260
|
}
|
|
261
261
|
return super.makeCastCustomObject(customName, isGenericType);
|
|
262
262
|
}
|
|
263
|
-
makeHasOwnProperty(value, valueTypeName, property, propertyTypeName) {
|
|
264
|
-
return this.makeNaryOp("&&", [
|
|
265
|
-
this.makeString(`${value} instanceof ${valueTypeName}`),
|
|
266
|
-
this.makeString(`isInstanceOf("${propertyTypeName}", ${value}.${property})`)
|
|
267
|
-
]);
|
|
268
|
-
}
|
|
269
263
|
makeEquals(args) {
|
|
270
264
|
// TODO: Error elimination: 'TypeError: Both operands have to be reference types'
|
|
271
265
|
// the '==' operator must be used when one of the operands is a reference
|
|
272
266
|
return super.makeNaryOp('==', args);
|
|
273
267
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
268
|
+
discriminate(value, index, type, runtimeTypes) {
|
|
269
|
+
// work around ArkTS compiler bugs
|
|
270
|
+
if (idl.IDLContainerUtils.isSequence(type)) {
|
|
271
|
+
const arrayTypeName = this.arrayConvertor.convert(type);
|
|
272
|
+
return `TypeChecker.${generateTypeCheckerName(arrayTypeName)}(${value})`;
|
|
273
|
+
}
|
|
274
|
+
if (this.getNodeName(type) === "DragPreviewMode") {
|
|
275
|
+
return `TypeChecker.isDragPreviewMode(${value})`;
|
|
276
|
+
}
|
|
277
|
+
return `${value} instanceof ${this.getNodeName(type)}`;
|
|
280
278
|
}
|
|
281
279
|
castToInt(value, bitness) {
|
|
282
280
|
// This fix is used to avoid unnecessary writeInt8(value as int32) call, which is generated if value is already an int32
|
|
@@ -287,27 +285,6 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
287
285
|
return `(${value}).toInt()`; // FIXME: is there int8 in ARKTS?
|
|
288
286
|
}
|
|
289
287
|
castToBoolean(value) { return `${value} ? 1 : 0`; }
|
|
290
|
-
instanceOf(convertor, value, duplicateMembers) {
|
|
291
|
-
if (convertor instanceof CustomTypeConvertor) {
|
|
292
|
-
return makeInterfaceTypeCheckerCall(value, this.getNodeName(convertor.idlType), [], duplicateMembers, this);
|
|
293
|
-
}
|
|
294
|
-
if (convertor instanceof InterfaceConvertor || convertor instanceof MaterializedClassConvertor) {
|
|
295
|
-
return makeInterfaceTypeCheckerCall(value, this.getNodeName(convertor.idlType), convertor.declaration.properties.filter(it => !it.isStatic).map(it => it.name), duplicateMembers, this);
|
|
296
|
-
}
|
|
297
|
-
if (convertor instanceof BufferConvertor) {
|
|
298
|
-
return makeInterfaceTypeCheckerCall(value, this.getNodeName(convertor.idlType), [], new Set(), this);
|
|
299
|
-
}
|
|
300
|
-
if (convertor instanceof AggregateConvertor) {
|
|
301
|
-
return makeInterfaceTypeCheckerCall(value, convertor.aliasName !== undefined ? convertor.aliasName : this.getNodeName(convertor.idlType), convertor.members.map(it => it[0]), duplicateMembers, this);
|
|
302
|
-
}
|
|
303
|
-
if (convertor instanceof ArrayConvertor) {
|
|
304
|
-
return makeArrayTypeCheckCall(value, this.arrayConvertor.convert(convertor.idlType), this);
|
|
305
|
-
}
|
|
306
|
-
if (idl.isEnum(this.resolver.toDeclaration(convertor.nativeType()))) {
|
|
307
|
-
return makeEnumTypeCheckerCall(value, this.getNodeName(convertor.idlType), this);
|
|
308
|
-
}
|
|
309
|
-
return super.instanceOf(convertor, value, duplicateMembers);
|
|
310
|
-
}
|
|
311
288
|
typeInstanceOf(type, value, members) {
|
|
312
289
|
if (!members || members.length === 0) {
|
|
313
290
|
throw new Error("At least one member needs to provided to pass it to TypeChecker!");
|
|
@@ -6,11 +6,6 @@ import { ArgConvertor, BaseArgConvertor } from "../ArgConvertors";
|
|
|
6
6
|
import { IdlNameConvertor } from "../nameConvertor";
|
|
7
7
|
import { RuntimeType } from "../common";
|
|
8
8
|
import { ReferenceResolver } from "../../peer-generation/ReferenceResolver";
|
|
9
|
-
export declare class JavaCheckDefinedExpression implements LanguageExpression {
|
|
10
|
-
private value;
|
|
11
|
-
constructor(value: string);
|
|
12
|
-
asString(): string;
|
|
13
|
-
}
|
|
14
9
|
export declare class JavaCastExpression implements LanguageExpression {
|
|
15
10
|
value: LanguageExpression;
|
|
16
11
|
type: string;
|
|
@@ -46,16 +41,15 @@ export declare class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
46
41
|
}, setter?: {
|
|
47
42
|
method: Method;
|
|
48
43
|
op: () => void;
|
|
49
|
-
}): void;
|
|
44
|
+
}, initExpr?: LanguageExpression): void;
|
|
50
45
|
writeTypeDeclaration(decl: idl.IDLTypedef): void;
|
|
51
46
|
writeConstant(constName: string, constType: idl.IDLType, constVal?: string): void;
|
|
52
47
|
makeAssign(variableName: string, type: idl.IDLType | undefined, expr: LanguageExpression, isDeclared?: boolean, isConst?: boolean): LanguageStatement;
|
|
53
48
|
makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
|
|
54
49
|
makeReturn(expr: LanguageExpression): LanguageStatement;
|
|
55
|
-
makeCheckOptional(optional: LanguageExpression, doStatement: LanguageStatement): LanguageStatement;
|
|
56
50
|
makeDefinedCheck(value: string): LanguageExpression;
|
|
57
51
|
makeLoop(counter: string, limit: string, statement?: LanguageStatement): LanguageStatement;
|
|
58
|
-
makeMapForEach(map: string, key: string, value: string,
|
|
52
|
+
makeMapForEach(map: string, key: string, value: string, body: LanguageStatement[]): LanguageStatement;
|
|
59
53
|
makeMapSize(map: string): LanguageExpression;
|
|
60
54
|
makeCast(value: LanguageExpression, node: idl.IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
61
55
|
makeStatement(expr: LanguageExpression): LanguageStatement;
|