sidecar icon indicating copy to clipboard operation
sidecar copied to clipboard

Support to extend SidecarBody subclass

Open binsee opened this issue 3 years ago • 0 comments

In use, I wrote a sidecar subclass for use in a formal environment.

@Sidecar('chatbox')
class Test extends SidecarBody {

  @Call(0x42)
  @RetType('pointer', 'Utf8String')
  testMethod(
    @ParamType('pointer', 'Utf8String') content: string,
    @ParamType('int') n: number
  ): Promise<string> {
    return Ret(content, n)
  }

  @Hook(agentTarget('agentVar'))
  hookMethod(@ParamType('int') n: number) {
    return Ret(n)
  }
}

But in development, I need to extend an additional class for isolation use, which needs to inherit the previous class.

@Sidecar('chatbox')
class Test2 extends Test {

  @Call(exportTarget('exportNameTest', 'moduleNameTest'))
  @RetType('pointer', 'Int')
  anotherCall(@ParamType('pointer', 'Int') i: number): Promise<number> {
    return Ret(i)
  }
}

However, currently sidecar cannot obtain the function information declared in the parent class. In order to solve the above requirements, this problem needs to be solved.

binsee avatar May 19 '22 03:05 binsee