@idlizer/core 2.1.7 → 2.1.9-arktscgen-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/src/IndentedPrinter.js +2 -0
- package/build/lib/src/Language.d.ts +1 -0
- package/build/lib/src/Language.js +3 -0
- package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +18 -3
- package/build/lib/src/LanguageWriters/ArgConvertors.js +154 -23
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +29 -4
- package/build/lib/src/LanguageWriters/LanguageWriter.js +42 -0
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.js +23 -10
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertor.d.ts +24 -0
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertor.js +69 -0
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.d.ts +25 -0
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.js +128 -0
- package/build/lib/src/LanguageWriters/index.js +4 -0
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +5 -5
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +25 -23
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.d.ts +1 -1
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +11 -2
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +43 -10
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.d.ts +2 -2
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +20 -11
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.d.ts +2 -2
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.js +3 -3
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.d.ts +149 -0
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.js +495 -0
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +2 -2
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +6 -4
- package/build/lib/src/LibraryInterface.d.ts +2 -0
- package/build/lib/src/config.d.ts +132 -66
- package/build/lib/src/config.js +4 -2
- package/build/lib/src/configDescriber.d.ts +1 -1
- package/build/lib/src/configDescriber.js +1 -1
- package/build/lib/src/from-idl/DtsPrinter.js +10 -7
- package/build/lib/src/from-idl/IDLLinter.d.ts +0 -1
- package/build/lib/src/from-idl/IDLLinter.js +0 -6
- package/build/lib/src/from-idl/deserialize.js +7 -21
- package/build/lib/src/idl.d.ts +4 -13
- package/build/lib/src/idl.js +24 -58
- package/build/lib/src/idlize.js +2 -0
- package/build/lib/src/index.d.ts +2 -0
- package/build/lib/src/index.js +2 -0
- package/build/lib/src/peer-generation/LayoutManager.d.ts +4 -1
- package/build/lib/src/peer-generation/LayoutManager.js +5 -1
- package/build/lib/src/peer-generation/Materialized.d.ts +7 -3
- package/build/lib/src/peer-generation/Materialized.js +17 -3
- package/build/lib/src/peer-generation/PeerLibrary.d.ts +5 -2
- package/build/lib/src/peer-generation/PeerLibrary.js +26 -6
- package/build/lib/src/peer-generation/PeerMethod.d.ts +1 -1
- package/build/lib/src/peer-generation/getSuperType.d.ts +5 -0
- package/build/lib/src/peer-generation/getSuperType.js +55 -0
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.d.ts +4 -0
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.js +7 -0
- package/build/lib/src/peer-generation/idl/common.js +1 -1
- package/build/lib/src/peer-generation/isExternalType.d.ts +4 -0
- package/build/lib/src/peer-generation/isExternalType.js +15 -0
- package/build/lib/src/peer-generation/isMaterialized.js +15 -7
- package/build/lib/src/util.d.ts +2 -0
- package/build/lib/src/util.js +17 -7
- package/build/lib/src/visitor.js +0 -1
- package/package.json +2 -2
- package/webidl2.js/LICENSE +0 -21
- package/webidl2.js/README.md +0 -827
- package/webidl2.js/dist/package.json +0 -3
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { createReferenceType, forceAsNamedNode, IDLU32Type, IDLVoidType } from '../../idl';
|
|
16
16
|
import { Language } from '../../Language';
|
|
17
17
|
import { PrimitiveTypeList } from "../../peer-generation/PrimitiveType";
|
|
18
|
-
import { AssignStatement, BlockStatement, FieldModifier, PrintHint, MethodModifier, NamedMethodSignature, StringExpression } from "../LanguageWriter";
|
|
18
|
+
import { AssignStatement, BlockStatement, FieldModifier, PrintHint, MethodModifier, NamedMethodSignature, StringExpression, MethodStaticCallExpression } from "../LanguageWriter";
|
|
19
19
|
import { CDefinedExpression, CLikeExpressionStatement, CLikeLanguageWriter, CLikeLoopStatement, CLikeReturnStatement } from "./CLikeLanguageWriter";
|
|
20
20
|
import { RuntimeType } from "../common";
|
|
21
21
|
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
@@ -66,6 +66,11 @@ export class CppPointerPropertyAccessExpression {
|
|
|
66
66
|
return `${this.expression}->${this.name}`;
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
+
export class CPPMethodStaticCallExpression extends MethodStaticCallExpression {
|
|
70
|
+
asString() {
|
|
71
|
+
return `${this.receiver}::${this.name}(${this.params.map(it => it.asString()).join(', ')})`;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
69
74
|
////////////////////////////////////////////////////////////////
|
|
70
75
|
// STATEMENTS //
|
|
71
76
|
////////////////////////////////////////////////////////////////
|
|
@@ -162,8 +167,13 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
162
167
|
constructor(printer, resolver, typeConvertor, primitivesTypes) {
|
|
163
168
|
super(printer, resolver, Language.CPP);
|
|
164
169
|
this.primitivesTypes = primitivesTypes;
|
|
170
|
+
this.classMode = 'normal';
|
|
171
|
+
this.currentClass = [];
|
|
165
172
|
this.typeConvertor = typeConvertor;
|
|
166
173
|
}
|
|
174
|
+
changeModeTo(mode) {
|
|
175
|
+
this.classMode = mode;
|
|
176
|
+
}
|
|
167
177
|
getNodeName(type) {
|
|
168
178
|
return this.typeConvertor.convert(type);
|
|
169
179
|
}
|
|
@@ -171,14 +181,28 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
171
181
|
var _a;
|
|
172
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);
|
|
173
183
|
}
|
|
184
|
+
writeDeclaration(name, signature, modifiers, postfix) {
|
|
185
|
+
const realName = this.classMode === 'normal' ? name : `${this.currentClass.at(0)}::${name}`;
|
|
186
|
+
const newModifiers = this.classMode === 'normal'
|
|
187
|
+
? modifiers
|
|
188
|
+
: (modifiers !== null && modifiers !== void 0 ? modifiers : []).filter(it => it !== MethodModifier.STATIC).concat(MethodModifier.INLINE);
|
|
189
|
+
super.writeDeclaration(realName, signature, newModifiers, postfix);
|
|
190
|
+
}
|
|
174
191
|
writeClass(name, op, superClass, interfaces) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
192
|
+
if (this.classMode === 'normal') {
|
|
193
|
+
const superClasses = (superClass ? [superClass] : []).concat(interfaces !== null && interfaces !== void 0 ? interfaces : []);
|
|
194
|
+
const extendsClause = superClasses.length > 0 ? ` : ${superClasses.map(c => `public ${c}`).join(", ")}` : '';
|
|
195
|
+
this.printer.print(`class ${name}${extendsClause} {`);
|
|
196
|
+
this.pushIndent();
|
|
197
|
+
}
|
|
198
|
+
if (this.classMode === 'detached') {
|
|
199
|
+
this.currentClass.push(name);
|
|
200
|
+
}
|
|
179
201
|
op(this);
|
|
180
|
-
this.
|
|
181
|
-
|
|
202
|
+
if (this.classMode === 'normal') {
|
|
203
|
+
this.popIndent();
|
|
204
|
+
this.printer.print(`};`);
|
|
205
|
+
}
|
|
182
206
|
}
|
|
183
207
|
writeInterface(name, op, superInterfaces, generics) {
|
|
184
208
|
throw new Error("Method not implemented.");
|
|
@@ -191,6 +215,9 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
191
215
|
super.writeMethodCall(receiver, method, params, nullable);
|
|
192
216
|
}
|
|
193
217
|
}
|
|
218
|
+
writeStaticMethodCall(receiver, method, params, nullable) {
|
|
219
|
+
this.printer.print(`${receiver}::${method}(${params.join(', ')});`);
|
|
220
|
+
}
|
|
194
221
|
writeFieldDeclaration(name, type, modifiers, optional, initExpr) {
|
|
195
222
|
let filter = function (modifier_name) {
|
|
196
223
|
return modifier_name !== FieldModifier.STATIC;
|
|
@@ -201,9 +228,9 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
201
228
|
this.printer.print(`${forceAsNamedNode(type).name} ${name};`);
|
|
202
229
|
this.printer.popIndent();
|
|
203
230
|
}
|
|
204
|
-
writeConstructorImplementation(className, signature, op,
|
|
205
|
-
const superInvocation =
|
|
206
|
-
? ` : ${
|
|
231
|
+
writeConstructorImplementation(className, signature, op, delegationCall, modifiers) {
|
|
232
|
+
const superInvocation = delegationCall
|
|
233
|
+
? ` : ${delegationCall.delegationName}(${delegationCall.delegationArgs.map(it => it.asString()).join(", ")})`
|
|
207
234
|
: "";
|
|
208
235
|
const argList = signature.args.map((it, index) => {
|
|
209
236
|
var _a;
|
|
@@ -293,6 +320,9 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
293
320
|
makeUnionVariantCast(value, type, convertor, index) {
|
|
294
321
|
return this.makeString(`${value}.value${index}`);
|
|
295
322
|
}
|
|
323
|
+
makeStaticMethodCall(receiver, method, params, nullable) {
|
|
324
|
+
return new CPPMethodStaticCallExpression(receiver, method, params, nullable);
|
|
325
|
+
}
|
|
296
326
|
makeLoop(counter, limit, statement) {
|
|
297
327
|
return new CLikeLoopStatement(counter, limit, statement);
|
|
298
328
|
}
|
|
@@ -435,6 +465,9 @@ export class CppLanguageWriter extends CLikeLanguageWriter {
|
|
|
435
465
|
case PrintHint.AsPointer:
|
|
436
466
|
postfix = '*';
|
|
437
467
|
break;
|
|
468
|
+
case PrintHint.AsReference:
|
|
469
|
+
postfix = '&';
|
|
470
|
+
break;
|
|
438
471
|
case PrintHint.AsConstPointer:
|
|
439
472
|
constModifier = 'const ';
|
|
440
473
|
postfix = '*';
|
|
@@ -31,8 +31,8 @@ export declare class ETSLambdaExpression extends LambdaExpression {
|
|
|
31
31
|
asString(): string;
|
|
32
32
|
}
|
|
33
33
|
export declare function generateTypeCheckerName(typeName: string): string;
|
|
34
|
-
export declare function generateEnumToNumericName(
|
|
35
|
-
export declare function generateEnumFromNumericName(
|
|
34
|
+
export declare function generateEnumToNumericName(entry: idl.IDLEntry): string;
|
|
35
|
+
export declare function generateEnumFromNumericName(entry: idl.IDLEntry): string;
|
|
36
36
|
export declare function makeArrayTypeCheckCall(valueAccessor: string, typeName: string, writer: LanguageWriter): LanguageExpression;
|
|
37
37
|
export declare class ETSLanguageWriter extends TSLanguageWriter {
|
|
38
38
|
private arrayConvertor;
|
|
@@ -132,15 +132,15 @@ export class ETSLambdaExpression extends LambdaExpression {
|
|
|
132
132
|
export function generateTypeCheckerName(typeName) {
|
|
133
133
|
typeName = typeName
|
|
134
134
|
.replaceAll('[]', 'BracketsArray')
|
|
135
|
-
.split('.').
|
|
135
|
+
.split('.').join('_');
|
|
136
136
|
return `is${typeName.replaceAll('[]', 'Brackets')}`;
|
|
137
137
|
}
|
|
138
|
-
export function generateEnumToNumericName(
|
|
139
|
-
typeName =
|
|
138
|
+
export function generateEnumToNumericName(entry) {
|
|
139
|
+
const typeName = idl.getQualifiedName(entry, "namespace.name").split('.').join('_');
|
|
140
140
|
return `${typeName}_ToNumeric`;
|
|
141
141
|
}
|
|
142
|
-
export function generateEnumFromNumericName(
|
|
143
|
-
typeName =
|
|
142
|
+
export function generateEnumFromNumericName(entry) {
|
|
143
|
+
const typeName = idl.getQualifiedName(entry, "namespace.name").split('.').join('_');
|
|
144
144
|
return `${typeName}_FromNumeric`;
|
|
145
145
|
}
|
|
146
146
|
export function makeArrayTypeCheckCall(valueAccessor, typeName, writer) {
|
|
@@ -169,7 +169,7 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
169
169
|
return new ArkTSMapForEachStatement(map, key, value, op);
|
|
170
170
|
}
|
|
171
171
|
makeMapSize(map) {
|
|
172
|
-
return this.makeString(`${super.makeMapSize(map).asString()}
|
|
172
|
+
return this.makeString(`${super.makeMapSize(map).asString()}`); // TODO: cast really needed?
|
|
173
173
|
}
|
|
174
174
|
get supportedModifiers() {
|
|
175
175
|
return [MethodModifier.PUBLIC, MethodModifier.PRIVATE, MethodModifier.NATIVE, MethodModifier.STATIC];
|
|
@@ -182,8 +182,7 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
182
182
|
}
|
|
183
183
|
i32FromEnum(value, enumEntry) {
|
|
184
184
|
if (ETSLanguageWriter.isUseTypeChecker) {
|
|
185
|
-
|
|
186
|
-
return this.makeMethodCall('TypeChecker', generateEnumToNumericName(enumName), [value]);
|
|
185
|
+
return this.makeMethodCall('TypeChecker', generateEnumToNumericName(enumEntry), [value]);
|
|
187
186
|
}
|
|
188
187
|
return idl.isStringEnum(enumEntry)
|
|
189
188
|
? this.makeMethodCall(value.asString(), 'getOrdinal', [])
|
|
@@ -192,7 +191,7 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
192
191
|
enumFromI32(value, enumEntry) {
|
|
193
192
|
const enumName = this.getNodeName(enumEntry);
|
|
194
193
|
if (ETSLanguageWriter.isUseTypeChecker) {
|
|
195
|
-
return this.makeMethodCall('TypeChecker', generateEnumFromNumericName(
|
|
194
|
+
return this.makeMethodCall('TypeChecker', generateEnumFromNumericName(enumEntry), [value]);
|
|
196
195
|
}
|
|
197
196
|
return idl.isStringEnum(enumEntry)
|
|
198
197
|
? this.makeString(`${enumName}.values()[${value.asString()}]`)
|
|
@@ -284,8 +283,8 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
284
283
|
// The explicit cast forces ui2abc to call valueOf on an int, which fails the compilation
|
|
285
284
|
// TODO Fix this cast
|
|
286
285
|
if (bitness === 8)
|
|
287
|
-
return value
|
|
288
|
-
return
|
|
286
|
+
return `(${value}).toChar()`;
|
|
287
|
+
return `(${value}).toInt()`; // FIXME: is there int8 in ARKTS?
|
|
289
288
|
}
|
|
290
289
|
castToBoolean(value) { return `${value} ? 1 : 0`; }
|
|
291
290
|
instanceOf(convertor, value, duplicateMembers) {
|
|
@@ -322,6 +321,16 @@ export class ETSLanguageWriter extends TSLanguageWriter {
|
|
|
322
321
|
}
|
|
323
322
|
makeCast(value, node, options) {
|
|
324
323
|
var _a;
|
|
324
|
+
if (node === idl.IDLI64Type)
|
|
325
|
+
return this.makeMethodCall(value.asString(), `toLong`, []);
|
|
326
|
+
if (node === idl.IDLI32Type)
|
|
327
|
+
return this.makeMethodCall(value.asString(), `toInt`, []);
|
|
328
|
+
if (node === idl.IDLI8Type)
|
|
329
|
+
return this.makeMethodCall(value.asString(), `toByte`, []);
|
|
330
|
+
if (node === idl.IDLF64Type)
|
|
331
|
+
return this.makeMethodCall(value.asString(), `toDouble`, []);
|
|
332
|
+
if (node === idl.IDLF32Type)
|
|
333
|
+
return this.makeMethodCall(value.asString(), `toFloat`, []);
|
|
325
334
|
return new TSCastExpression(value, `${this.getNodeName(node)}`, (_a = options === null || options === void 0 ? void 0 : options.unsafe) !== null && _a !== void 0 ? _a : false);
|
|
326
335
|
}
|
|
327
336
|
static get isUseTypeChecker() { return this._isUseTypeChecker; }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
2
|
-
import { AssignStatement, FieldModifier, LanguageExpression, LanguageStatement, LanguageWriter, MakeCastOptions, Method, MethodModifier, MethodSignature, ObjectArgs } from "../LanguageWriter";
|
|
2
|
+
import { AssignStatement, DelegationCall, FieldModifier, LanguageExpression, LanguageStatement, LanguageWriter, MakeCastOptions, Method, MethodModifier, MethodSignature, ObjectArgs } from "../LanguageWriter";
|
|
3
3
|
import { CLikeLanguageWriter } from "./CLikeLanguageWriter";
|
|
4
4
|
import * as idl from '../../idl';
|
|
5
5
|
import { ArgConvertor, BaseArgConvertor } from "../ArgConvertors";
|
|
@@ -39,7 +39,7 @@ export declare class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
39
39
|
writeMethodCall(receiver: string, method: string, params: string[], nullable?: boolean): void;
|
|
40
40
|
writeFieldDeclaration(name: string, type: idl.IDLType, modifiers: FieldModifier[] | undefined, optional: boolean, initExpr?: LanguageExpression): void;
|
|
41
41
|
writeNativeMethodDeclaration(method: Method): void;
|
|
42
|
-
writeConstructorImplementation(className: string, signature: MethodSignature, op: (writer: this) => void,
|
|
42
|
+
writeConstructorImplementation(className: string, signature: MethodSignature, op: (writer: this) => void, delegationCall?: DelegationCall, modifiers?: MethodModifier[]): void;
|
|
43
43
|
writeProperty(propName: string, propType: idl.IDLType, modifiers: FieldModifier[], getter?: {
|
|
44
44
|
method: Method;
|
|
45
45
|
op: () => void;
|
|
@@ -146,11 +146,11 @@ export class JavaLanguageWriter extends CLikeLanguageWriter {
|
|
|
146
146
|
writeNativeMethodDeclaration(method) {
|
|
147
147
|
this.writeMethodDeclaration(method.name, method.signature, [MethodModifier.STATIC, MethodModifier.NATIVE]);
|
|
148
148
|
}
|
|
149
|
-
writeConstructorImplementation(className, signature, op,
|
|
149
|
+
writeConstructorImplementation(className, signature, op, delegationCall, modifiers) {
|
|
150
150
|
this.printer.print(`${modifiers ? modifiers.map((it) => MethodModifier[it].toLowerCase()).join(' ') : ''} ${className}(${signature.args.map((it, index) => `${this.getNodeName(it)} ${signature.argName(index)}`).join(", ")}) {`);
|
|
151
151
|
this.pushIndent();
|
|
152
|
-
if (
|
|
153
|
-
this.print(`super(${
|
|
152
|
+
if (delegationCall) {
|
|
153
|
+
this.print(`super(${delegationCall.delegationArgs.map(it => it.asString()).join(", ")});`);
|
|
154
154
|
}
|
|
155
155
|
op(this);
|
|
156
156
|
this.popIndent();
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import * as idl from '../../idl';
|
|
2
|
+
import { Language } from '../../Language';
|
|
3
|
+
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
4
|
+
import { AssignStatement, DelegationCall, FieldModifier, LanguageExpression, LanguageStatement, LanguageWriter, MakeAssignOptions, MakeCastOptions, Method, MethodModifier, MethodSignature, ObjectArgs } from "../LanguageWriter";
|
|
5
|
+
import { ArgConvertor } from "../ArgConvertors";
|
|
6
|
+
import { IdlNameConvertor } from "../nameConvertor";
|
|
7
|
+
import { RuntimeType } from "../common";
|
|
8
|
+
import { ReferenceResolver } from "../../peer-generation/ReferenceResolver";
|
|
9
|
+
export declare class KotlinEnumEntityStatement implements LanguageStatement {
|
|
10
|
+
private readonly enumEntity;
|
|
11
|
+
private readonly options;
|
|
12
|
+
constructor(enumEntity: idl.IDLEnum, options: {
|
|
13
|
+
isExport: boolean;
|
|
14
|
+
isDeclare: boolean;
|
|
15
|
+
});
|
|
16
|
+
write(writer: LanguageWriter): void;
|
|
17
|
+
private maybeQuoted;
|
|
18
|
+
}
|
|
19
|
+
export declare class KotlinEnumWithGetter implements LanguageStatement {
|
|
20
|
+
private readonly enumEntity;
|
|
21
|
+
private readonly isExport;
|
|
22
|
+
constructor(enumEntity: idl.IDLEnum, isExport: boolean);
|
|
23
|
+
write(writer: LanguageWriter): void;
|
|
24
|
+
}
|
|
25
|
+
export declare class KotlinThrowErrorStatement implements LanguageStatement {
|
|
26
|
+
message: string;
|
|
27
|
+
constructor(message: string);
|
|
28
|
+
write(writer: LanguageWriter): void;
|
|
29
|
+
}
|
|
30
|
+
export declare class KotlinLoopStatement implements LanguageStatement {
|
|
31
|
+
private counter;
|
|
32
|
+
private limit;
|
|
33
|
+
private statement;
|
|
34
|
+
constructor(counter: string, limit: string, statement: LanguageStatement | undefined);
|
|
35
|
+
write(writer: LanguageWriter): void;
|
|
36
|
+
}
|
|
37
|
+
export declare class KotlinAssignStatement extends AssignStatement {
|
|
38
|
+
variableName: string;
|
|
39
|
+
type: idl.IDLType | undefined;
|
|
40
|
+
expression: LanguageExpression;
|
|
41
|
+
isDeclared: boolean;
|
|
42
|
+
isConst: boolean;
|
|
43
|
+
constructor(variableName: string, type: idl.IDLType | undefined, expression: LanguageExpression, isDeclared?: boolean, isConst?: boolean);
|
|
44
|
+
write(writer: LanguageWriter): void;
|
|
45
|
+
}
|
|
46
|
+
export declare class KotlinNewObjectExpression implements LanguageExpression {
|
|
47
|
+
private objectName;
|
|
48
|
+
private params;
|
|
49
|
+
constructor(objectName: string, params: LanguageExpression[]);
|
|
50
|
+
asString(): string;
|
|
51
|
+
}
|
|
52
|
+
export declare class KotlinCheckDefinedExpression implements LanguageExpression {
|
|
53
|
+
private value;
|
|
54
|
+
constructor(value: string);
|
|
55
|
+
asString(): string;
|
|
56
|
+
}
|
|
57
|
+
export declare class KotlinLanguageWriter extends LanguageWriter {
|
|
58
|
+
protected typeConvertor: IdlNameConvertor;
|
|
59
|
+
constructor(printer: IndentedPrinter, resolver: ReferenceResolver, typeConvertor: IdlNameConvertor, language?: Language);
|
|
60
|
+
fork(options?: {
|
|
61
|
+
resolver?: ReferenceResolver;
|
|
62
|
+
}): LanguageWriter;
|
|
63
|
+
getNodeName(type: idl.IDLNode): string;
|
|
64
|
+
writeClass(name: string, op: (writer: this) => void, superClass?: string, interfaces?: string[], generics?: string[], isDeclared?: boolean, isAbstract?: boolean): void;
|
|
65
|
+
writeInterface(name: string, op: (writer: this) => void, superInterfaces?: string[], generics?: string[], isDeclared?: boolean): void;
|
|
66
|
+
writeFunctionDeclaration(name: string, signature: MethodSignature, generics?: string[]): void;
|
|
67
|
+
writeFunctionImplementation(name: string, signature: MethodSignature, op: (writer: this) => void, generics?: string[]): void;
|
|
68
|
+
private generateFunctionDeclaration;
|
|
69
|
+
writeEnum(name: string, members: {
|
|
70
|
+
name: string;
|
|
71
|
+
alias?: string | undefined;
|
|
72
|
+
stringId: string | undefined;
|
|
73
|
+
numberId: number;
|
|
74
|
+
}[], options: {
|
|
75
|
+
isDeclare?: boolean;
|
|
76
|
+
isExport: boolean;
|
|
77
|
+
}): void;
|
|
78
|
+
private writeDeclaration;
|
|
79
|
+
writeFieldDeclaration(name: string, type: idl.IDLType, modifiers: FieldModifier[] | undefined, optional: boolean, initExpr?: LanguageExpression): void;
|
|
80
|
+
writeNativeMethodDeclaration(method: Method): void;
|
|
81
|
+
writeMethodDeclaration(name: string, signature: MethodSignature, modifiers?: MethodModifier[]): void;
|
|
82
|
+
writeConstructorImplementation(className: string, signature: MethodSignature, op: (writer: this) => void, delegationCall?: DelegationCall, modifiers?: MethodModifier[]): void;
|
|
83
|
+
writeMethodImplementation(method: Method, op: (writer: this) => void): void;
|
|
84
|
+
writeProperty(propName: string, propType: idl.IDLType, modifiers: FieldModifier[], getter?: {
|
|
85
|
+
method: Method;
|
|
86
|
+
op: () => void;
|
|
87
|
+
}, setter?: {
|
|
88
|
+
method: Method;
|
|
89
|
+
op: () => void;
|
|
90
|
+
}): void;
|
|
91
|
+
writeGetterImplementation(method: Method, op?: (writer: this) => void): void;
|
|
92
|
+
writeSetterImplementation(method: Method, op: (writer: this) => void): void;
|
|
93
|
+
writeTypeDeclaration(decl: idl.IDLTypedef): void;
|
|
94
|
+
writeConstant(constName: string, constType: idl.IDLType, constVal?: string): void;
|
|
95
|
+
makeNull(): LanguageExpression;
|
|
96
|
+
makeAssign(variableName: string, type: idl.IDLType | undefined, expr: LanguageExpression, isDeclared?: boolean, isConst?: boolean, options?: MakeAssignOptions): LanguageStatement;
|
|
97
|
+
makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
|
|
98
|
+
makeThrowError(message: string): LanguageStatement;
|
|
99
|
+
makeReturn(expr: LanguageExpression): LanguageStatement;
|
|
100
|
+
makeCheckOptional(optional: LanguageExpression, doStatement: LanguageStatement): LanguageStatement;
|
|
101
|
+
makeStatement(expr: LanguageExpression): LanguageStatement;
|
|
102
|
+
makeLoop(counter: string, limit: string, statement?: LanguageStatement): LanguageStatement;
|
|
103
|
+
makeMapForEach(map: string, key: string, value: string, op: () => void): LanguageStatement;
|
|
104
|
+
writePrintLog(message: string): void;
|
|
105
|
+
makeCast(value: LanguageExpression, node: idl.IDLNode, options?: MakeCastOptions): LanguageExpression;
|
|
106
|
+
typeInstanceOf(type: idl.IDLEntry, value: string, members?: string[]): LanguageExpression;
|
|
107
|
+
getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
|
|
108
|
+
makeUndefined(): LanguageExpression;
|
|
109
|
+
makeRuntimeType(rt: RuntimeType): LanguageExpression;
|
|
110
|
+
makeTupleAlloc(option: string): LanguageStatement;
|
|
111
|
+
makeArrayInit(type: idl.IDLContainerType, size?: number): LanguageExpression;
|
|
112
|
+
makeArrayLength(array: string, length?: string): LanguageExpression;
|
|
113
|
+
makeClassInit(type: idl.IDLType, paramenters: LanguageExpression[]): LanguageExpression;
|
|
114
|
+
makeMapInit(type: idl.IDLType): LanguageExpression;
|
|
115
|
+
makeMapInsert(keyAccessor: string, key: string, valueAccessor: string, value: string): LanguageStatement;
|
|
116
|
+
makeUnwrapOptional(expression: LanguageExpression): LanguageExpression;
|
|
117
|
+
makeDefinedCheck(value: string): LanguageExpression;
|
|
118
|
+
makeUnionSelector(value: string, valueType: string): LanguageStatement;
|
|
119
|
+
makeUnionVariantCast(value: string, type: string, convertor: ArgConvertor, index: number): LanguageExpression;
|
|
120
|
+
makeValueFromOption(value: string, destinationConvertor: ArgConvertor): LanguageExpression;
|
|
121
|
+
makeUnionVariantCondition(_convertor: ArgConvertor, _valueName: string, valueType: string, type: string, _convertorIndex?: number, _runtimeTypeIndex?: number): LanguageExpression;
|
|
122
|
+
makeRuntimeTypeCondition(typeVarName: string, equals: boolean, type: RuntimeType, varName: string): LanguageExpression;
|
|
123
|
+
getTagType(): idl.IDLType;
|
|
124
|
+
getRuntimeType(): idl.IDLType;
|
|
125
|
+
makeTupleAssign(receiver: string, fields: string[]): LanguageStatement;
|
|
126
|
+
get supportedModifiers(): MethodModifier[];
|
|
127
|
+
get supportedFieldModifiers(): FieldModifier[];
|
|
128
|
+
enumFromI32(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
129
|
+
i32FromEnum(value: LanguageExpression, enumEntry: idl.IDLEnum): LanguageExpression;
|
|
130
|
+
makeEnumEntity(enumEntity: idl.IDLEnum, options: {
|
|
131
|
+
isExport: boolean;
|
|
132
|
+
isDeclare?: boolean;
|
|
133
|
+
}): LanguageStatement;
|
|
134
|
+
castToBoolean(value: string): string;
|
|
135
|
+
castToInt(value: string, bitness: 8 | 32): string;
|
|
136
|
+
makeCallIsObject(value: string): LanguageExpression;
|
|
137
|
+
makeNewObject(objectName: string, params?: LanguageExpression[]): LanguageExpression;
|
|
138
|
+
escapeKeyword(keyword: string): string;
|
|
139
|
+
makeDiscriminatorConvertor(convertor: ArgConvertor, value: string, index: number): LanguageExpression | undefined;
|
|
140
|
+
makeStaticBlock(op: (writer: LanguageWriter) => void): void;
|
|
141
|
+
pushNamespace(namespace: string, options: {
|
|
142
|
+
ident: boolean;
|
|
143
|
+
isDeclared?: boolean;
|
|
144
|
+
}): void;
|
|
145
|
+
popNamespace(options: {
|
|
146
|
+
ident: boolean;
|
|
147
|
+
}): void;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=KotlinLanguageWriter.d.ts.map
|