Commit Graph

55 Commits

Author SHA1 Message Date
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
Andrey Breslav c960dff166 Support logging interceptions 2013-05-13 15:55:46 +04:00
Andrey Breslav 6c60383978 Fix entry point instrumentation 2013-05-13 15:55:46 +04:00
Andrey Breslav 35f2993ec9 Empty string means '.*' pattern 2013-05-13 15:55:45 +04:00
Andrey Breslav 90661e8706 Instrumenting interceptors module 2013-05-13 15:55:45 +04:00
Andrey Breslav 2e1a7179f0 Allow instrumentation in preloader 2013-05-13 15:55:44 +04:00
Andrey Breslav df557faa09 Support done() in class handler 2013-05-13 15:53:09 +04:00
Andrey Breslav 6ebc2cf70b Parsing "notime" fixed 2013-05-07 21:12:44 +03:00
Andrey Breslav a342d4fb61 Usage message fixed 2013-05-07 21:12:43 +03:00
Andrey Breslav bcb6cbc935 Premature optimization removed from preloader 2013-04-26 14:33:33 +04:00
Andrey Breslav 4f967363a6 More callbacks in preloader 2013-04-26 14:33:32 +04:00