@idlizer/core 2.0.15
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 +28 -0
- package/build/lib/src/IndentedPrinter.js +81 -0
- package/build/lib/src/Language.d.ts +15 -0
- package/build/lib/src/Language.js +42 -0
- package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +318 -0
- package/build/lib/src/LanguageWriters/ArgConvertors.js +1015 -0
- package/build/lib/src/LanguageWriters/InteropConvertor.d.ts +36 -0
- package/build/lib/src/LanguageWriters/InteropConvertor.js +174 -0
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +386 -0
- package/build/lib/src/LanguageWriters/LanguageWriter.js +746 -0
- package/build/lib/src/LanguageWriters/common.d.ts +17 -0
- package/build/lib/src/LanguageWriters/common.js +33 -0
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.d.ts +8 -0
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.js +35 -0
- package/build/lib/src/LanguageWriters/index.d.ts +3 -0
- package/build/lib/src/LanguageWriters/index.js +3 -0
- package/build/lib/src/LanguageWriters/nameConvertor.d.ts +28 -0
- package/build/lib/src/LanguageWriters/nameConvertor.js +61 -0
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +147 -0
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +578 -0
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.d.ts +46 -0
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.js +121 -0
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +116 -0
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +472 -0
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.d.ts +72 -0
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +329 -0
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.d.ts +83 -0
- package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.js +275 -0
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +93 -0
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +390 -0
- package/build/lib/src/LibraryInterface.d.ts +21 -0
- package/build/lib/src/LibraryInterface.js +2 -0
- package/build/lib/src/config.d.ts +8 -0
- package/build/lib/src/config.js +20 -0
- package/build/lib/src/from-idl/DtsPrinter.d.ts +35 -0
- package/build/lib/src/from-idl/DtsPrinter.js +375 -0
- package/build/lib/src/from-idl/common.d.ts +5 -0
- package/build/lib/src/from-idl/common.js +83 -0
- package/build/lib/src/from-idl/deserialize.d.ts +9 -0
- package/build/lib/src/from-idl/deserialize.js +384 -0
- package/build/lib/src/from-idl/toString.d.ts +2 -0
- package/build/lib/src/from-idl/toString.js +18 -0
- package/build/lib/src/from-idl/webidl2-utils.d.ts +20 -0
- package/build/lib/src/from-idl/webidl2-utils.js +84 -0
- package/build/lib/src/idl.d.ts +404 -0
- package/build/lib/src/idl.js +1015 -0
- package/build/lib/src/idlize.d.ts +4 -0
- package/build/lib/src/idlize.js +52 -0
- package/build/lib/src/index.d.ts +34 -0
- package/build/lib/src/index.js +48 -0
- package/build/lib/src/inheritance.d.ts +16 -0
- package/build/lib/src/inheritance.js +76 -0
- package/build/lib/src/languageSpecificKeywords.d.ts +5 -0
- package/build/lib/src/languageSpecificKeywords.js +51 -0
- package/build/lib/src/library.d.ts +67 -0
- package/build/lib/src/library.js +190 -0
- package/build/lib/src/options.d.ts +11 -0
- package/build/lib/src/options.js +16 -0
- package/build/lib/src/peer-generation/PrimitiveType.d.ts +24 -0
- package/build/lib/src/peer-generation/PrimitiveType.js +52 -0
- package/build/lib/src/peer-generation/ReferenceResolver.d.ts +9 -0
- package/build/lib/src/peer-generation/ReferenceResolver.js +37 -0
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.d.ts +28 -0
- package/build/lib/src/peer-generation/idl/IdlNameConvertor.js +82 -0
- package/build/lib/src/peer-generation/idl/common.d.ts +9 -0
- package/build/lib/src/peer-generation/idl/common.js +70 -0
- package/build/lib/src/peer-generation/unions.d.ts +29 -0
- package/build/lib/src/peer-generation/unions.js +111 -0
- package/build/lib/src/rand_utils.d.ts +6 -0
- package/build/lib/src/rand_utils.js +100 -0
- package/build/lib/src/util.d.ts +75 -0
- package/build/lib/src/util.js +622 -0
- package/package.json +49 -0
- 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 +4547 -0
- package/webidl2.js/package.json +55 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
import { PrimitiveTypeList } from "../../peer-generation/PrimitiveType";
|
|
16
|
+
import { ExpressionStatement, LanguageWriter, Method, ReturnStatement } from "../LanguageWriter";
|
|
17
|
+
////////////////////////////////////////////////////////////////
|
|
18
|
+
// STATEMENTS //
|
|
19
|
+
////////////////////////////////////////////////////////////////
|
|
20
|
+
export class CLikeReturnStatement extends ReturnStatement {
|
|
21
|
+
constructor(expression) {
|
|
22
|
+
super(expression);
|
|
23
|
+
this.expression = expression;
|
|
24
|
+
}
|
|
25
|
+
write(writer) {
|
|
26
|
+
writer.print(this.expression ? `return ${this.expression.asString()};` : "return;");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export class CDefinedExpression {
|
|
30
|
+
constructor(value) {
|
|
31
|
+
this.value = value;
|
|
32
|
+
}
|
|
33
|
+
asString() {
|
|
34
|
+
return `${this.value} != ${PrimitiveTypeList.UndefinedTag}`;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export class CLikeLoopStatement {
|
|
38
|
+
constructor(counter, limit, statement) {
|
|
39
|
+
this.counter = counter;
|
|
40
|
+
this.limit = limit;
|
|
41
|
+
this.statement = statement;
|
|
42
|
+
}
|
|
43
|
+
write(writer) {
|
|
44
|
+
writer.print(`for (int ${this.counter} = 0; ${this.counter} < ${this.limit}; ${this.counter}++) {`);
|
|
45
|
+
if (this.statement) {
|
|
46
|
+
writer.pushIndent();
|
|
47
|
+
this.statement.write(writer);
|
|
48
|
+
writer.popIndent();
|
|
49
|
+
writer.print("}");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class CLikeExpressionStatement extends ExpressionStatement {
|
|
54
|
+
constructor(expression) {
|
|
55
|
+
super(expression);
|
|
56
|
+
this.expression = expression;
|
|
57
|
+
}
|
|
58
|
+
write(writer) {
|
|
59
|
+
const text = this.expression.asString();
|
|
60
|
+
if (text.length > 0) {
|
|
61
|
+
writer.print(`${this.expression.asString()};`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
class CLikeThrowErrorStatement {
|
|
66
|
+
constructor(message) {
|
|
67
|
+
this.message = message;
|
|
68
|
+
}
|
|
69
|
+
write(writer) {
|
|
70
|
+
writer.print(`throw new Error("${this.message}");`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
////////////////////////////////////////////////////////////////
|
|
74
|
+
// WRITER //
|
|
75
|
+
////////////////////////////////////////////////////////////////
|
|
76
|
+
export class CLikeLanguageWriter extends LanguageWriter {
|
|
77
|
+
constructor(printer, resolver, language) {
|
|
78
|
+
super(printer, resolver, language);
|
|
79
|
+
}
|
|
80
|
+
writeFunctionDeclaration(name, signature) {
|
|
81
|
+
this.writeMethodDeclaration(name, signature);
|
|
82
|
+
}
|
|
83
|
+
writeFunctionImplementation(name, signature, op) {
|
|
84
|
+
this.writeMethodImplementation(new Method(name, signature), op);
|
|
85
|
+
}
|
|
86
|
+
makeThrowError(message) {
|
|
87
|
+
return new CLikeThrowErrorStatement(message);
|
|
88
|
+
}
|
|
89
|
+
makeEquals(args) {
|
|
90
|
+
return this.makeNaryOp("==", args);
|
|
91
|
+
}
|
|
92
|
+
writeMethodCall(receiver, method, params, nullable = false) {
|
|
93
|
+
this.printer.print(`${receiver}.${method}(${params.join(", ")});`);
|
|
94
|
+
}
|
|
95
|
+
writeMethodDeclaration(name, signature, modifiers) {
|
|
96
|
+
this.writeDeclaration(name, signature, modifiers, ";");
|
|
97
|
+
}
|
|
98
|
+
writeEnum(name, members, op) {
|
|
99
|
+
throw new Error("WriteEnum for C-family languages is not implemented");
|
|
100
|
+
}
|
|
101
|
+
writeMethodImplementation(method, op) {
|
|
102
|
+
this.writeDeclaration(method.name, method.signature, method.modifiers);
|
|
103
|
+
this.printer.print(`{`);
|
|
104
|
+
this.pushIndent();
|
|
105
|
+
op(this);
|
|
106
|
+
this.popIndent();
|
|
107
|
+
this.printer.print(`}`);
|
|
108
|
+
}
|
|
109
|
+
writeDeclaration(name, signature, modifiers, postfix) {
|
|
110
|
+
let prefix = modifiers === null || modifiers === void 0 ? void 0 : modifiers.filter(it => this.supportedModifiers.includes(it)).map(it => this.mapMethodModifier(it)).join(" ");
|
|
111
|
+
prefix = prefix ? prefix + " " : "";
|
|
112
|
+
this.print(`${prefix}${this.stringifyMethodReturnType(signature.returnType, signature.retHint())} ${name}(${signature.args.map((it, index) => `${this.stringifyMethodArgType(it, signature.argHint(index))} ${signature.argName(index)}`).join(", ")})${postfix !== null && postfix !== void 0 ? postfix : ""}`);
|
|
113
|
+
}
|
|
114
|
+
stringifyMethodReturnType(type, _) {
|
|
115
|
+
return this.getNodeName(type);
|
|
116
|
+
}
|
|
117
|
+
stringifyMethodArgType(type, _) {
|
|
118
|
+
return this.getNodeName(type);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=CLikeLanguageWriter.js.map
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { IDLContainerType, IDLEnum, IDLNode, IDLType } from '../../idl';
|
|
2
|
+
import { ArgConvertor, BaseArgConvertor } from "../ArgConvertors";
|
|
3
|
+
import { PrimitiveTypeList } from "../../peer-generation/PrimitiveType";
|
|
4
|
+
import { AssignStatement, FieldModifier, LanguageExpression, LanguageStatement, LanguageWriter, MakeAssignOptions, MakeCastOptions, MakeRefOptions, Method, PrintHint, MethodModifier, MethodSignature, NamedMethodSignature, ObjectArgs } from "../LanguageWriter";
|
|
5
|
+
import { CLikeLanguageWriter } from "./CLikeLanguageWriter";
|
|
6
|
+
import { IdlNameConvertor } from "../nameConvertor";
|
|
7
|
+
import { RuntimeType } from "../common";
|
|
8
|
+
import { IndentedPrinter } from "../../IndentedPrinter";
|
|
9
|
+
import { ReferenceResolver } from "../../peer-generation/ReferenceResolver";
|
|
10
|
+
export declare class CppCastExpression implements LanguageExpression {
|
|
11
|
+
convertor: IdlNameConvertor;
|
|
12
|
+
value: LanguageExpression;
|
|
13
|
+
type: IDLType;
|
|
14
|
+
private options?;
|
|
15
|
+
constructor(convertor: IdlNameConvertor, value: LanguageExpression, type: IDLType, options?: MakeCastOptions | undefined);
|
|
16
|
+
asString(): string;
|
|
17
|
+
private mapTypeWithReceiver;
|
|
18
|
+
}
|
|
19
|
+
export declare class CppPointerPropertyAccessExpression implements LanguageExpression {
|
|
20
|
+
expression: string;
|
|
21
|
+
name: string;
|
|
22
|
+
constructor(expression: string, name: string);
|
|
23
|
+
asString(): string;
|
|
24
|
+
}
|
|
25
|
+
export declare class CppAssignStatement extends AssignStatement {
|
|
26
|
+
variableName: string;
|
|
27
|
+
type: IDLType | undefined;
|
|
28
|
+
expression: LanguageExpression | undefined;
|
|
29
|
+
isDeclared: boolean;
|
|
30
|
+
isConst: boolean;
|
|
31
|
+
protected options?: MakeAssignOptions | undefined;
|
|
32
|
+
constructor(variableName: string, type: IDLType | undefined, expression: LanguageExpression | undefined, isDeclared?: boolean, isConst?: boolean, options?: MakeAssignOptions | undefined);
|
|
33
|
+
write(writer: CppLanguageWriter): void;
|
|
34
|
+
}
|
|
35
|
+
export declare class CppLanguageWriter extends CLikeLanguageWriter {
|
|
36
|
+
private primitivesTypes;
|
|
37
|
+
protected typeConvertor: IdlNameConvertor;
|
|
38
|
+
constructor(printer: IndentedPrinter, resolver: ReferenceResolver, typeConvertor: IdlNameConvertor, primitivesTypes: PrimitiveTypeList);
|
|
39
|
+
getNodeName(type: IDLNode): string;
|
|
40
|
+
fork(options?: {
|
|
41
|
+
resolver?: ReferenceResolver;
|
|
42
|
+
}): LanguageWriter;
|
|
43
|
+
writeClass(name: string, op: (writer: this) => void, superClass?: string, interfaces?: string[]): void;
|
|
44
|
+
writeInterface(name: string, op: (writer: this) => void, superInterfaces?: string[]): void;
|
|
45
|
+
writeMethodCall(receiver: string, method: string, params: string[], nullable?: boolean): void;
|
|
46
|
+
writeFieldDeclaration(name: string, type: IDLType, modifiers: FieldModifier[] | undefined, optional: boolean, initExpr?: LanguageExpression): void;
|
|
47
|
+
writeConstructorImplementation(className: string, signature: MethodSignature, op: (writer: this) => void, superCall?: Method, modifiers?: MethodModifier[]): void;
|
|
48
|
+
writeProperty(propName: string, propType: IDLType, mutable?: boolean): void;
|
|
49
|
+
/**
|
|
50
|
+
* Writes multiline comments decorated with stars
|
|
51
|
+
*/
|
|
52
|
+
writeMultilineCommentBlock(lines: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Writes `#include "path"`
|
|
55
|
+
* @param path File path to be included
|
|
56
|
+
*/
|
|
57
|
+
writeInclude(path: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* Writes `#include <path>`
|
|
60
|
+
* @param path File path to be included
|
|
61
|
+
*/
|
|
62
|
+
writeGlobalInclude(path: string): void;
|
|
63
|
+
makeRef(type: IDLType, options?: MakeRefOptions): IDLType;
|
|
64
|
+
makeThis(): LanguageExpression;
|
|
65
|
+
makeNull(): LanguageExpression;
|
|
66
|
+
makeValueFromOption(value: string): LanguageExpression;
|
|
67
|
+
makeThrowError(message: string): LanguageStatement;
|
|
68
|
+
makeAssign(variableName: string, type: IDLType | undefined, expr: LanguageExpression | undefined, isDeclared?: boolean, isConst?: boolean, options?: MakeAssignOptions): LanguageStatement;
|
|
69
|
+
makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
|
|
70
|
+
makeReturn(expr: LanguageExpression): LanguageStatement;
|
|
71
|
+
makeCheckOptional(optional: LanguageExpression, doStatement: LanguageStatement): LanguageStatement;
|
|
72
|
+
makeStatement(expr: LanguageExpression): LanguageStatement;
|
|
73
|
+
makeArrayAccess(value: string, indexVar: string): LanguageExpression;
|
|
74
|
+
makeTupleAccess(value: string, index: number): LanguageExpression;
|
|
75
|
+
makeUnionSelector(value: string, valueType: string): LanguageStatement;
|
|
76
|
+
makeUnionVariantCondition(_convertor: ArgConvertor, _valueName: string, valueType: string, type: string, convertorIndex: number): LanguageExpression;
|
|
77
|
+
makeUnionVariantCast(value: string, type: string, convertor: ArgConvertor, index: number): LanguageExpression;
|
|
78
|
+
makeLoop(counter: string, limit: string, statement?: LanguageStatement): LanguageStatement;
|
|
79
|
+
makeMapForEach(map: string, key: string, value: string, op: () => void): LanguageStatement;
|
|
80
|
+
makeArrayInit(type: IDLContainerType): LanguageExpression;
|
|
81
|
+
makeClassInit(type: IDLType, paramenters: LanguageExpression[]): LanguageExpression;
|
|
82
|
+
makeMapInit(type: IDLType): LanguageExpression;
|
|
83
|
+
makeArrayResize(array: string, arrayType: string, length: string, deserializer: string): LanguageStatement;
|
|
84
|
+
makeMapResize(mapTypeName: string, keyType: IDLType, valueType: IDLType, map: string, size: string, deserializer: string): LanguageStatement;
|
|
85
|
+
makeCast(expr: LanguageExpression, type: IDLType, options?: MakeCastOptions): LanguageExpression;
|
|
86
|
+
makePointerPropertyAccessExpression(expression: string, name: string): CppPointerPropertyAccessExpression;
|
|
87
|
+
writePrintLog(message: string): void;
|
|
88
|
+
makeDefinedCheck(value: string): LanguageExpression;
|
|
89
|
+
makeSetUnionSelector(value: string, index: string): LanguageStatement;
|
|
90
|
+
makeSetOptionTag(value: string, tag: LanguageExpression): LanguageStatement;
|
|
91
|
+
getObjectAccessor(convertor: BaseArgConvertor, value: string, args?: ObjectArgs): string;
|
|
92
|
+
makeUndefined(): LanguageExpression;
|
|
93
|
+
makeVoid(): LanguageExpression;
|
|
94
|
+
makeRuntimeType(rt: RuntimeType): LanguageExpression;
|
|
95
|
+
makeMapInsert(keyAccessor: string, key: string, valueAccessor: string, value: string): LanguageStatement;
|
|
96
|
+
getTagType(): IDLType;
|
|
97
|
+
getRuntimeType(): IDLType;
|
|
98
|
+
makeTupleAssign(receiver: string, tupleFields: string[]): LanguageStatement;
|
|
99
|
+
get supportedModifiers(): MethodModifier[];
|
|
100
|
+
get supportedFieldModifiers(): FieldModifier[];
|
|
101
|
+
enumFromOrdinal(value: LanguageExpression, type: IDLType): LanguageExpression;
|
|
102
|
+
ordinalFromEnum(value: LanguageExpression, _: IDLType): LanguageExpression;
|
|
103
|
+
makeUnsafeCast(convertor: ArgConvertor, param: string): string;
|
|
104
|
+
makeUnsafeCast_(value: LanguageExpression, type: IDLType, typeOptions?: PrintHint): string;
|
|
105
|
+
makeEnumCast(value: string, _unsafe: boolean, convertor: ArgConvertor | undefined): string;
|
|
106
|
+
escapeKeyword(name: string): string;
|
|
107
|
+
makeEnumEntity(enumEntity: IDLEnum, isExport: boolean): LanguageStatement;
|
|
108
|
+
private decayTypeName;
|
|
109
|
+
stringifyMethodReturnType(type: IDLType, hint?: PrintHint): string;
|
|
110
|
+
stringifyMethodArgType(type: IDLType, hint?: PrintHint): string;
|
|
111
|
+
stringifyTypeWithReceiver(type: IDLType, receiver?: string): string;
|
|
112
|
+
makeSerializerConstructorSignature(): NamedMethodSignature | undefined;
|
|
113
|
+
makeLengthSerializer(serializer: string, value: string): LanguageStatement | undefined;
|
|
114
|
+
makeLengthDeserializer(deserializer: string): LanguageStatement | undefined;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=CppLanguageWriter.d.ts.map
|