Before I start digging into fanx, let me just ask.
I'm working on roundtrip building in Flux, I reflect Pod.list and use the new Repo locations to look up pod.fan files, map pods to their source code, do a first-pass parse to scan for TypeDefs, then load the source at the appropriate Mark for editing and recompile.
And I've got an Actor to monitor for file changes and send a notification to the ui, which (tries to) reload the pods list with reflection, to see the changes.
Apparently something's not happening; I'm guessing that fan builds its type db with references into the pod files, and when I change the pod file with a recompile the references go stale.
Is there a way to force reload the new pod? First thing I'd try is deleting the typedb and see what happens, but I haven't tried it yet. (So I guess it's not the first thing I'd try; first thing I'd try is asking. :-)
brianWed 29 Jul 2009
won't work today - the zip file won't know its been modified and will try to start reading things from the wrong location
KevinKelley Wed 29 Jul 2009
Before I start digging into fanx, let me just ask.
I'm working on roundtrip building in Flux, I reflect Pod.list and use the new Repo locations to look up pod.fan files, map pods to their source code, do a first-pass parse to scan for TypeDefs, then load the source at the appropriate Mark for editing and recompile.
And I've got an Actor to monitor for file changes and send a notification to the ui, which (tries to) reload the pods list with reflection, to see the changes.
Which is giving me exceptions like:
event: Event { id=mouseHover button=0 key= pos=80,289 count=0 } sys::NullErr: java.lang.NullPointerException fanx.fcode.FType.read (FType.java:59) fanx.fcode.FType.read (FType.java:54) fan.sys.ClassType.doReflect (ClassType.java:301) fan.sys.ClassType.reflect (ClassType.java:287) fan.sys.ClassType.emit (ClassType.java:472) fan.sys.FanClassLoader.findClass (FanClassLoader.java:169) java.lang.ClassLoader.loadClass (Unknown) java.lang.ClassLoader.loadClass (Unknown) java.lang.ClassLoader.loadClassInternal (Unknown) podlist::TypeNode.extendsStr (Node.fan:172)Apparently something's not happening; I'm guessing that fan builds its type db with references into the pod files, and when I change the pod file with a recompile the references go stale.
Is there a way to force reload the new pod? First thing I'd try is deleting the typedb and see what happens, but I haven't tried it yet. (So I guess it's not the first thing I'd try; first thing I'd try is asking. :-)
brian Wed 29 Jul 2009
won't work today - the zip file won't know its been modified and will try to start reading things from the wrong location