diff --git a/ui2abc/libarkts/generator/options.json5 b/ui2abc/libarkts/generator/options.json5 index f9146ba9f958f11a8c825ba4dc8ca0465c1a5165..db68d6b98d55c266885ec4f703ca89f3ed52eb78 100644 --- a/ui2abc/libarkts/generator/options.json5 +++ b/ui2abc/libarkts/generator/options.json5 @@ -192,10 +192,14 @@ { name: "ArrowFunctionExpression", methods: [ + { + name: "Function", + types: ["returnType"] + }, { name: "FunctionConst", types: ["returnType"] - } + }, ] }, { @@ -281,6 +285,10 @@ { name: "MethodDefinition", methods: [ + { + name: "Function", + types: ["returnType"] + }, { name: "FunctionConst", types: ["returnType"] @@ -401,6 +409,10 @@ { interface: "Program", methods: [ + { + name: "getAstCasted", + definition: "extension_ProgramGetAstCasted", + }, { name: "getExternalSources", definition: "extension_ProgramGetExternalSources", diff --git a/ui2abc/libarkts/src/arkts-api/utilities/extensions.ts b/ui2abc/libarkts/src/arkts-api/utilities/extensions.ts index 636c127ef55a2fe37ad54facd109218e802bf030..ebe60d82114a584d8f56abcd254b2ccbf26f8d10 100644 --- a/ui2abc/libarkts/src/arkts-api/utilities/extensions.ts +++ b/ui2abc/libarkts/src/arkts-api/utilities/extensions.ts @@ -29,7 +29,7 @@ import type { import { ExternalSource } from "../peers/ExternalSource" import { Es2pandaModuleFlag } from "../../generated/Es2pandaEnums" import { global } from "../static/global" -import { acceptNativeObjectArrayResult, passNodeArray, unpackNodeArray } from "./private" +import { acceptNativeObjectArrayResult, passNodeArray, unpackNodeArray, unpackNonNullableNode } from "./private" import type { AstNode } from "../peers/AstNode" export function extension_ETSModuleGetNamespaceFlag(this: ETSModule): Es2pandaModuleFlag { @@ -89,6 +89,11 @@ export function extension_ExpressionSetPreferredTypePointer(this: Expression, ty global.es2panda._Checker_ExpressionSetPreferredType(global.context, this.peer, typePointer) } +// Improve: weird API +export function extension_ProgramGetAstCasted(this: Program): ETSModule { + return unpackNonNullableNode(global.generatedEs2panda._ProgramAst(global.context, this.peer)) +} + // Improve: generate methods with string[] args or return type export function extension_ProgramGetExternalSources(this: Program): ExternalSource[] { return acceptNativeObjectArrayResult( diff --git a/ui2abc/libarkts/src/generated/factory.ts b/ui2abc/libarkts/src/generated/factory.ts index 530293ff5dec7fc3e1868b22ffc1ad3a09b69569..75a80ebfe14ec558d18c548838a60666ba0e99d3 100644 --- a/ui2abc/libarkts/src/generated/factory.ts +++ b/ui2abc/libarkts/src/generated/factory.ts @@ -1208,11 +1208,11 @@ export const factory = { return updateNodeByNode(SequenceExpression.createSequenceExpression(sequence), original) } , - createArrowFunctionExpression(_function?: ScriptFunction, annotations?: readonly AnnotationUsage[]): ArrowFunctionExpression { + createArrowFunctionExpression(_function: ScriptFunction, annotations?: readonly AnnotationUsage[]): ArrowFunctionExpression { return ArrowFunctionExpression.createArrowFunctionExpression(_function, annotations) } , - updateArrowFunctionExpression(original: ArrowFunctionExpression, _function?: ScriptFunction, annotations?: readonly AnnotationUsage[]): ArrowFunctionExpression { + updateArrowFunctionExpression(original: ArrowFunctionExpression, _function: ScriptFunction, annotations?: readonly AnnotationUsage[]): ArrowFunctionExpression { if (isSameNativeObject(_function, original.function) && isSameNativeObject(annotations, original.annotations)) return original return updateNodeByNode(ArrowFunctionExpression.createArrowFunctionExpression(_function, annotations), original) diff --git a/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts b/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts index 28a32ae1afac82e79827aa364a5739cdf9423586..94b9d71b03e55d57ecb96de90565beebf0843674 100644 --- a/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts +++ b/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts @@ -69,8 +69,8 @@ export class ArrowFunctionExpression extends Expression { result.setChildrenParentPtr() return result } - get function(): ScriptFunction | undefined { - return unpackNode(global.generatedEs2panda._ArrowFunctionExpressionFunction(global.context, this.peer)) + get function(): ScriptFunction { + return unpackNonNullableNode(global.generatedEs2panda._ArrowFunctionExpressionFunction(global.context, this.peer)) } get createTypeAnnotation(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._ArrowFunctionExpressionCreateTypeAnnotation(global.context, this.peer)) diff --git a/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts b/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts index b85eca1c6fd1a1be952a65fe72f090abe925d22f..e2e43fd36dee66dceebf54f6dcb2506139428990 100644 --- a/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts +++ b/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts @@ -118,8 +118,8 @@ export class MethodDefinition extends ClassElement { global.generatedEs2panda._MethodDefinitionSetAsyncPairMethod(global.context, this.peer, passNode(asyncPairMethod)) return this } - get function(): ScriptFunction | undefined { - return unpackNode(global.generatedEs2panda._MethodDefinitionFunction(global.context, this.peer)) + get function(): ScriptFunction { + return unpackNonNullableNode(global.generatedEs2panda._MethodDefinitionFunction(global.context, this.peer)) } /** @deprecated */ initializeOverloadInfo(): this { diff --git a/ui2abc/libarkts/src/generated/peers/Program.ts b/ui2abc/libarkts/src/generated/peers/Program.ts index a1d31feb5e84534965961ea87585d80561b71bb7..889487fb27ecd2cd8a4a9e578f87bb2e6b486d5c 100644 --- a/ui2abc/libarkts/src/generated/peers/Program.ts +++ b/ui2abc/libarkts/src/generated/peers/Program.ts @@ -38,6 +38,7 @@ import { Es2pandaModuleKind } from "./../Es2pandaEnums" import { Es2pandaProgramFlags } from "./../Es2pandaEnums" import { Es2pandaScriptKind } from "./../Es2pandaEnums" import { SourcePosition } from "./SourcePosition" +import { extension_ProgramGetAstCasted } from "./../../reexport-for-generated" import { extension_ProgramGetExternalSources } from "./../../reexport-for-generated" export class Program extends ArktsObject { @@ -196,6 +197,7 @@ export class Program extends ArktsObject { global.generatedEs2panda._ProgramAddFileDependencies(global.context, this.peer, file, depFile) return this } + getAstCasted = extension_ProgramGetAstCasted getExternalSources = extension_ProgramGetExternalSources protected readonly brandProgram: undefined }