valb3r / classanalyzer Goto Github PK
View Code? Open in Web Editor NEWCreates neo4j graph layout of classes and their relationships from a jar-application mapping
Creates neo4j graph layout of classes and their relationships from a jar-application mapping
New relationship (UsesClassName) to describe that method body references things like String.class (to handle cases Object value = ctx.get(String.class) - probably value is String)
Within enum static new operators (create operations) are not resolved - not seen call relationship [enum/static calls]
When method is called with possibly known class (PossiblyCalledAsSuper) class which is different from argument type (is i.e. super) called method should be reparsed to add extra relations to this precise class (call relationship should go not only to super but to this class as well - new relationship PossiblyDeducedCall. Triggered only when ctx is in prescribed class name list -PCtxClasses)
Add Get/Put relation of actions done on fields within method body
When method is called with known class which is different from argument type (is i.e. super) called method should be reparsed to add extra relations to this precise class (call relationship should go not only to super but to this class as well - new relationship DeducedCall)
Trace operations on object produced by method body calls consuming UsesClassName relation and if returned object is super class of UsesClassName then save as additional calls to UsesClassName with relationship PossiblyCalledAsSuper (treat returned object as subclass - Object value = ctx.get(String.class) -> deduced value is String because get returns super class of String. Triggered only when ctx is in prescribed class name list -PCtxClasses)
Trace cases String s; Object a = (Object) s; and add extra Call relationships assuming a is String
Lambdas should be expanded in place where they are called by analyzing function bytecode
Lambdas should be simply expanded when proper invokedynamic instruction is found (this doesn't mean function was called - only loaded)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.