diff --git a/koala-wrapper/native/src/bridges.cc b/koala-wrapper/native/src/bridges.cc index 380cab265664a6d45de5f175cbd550fb8eb935d3..283e500ddeeaa8f4a84af973e05bfc45d2d6516a 100644 --- a/koala-wrapper/native/src/bridges.cc +++ b/koala-wrapper/native/src/bridges.cc @@ -827,4 +827,24 @@ KNativePointer impl_CreateTypeNodeFromTsType(KNativePointer context, KNativePoin auto _typeAnnotation = GetImpl()->CreateOpaqueTypeNode(_context, _nodeTsType); return _typeAnnotation; } -KOALA_INTEROP_2(CreateTypeNodeFromTsType, KNativePointer, KNativePointer, KNativePointer); \ No newline at end of file +KOALA_INTEROP_2(CreateTypeNodeFromTsType, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_NumberLiteralStrConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + + auto result = GetImpl()->NumberLiteralStrConst(_context, _receiver); + return new std::string(result); +} +KOALA_INTEROP_2(NumberLiteralStrConst, KNativePointer, KNativePointer, KNativePointer); + +static KNativePointer impl_GetLicenseFromRootNode(KNativePointer contextPtr, KNativePointer decl) +{ + auto context = reinterpret_cast(contextPtr); + auto node = reinterpret_cast(decl); + + auto result = GetImpl()->GetLicenseFromRootNode(context, node); + return new std::string(result); +} +KOALA_INTEROP_2(GetLicenseFromRootNode, KNativePointer, KNativePointer, KNativePointer); \ No newline at end of file diff --git a/koala-wrapper/src/Es2pandaNativeModule.ts b/koala-wrapper/src/Es2pandaNativeModule.ts index 2ade57a5adb790745ec5c02ff8685ff204062eb0..22c1c81302b9e73b972fa6a2f3553d2e099c2996 100644 --- a/koala-wrapper/src/Es2pandaNativeModule.ts +++ b/koala-wrapper/src/Es2pandaNativeModule.ts @@ -993,6 +993,10 @@ export class Es2pandaNativeModule { throw new Error('Not implemented'); } + _GetLicenseFromRootNode(context: KNativePointer, decl: KNativePointer): KStringPtr { + throw new Error('Not implemented'); + } + } export function initEs2panda(): Es2pandaNativeModule { diff --git a/koala-wrapper/src/arkts-api/types.ts b/koala-wrapper/src/arkts-api/types.ts index 530c5bf7af7ea002a35eb1c413605f4a900542c4..5d7940282a43d3be598140541ccf647cb75a8f47 100644 --- a/koala-wrapper/src/arkts-api/types.ts +++ b/koala-wrapper/src/arkts-api/types.ts @@ -124,6 +124,10 @@ export class EtsScript extends AstNode { get isNamespace(): boolean { return global.generatedEs2panda._ETSModuleIsNamespaceConst(global.context, this.peer); } + + get ident(): Identifier | undefined { + return unpackNode(global.generatedEs2panda._ETSModuleIdentConst(global.context, this.peer)); + } } export class ExpressionStatement extends AstNode { @@ -347,6 +351,10 @@ export class NumberLiteral extends Literal { return new NumberLiteral(global.es2panda._CreateNumberLiteral(global.context, value)); } + get strValue(): string { + return unpackString(global.generatedEs2panda._NumberLiteralStrConst(global.context, this.peer)); + } + protected override dumpMessage(): string { return ` `; } diff --git a/koala-wrapper/src/arkts-api/utilities/public.ts b/koala-wrapper/src/arkts-api/utilities/public.ts index b7e5706196b31a9e5c0fc00c8dfb2a3f2595f542..2409e77184bb0cbbfa333c4b2052cf65bed6b687 100644 --- a/koala-wrapper/src/arkts-api/utilities/public.ts +++ b/koala-wrapper/src/arkts-api/utilities/public.ts @@ -340,3 +340,7 @@ export function createTypeNodeFromTsType(node: AstNode): AstNode | undefined { } return unpackNonNullableNode(typeAnnotation); } + +export function getLicenseFromRootNode(decl: AstNode): string { + return withStringResult(global.es2panda._GetLicenseFromRootNode(global.context, decl.peer)) ?? throwError(`failed to unpack (peer shouldn't be NULLPTR)`); +}