| Finds dependencies on other sources.
look at referenced (used) classes of other sources of the project (extends, interfaces, enums, variables, ...).
calls the source setDependenciesOnOtherSources() that manages the dependencies graph.
[Dec2006]: collect also info about main methods and subclasses
TODO: add all superclasses chain XXX, because they can contain classes YY that can be used in this without
qualifying them (YY insteadof XXX.YY).
other possibility: store all declared types in the SourceFile and allow to locate in the tree.
BUT also the super classes method calls are a kind of dependencies
so it is better to say all superclasses that this exists...
TODO: must also detect Name nodes Name { "Math", ".", "PI" }, this is the way constants are defined...
TODO: should also parse the ID's !!!
for example a.b.c.d.e() => depends on b,c,d,e !! even if not directly imported !!
TODO: in the RAW tree, these are "Expression".
TODO: staic imports too !
|