Commit Graph

65 Commits

Author SHA1 Message Date
Evgeny Gerashchenko fe27b2264a Passing condition to prefer parent class loader as a parameter to preloader. 2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko f3b7ae379f Passing services via type-safe container instead of map. 2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko 3233317316 Passing class loader instead of factory to compiler. 2014-08-20 13:46:27 +04:00
Evgeny Gerashchenko e419c1a604 Moved incremental cache API to separate package. 2014-08-20 13:46:27 +04:00
Evgeny Gerashchenko 5fade9a5a6 Made incremental cache per-module.
Reused IDEA framework which manages per-module storage.
2014-08-20 13:46:26 +04:00
Alexander Udalov c69303fd1d Fix lots of deprecation warnings on ASM code
In the vast majority of cases it's known that we're calling a class method and
not an interface method
2014-07-26 01:05:03 +04:00
Evgeny Gerashchenko d3e5790674 Passing custom class loader for loading incremental cache implementation. 2014-06-18 22:56:44 +04:00
Alexander Udalov 42d167d17e Add missing copyrights across the project 2014-05-05 20:43:35 +04:00
Nikolay Krasko 4aa3dff2a2 Update to ASM5 2014-04-01 02:55:05 +04:00
Nikolay Krasko 95fd870988 Update to idea 135.666 EAP with asm5 library 2014-04-01 02:55:00 +04:00
Andrey Breslav 2888a6d950 Print preloader results even if the underlying code called System.exit() 2013-11-06 19:50:14 +04:00
Andrey Breslav 41180d78e2 Do not fail with NPE if a class is not found in preloader 2013-10-14 14:42:25 +04:00
Andrey Breslav 33efbc3e91 Migrate to IDEA 130.1225
Fix the class loader to generate proper resource URLs:
we used to have "!" as a JAR separator, but the correct one is "!/", according to the docs here: http://docs.oracle.com/javase/6/docs/api/java/net/JarURLConnection.html
2013-07-23 17:34:33 +04:00
Evgeny Gerashchenko 6d0b8f953d Typo. 2013-06-03 17:40:57 +04:00
Andrey Breslav 551c370242 dumpByteCode flag 2013-05-13 19:49:15 +04:00
Andrey Breslav bb12685004 Allow using anonymous classes as interceptors 2013-05-13 19:49:15 +04:00
Andrey Breslav 39c9cbcd9e Box arguments if needed 2013-05-13 19:49:14 +04:00
Andrey Breslav bdd4296b0d Fix parameter indexing problem 2013-05-13 19:49:14 +04:00
Andrey Breslav ab48f3411a Support @ClassName 2013-05-13 19:49:13 +04:00
Andrey Breslav 3d40d11c98 Example using @MethodName 2013-05-13 19:49:12 +04:00
Andrey Breslav e5b2519aa2 Warn when no relevant methods are found 2013-05-13 19:49:12 +04:00
Andrey Breslav de7fd88373 Warn about using only the first instrumenter 2013-05-13 19:49:11 +04:00
Andrey Breslav f2bf2317f8 Better visible separation between individual instrumenters' outputs 2013-05-13 17:30:19 +04:00
Andrey Breslav cdc375ba06 Preloader's output beautified 2013-05-13 17:30:19 +04:00
Andrey Breslav 2ed217bb4a Some docs and example 2013-05-13 17:30:15 +04:00
Andrey Breslav 9f7a4ffe56 Unneeded interfaces removed 2013-05-13 17:29:58 +04:00
Andrey Breslav 71791d6080 Annotations moved to a separate package 2013-05-13 17:29:57 +04:00
Andrey Breslav d689cc0741 Using 'desc' instead of 'erasedSignature' 2013-05-13 17:29:57 +04:00
Andrey Breslav 9efc885c37 Instrumenter doesn't have to do profiling 2013-05-13 17:29:56 +04:00
Andrey Breslav 7782621617 Do not look for instrumenters in TIME mode 2013-05-13 17:29:56 +04:00
Andrey Breslav afe3ff9b6f done() method moved to where it is used 2013-05-13 17:29:55 +04:00
Andrey Breslav 42de8879fe Code beautified a little 2013-05-13 17:29:14 +04:00
Andrey Breslav 81773a0012 Conventions changed to normalReturn + exception = exit 2013-05-13 17:29:13 +04:00
Andrey Breslav ea7e6a1c12 Unneeded hack removed 2013-05-13 17:29:13 +04:00
Andrey Breslav fe0ec5aafb Support error*() methods 2013-05-13 15:55:54 +04:00
Andrey Breslav 4d8dcb5ea8 Stack size for @AllArgs fixed 2013-05-13 15:55:53 +04:00
Andrey Breslav 23be9f8d44 Fixed the case of using 'this' before throw in constructor 2013-05-13 15:55:53 +04:00
Andrey Breslav dc8fca2532 Support @AllArgs 2013-05-13 15:55:52 +04:00
Andrey Breslav 31ce4d85e8 The case of @This at constructor entry point fixed 2013-05-13 15:55:52 +04:00
Andrey Breslav 098cf477f4 Fix parameter indexing for longs and doubles 2013-05-13 15:55:51 +04:00
Andrey Breslav cae2a5e96f Computing stack depth depending on the actual number of parameters of methods being called 2013-05-13 15:55:51 +04:00
Andrey Breslav b748315304 Support @MethodName and @MethodDesc 2013-05-13 15:55:50 +04:00
Andrey Breslav 3cd1cf0807 Support @This parameters 2013-05-13 15:55:50 +04:00
Andrey Breslav d99ea2a783 Only instrument .class files
+ Report exceptions thrown by the instrumenter with the info of the class name
2013-05-13 15:55:49 +04:00
Andrey Breslav 8dfb39ec19 Allow to dump byte codes of instrumented methods 2013-05-13 15:55:49 +04:00
Andrey Breslav 5fd193d88d Account for maximum stack size
Just using ClassWriter.COMPUTE_FRAMES does not work: it end up with ClassNotFound from somewhere withing ASM
2013-05-13 15:55:48 +04:00
Andrey Breslav 17ddfb6f59 Include class patterns into interceptor's toString 2013-05-13 15:55:48 +04:00
Andrey Breslav 8d22c038d5 Include interceptor data into console output 2013-05-13 15:55:48 +04:00
Andrey Breslav 3440b85867 Remove unneeded interface 2013-05-13 15:55:47 +04:00
Andrey Breslav 113864fc88 Proper debug names for instrumenters 2013-05-13 15:55:47 +04:00