Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

18
LINES

< > BotCompany Repo | #1034336 // InterfaceImplFromByteCode

JavaX fragment (include) [tags: use-pretranspiled]

Uses 679K of libraries. Click here for Pure Java version (10317L/59K).

srecord noeq InterfaceImplFromByteCode<A>(Class<A> intf, Class returnType, S methodName, Class[] argumentTypes, IVF1<MethodMaker> fillMethod) {
  ClassMaker<A> classMaker;
  MethodMaker methodMaker;
  settable bool printDisassembly;
  
  run {
    classMaker = new ClassMaker<A>(intf);
    classMaker.printDisassembly(printDisassembly);
    methodMaker = MethodMaker(classMaker, returnType, methodName, argumentTypes);
    fillMethod.get(methodMaker);
    methodMaker.done();
  }
  
  A get() {
    if (classMaker == null) run();
    ret classMaker.newInstance();
  }
}

Author comment

Began life as a copy of #1034319

download  show line numbers  debug dex  old transpilations   

Travelled to 4 computer(s): bhatertpkbcr, ekrmjmnbrukm, mowyntqkapby, mqqgnosmbjvj

No comments. add comment

Snippet ID: #1034336
Snippet name: InterfaceImplFromByteCode
Eternal ID of this version: #1034336/3
Text MD5: fbde576376445907074ab8f8c06e5166
Transpilation MD5: 415a414b8112d77557fd19065acdc7f3
Author: stefan
Category: javax / left arrow script
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2022-02-02 22:21:26
Source code size: 586 bytes / 18 lines
Pitched / IR pitched: No / No
Views / Downloads: 164 / 249
Version history: 2 change(s)
Referenced in: #1003674 - Standard Classes + Interfaces (LIVE continued in #1034167)