hxtsdgen
hxtsdgen copied to clipboard
[BUG] Cannot call null
Hi, wanted to try to generate types for my lib using this library but get that not really informative error:
Uncaught exception Cannot call null
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/Selector.hx:88: characters 26-39 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/TypeRenderer.hx:50: characters 55-76 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/ArgsRenderer.hx:29: characters 39-61 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:377: characters 65-91 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:181: characters 35-86 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:88: characters 19-40 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:164: lines 164-205 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:54: characters 38-72 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/Selector.hx:77: characters 21-48 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/TypeRenderer.hx:26: characters 25-46 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:357: characters 71-103 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:191: characters 25-75 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:88: characters 19-40 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:164: lines 164-205 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:54: characters 38-72 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/Selector.hx:77: characters 21-48 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/TypeRenderer.hx:26: characters 25-46 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:116: characters 79-104 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:347: characters 28-95 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:191: characters 25-75 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:88: characters 19-40 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:164: lines 164-205 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:54: characters 38-72 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/Selector.hx:77: characters 21-48 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/TypeRenderer.hx:26: characters 25-46 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:357: characters 71-103 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:191: characters 25-75 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:88: characters 19-40 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:164: lines 164-205 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:54: characters 38-72 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/CodeGen.hx:36: characters 9-39 : Called from here
#REDACTED#/.haxelib/hxtsdgen/0,3,0/src/hxtsdgen/Generator.hx:75: characters 28-46 : Called from here
[xunto@gunter]: ~>$ haxe --version
4.1.3
Something is crashing when it tries resolving some types. Maybe a typedef of typedef or anon. Is the lib open source?
Otherwise you can try checking out the lib from git (you can use haxelib git
for that) and modify the code in Selector.hx
at line 88 and guard for ab.impl
being null
. Maybe trace(ab)
in this case to see what type it's trying to resolve.
@elsassph Hi, thank you for your answer! I tried to do what you asked. The library is not opensource yet.
Output:
#REDACTED#/.haxelib/hxtsdgen/git/src/hxtsdgen/Selector.hx:88: {module: Class, impl: null, name: Class, isPrivate: false, from: [], unops: [], binops: [], doc:
An abstract type that represents a Class.
See `Type` for the Haxe Reflection API.
@see https://haxe.org/manual/types-class-instance.html
, params: [{name: T, t: TInst(Class.T,[])}], array: [], pos: #pos(/usr/share/haxe/std/Class.hx:30: characters 27-47), pack: [], resolveWrite: null, resolve: null, meta: {get: #fun, remove: #fun, has: #fun, extract: #fun, add: #fun}, to: [], type: TAbstract(Class,[TInst(Class.T,[])]), __t: haxe.macro.TypeDecl}
Seems to be a problem with the Class
class. I use it a lot in my custom EventBus (to register to an event).