i moved one of my sources into a jar and attached a source directory. in particular
i moved code of class Util.java into a jar. Now i have a problem with finding references
again.
The difference is quite subtle. There is a flag inside the JQueryBackendPlugin class called detailedClassFiles which may solve the problem. This was implemented well before I started work on the project and has long been disabled mainly because we couldn't scale the database well. It may be worth investigating again since we've made improvements to Tyruba.
We have no plans for that at the moment, but if you cross your fingers, the ancient code that builds detailed class files may work (or be close to working)
Lloyd
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i tried that flag. i did not help. well i saw some details on the fact generation. maybe i dig deeper into it because i also thought about generating my own facts.
in addition i saw that there are two ClassFileBucket classes:
no 1) is used while no 2) contains the flag you mentioned. it is just hard coded in 1). the longer factbase refresh time and debugging confirmed that i set the flag correctly.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Good observation, we do indeed have two copies of this class although I expect the ca.ubc.jquery.engine.tyruba.java package to disappear in the near future.
We're in the process of migrating to the newer resource strategy because, in version 4.0.2, we've significantly reduced the size of fact identifiers which cuts the factbase storage size in half. If you make any changes/additions, I recommend doing so to the classes in ca.ubc.jquery.resource.java.tyruba
i moved one of my sources into a jar and attached a source directory. in particular
i moved code of class Util.java into a jar. Now i have a problem with finding references
again.
Using
child(?this,?X),calls(?X,?M,?L),name(?M,"getInstance")
to find all calls to getInstance in java source
public class UtilCall {
public void test() throws InstantiationException, IllegalAccessException {
Object o = Util.getInstance("someName");
}
}
gives me an empty result. if i have Util.java in a Java File of the project, i do
get a result from my jquery above.
i debugged the newest jquery source and found that
UtilCall.java is parsed by a CompilationUnitBucket and
Util.class with attached source by a ClassFileBucket
then i was lost, because i could not see how facts were created and inserted and
how these two types of visitor differ or not.
using jars with attached sources helps me to discover usages of thirdparty apis.
thanks for any help.
The difference is quite subtle. There is a flag inside the JQueryBackendPlugin class called detailedClassFiles which may solve the problem. This was implemented well before I started work on the project and has long been disabled mainly because we couldn't scale the database well. It may be worth investigating again since we've made improvements to Tyruba.
We have no plans for that at the moment, but if you cross your fingers, the ancient code that builds detailed class files may work (or be close to working)
Lloyd
i tried that flag. i did not help. well i saw some details on the fact generation. maybe i dig deeper into it because i also thought about generating my own facts.
in addition i saw that there are two ClassFileBucket classes:
1) ca.ubc.jquery.resource.java.tyruba.ClassFileBucket
2) ca.ubc.jquery.engine.tyruba.java.ClassFileBucket
no 1) is used while no 2) contains the flag you mentioned. it is just hard coded in 1). the longer factbase refresh time and debugging confirmed that i set the flag correctly.
Good observation, we do indeed have two copies of this class although I expect the ca.ubc.jquery.engine.tyruba.java package to disappear in the near future.
We're in the process of migrating to the newer resource strategy because, in version 4.0.2, we've significantly reduced the size of fact identifiers which cuts the factbase storage size in half. If you make any changes/additions, I recommend doing so to the classes in ca.ubc.jquery.resource.java.tyruba
If you're extending the factbase you may want to check out the recently posted tutorial in the wiki at: http://jquery.wiki.sourceforge.net/Java+Resource+Tutorial+on+Import+Declarations which provides a guide to adding import facts to the JQuery factbase.