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).

1  
srecord noeq InterfaceImplFromByteCode<A>(Class<A> intf, Class returnType, S methodName, Class[] argumentTypes, IVF1<MethodMaker> fillMethod) {
2  
  ClassMaker<A> classMaker;
3  
  MethodMaker methodMaker;
4  
  settable bool printDisassembly;
5  
  
6  
  run {
7  
    classMaker = new ClassMaker<A>(intf);
8  
    classMaker.printDisassembly(printDisassembly);
9  
    methodMaker = MethodMaker(classMaker, returnType, methodName, argumentTypes);
10  
    fillMethod.get(methodMaker);
11  
    methodMaker.done();
12  
  }
13  
  
14  
  A get() {
15  
    if (classMaker == null) run();
16  
    ret classMaker.newInstance();
17  
  }
18  
}

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: 165 / 250
Version history: 2 change(s)
Referenced in: [show references]