diff --git a/koala-wrapper/native/src/bridges.cc b/koala-wrapper/native/src/bridges.cc index a2878e7272653fac5d333ed9ca1c1b09af0c936b..f5451cbc1b9756933c3136962ff3192a26859c3b 100644 --- a/koala-wrapper/native/src/bridges.cc +++ b/koala-wrapper/native/src/bridges.cc @@ -776,4 +776,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 5f7fd41c8c80317f451369e53f58f0129ce14368..37b32f42e07bc4e6b3562ce519ccbba36deaf507 100644 --- a/koala-wrapper/src/Es2pandaNativeModule.ts +++ b/koala-wrapper/src/Es2pandaNativeModule.ts @@ -980,6 +980,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 640493db9230ac2589f35e80dd0dbdf4c1154d24..dd3f9171ce821b3418cdef46ab7a823e807c9953 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 834f12cce3dc8ab1262f1048b32aba1174df159f..2a8f0ca3030f2558e4eb5a269bc315a14ce507a3 100644 --- a/koala-wrapper/src/arkts-api/utilities/public.ts +++ b/koala-wrapper/src/arkts-api/utilities/public.ts @@ -338,3 +338,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)`); +}