- 02 Oct, 2015 1 commit
-
-
Lubomir Bulej authored
Replace Opcodes.ASM4 with Opcodes.ASM5 when constructing ASM classes, as it mainly concerns annotations.
-
- 01 Oct, 2015 7 commits
-
-
Lubomir Bulej authored
-
Lubomir Bulej authored
AsmHelper: reverted the last change, Character is not a Number and is probably never used in this context. Adding a guard there is probably a better idea.
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
Lubomir Bulej authored
ThreadLocalVar: change set/getDefaultValue() to set/getInitialValue() which makes it more clear that it concerns initialization. ThreadLocalVar: removed method getTypeAsDesc() AbstractLocalVar: added method getDescriptor() to replace the one removed from ThreadLocalVar. DiSL, AbstractParser: updated to reflect the changes in ThreadLocalVar. TLVInserter: cleaned up and simplified to use code already present in AsmHelper instead of duplicating it.
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
- 30 Sep, 2015 1 commit
-
-
Yudi Zheng authored
-
- 14 May, 2015 4 commits
-
-
Lubomir Bulej authored
DiSL: updated imports to reflect the above change.
-
Lubomir Bulej authored
Weaver: re-use snippet local variable slots -- such local variables are only valid in the scope of a single snippet.
-
Lubomir Bulej authored
Snippet: move annotation class query into the Snippet class by changing getAnnotationClass() to hasAnnotation() Weaver: updated to query the snippet whether it has a particular annotation. Weaver: cosmetic changes to ease futher changes.
-
Lubomir Bulej authored
UnprocessedCode, SnippetUnprocessedCode: extracted code transformation into separate classes implementing the CodeTransformer interface. SnippetUnprocessedCode: add transformation to reclaim local variable slots taken by snippet context parameters. SnippetUnprocessedCode: add support to query default snippet location. SnippetUnprocessedCode, ReflectionHelper: moved getMethod() and getField() methods to ReflectionHelper. Code: add support to query the number of method parameter slots.
-
- 27 Apr, 2015 4 commits
-
-
Lubomir Bulej authored
- Move class discovery code from the cbloader package into ClassResources class, getting rid of ClassByteLoader and ManifestHelper classes. - Complain and fail early when a DiSL class cannot be found or loaded (thanks to Peter Junos <petoju@gmail.com> for reporting this problem). - Do not fail (only warn) on failure to dump a class to file during instrumentation. - Created InitializationException runtime exception class for initialization failures, replaces DiSLInitializationException checked exception. - Started simplifying exception handling during DiSL initialization (DiSL and transformer class discovery and loading), getting rid of DiSLIOException, ManifestInfoException, ExclusionPrepareException, and TransformerInitializationException. - Moved local variable merging code from DislClasses class to LocalVars class.
-
Lubomir Bulej authored
DiSLServer: rename method to indicate that their failure interrupts server initialization.
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
- 26 Apr, 2015 1 commit
-
-
Lubomir Bulej authored
- Reimplemented the scope matcher. The scope now accepts multiple parameter wild cards, similar to normal textual wild cards. - Added tests for the simpler matchers that comprise a scope matcher, and fixed, extended, and cleaned up the existing scope tests. - Removed ScopeParserException, and replaced it with package-private MalformedScopeException. - Introduced GeneralException class to hold common runtime exception code. - Introduced JavaNames utility class to hold common Java name handling code. - Modified SnippetParser, ExclusionSet to use the new ScopeMatcher.
-
- 21 Apr, 2015 7 commits
-
-
Lubomir Bulej authored
Duration: use the JCL version of the Predicate class.
-
Lubomir Bulej authored
ClientServerRunner, ClientServerEvaluationRunner: use support methods from the Runner base class in the _start() method. ClientServerRunner, ClientServerEvaluationRunner: use RunnerException for Job related problems. ClientServerRunner: cosmetic change in the order of the __startServer() and __startClient() methods.
-
Lubomir Bulej authored
Job: use new-style lambda instead of old-style anonymous class.
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
Lubomir Bulej authored
Thanks to Peter Junos <petoju@gmail.com> for reporting.
-
- 09 Apr, 2015 1 commit
-
-
Lubomir Bulej authored
-
- 02 Apr, 2015 1 commit
-
-
Lubomir Bulej authored
-
- 25 Nov, 2014 2 commits
-
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
- 09 Oct, 2014 1 commit
-
-
Lubomir Bulej authored
DiSL: mark the constructor as deprecated because of the amount of work done in it, and provide an init() static factory method. DiSL: selectShadowsWithGuards() converted to the streams API. DiSL: dropped getters from InstrumentedClass, as it is private class that only serves to return a multi-value result. DiSL: introduce the usage of the CodeOption enums to determine how to instrument code, so far in backwards compatibility mode. AbstractParser: use logger instead of stdout to print out warning. AbstractParser: added ensure*() methods to check for expected properties in snippets. AnnotationMapper: new class for processing Java annotations. ArgProcessorParser: cleaned up the parsing code, switched several loops to the streams API. ContextKind: introduced to represent the various kinds of contexts. DiSLClasses: use a set of CodeOption enums instead of boolean flags when loading DiSL classes. SnippetParser: extracted the Contexts class into ContextUsage class. SnippetParser: cleaned up snippet validation and parsing. ParserRuntimeException: introduced as an internal exception for class parser classes. Code, UnprocessedCode: use MethodNode as a reference to code, instead of separate instruction and try-catch-block lists. Code, UnprocessedCode: drop context kind usage information, because it is not used by any code. Code: only expose information on local variables and static context methods as unmodifiable sets. Code, UnprocessedCode, SnippetCode, SnippetUnprocessedCode: introduce a copy contructor for use in the clone() method. ContextUsage: extracted from SnippetParser and slightly refactored. InvalidStaticContextInvocationException: introduced as an internal exception for code representation classes. UnprocessedCode: added className(), methodName(), and location(AbstractInsn) methods. UnprocessedCode: cleaned up translateThreadLocalVars() method and renamed it to __rewriteThreadLocalVarAccesses(). UnprocessedCode: converted many loops in helper methods to the streams API, sometimes even using parallel streams. ArgumentContextImpl: just wrap ProcMethodInstance instead of duplicating the information. GuardHelper: use ProcMethodInstance in guardApplicable() method instead of passing argument context parameters explicitly. ArgProcessorParserException: repurposed to ParserRuntimeException. ParserException, ParserRuntimeException, ProcessorException, StaticContextGenException: added constructor(s) for formatted messages and cleaned up formatting. ArgProcessor: added getReferencedSCMs() method to collected static context methods referenced in argument processor methods. ArgProcessorKind: removed valueOf(ProcessAlso.Type) because it is not used. ArgProcessorMethod: use Code and UnprocessedCode instead of ProcCode and ProcUnprocessedCode. ArgProcessorMethod: replaced getTypes() with handlesType(ArgProcessorKind) to make the class do more work. ArgProcessorMethod, Snippet: make sure getCode() can be only called after the template code has been expanded. ArgProcessorMethod, Snippet, SnippetUnprocessedCode: use the template code as a source of the snippet origin class and method names. ProcCode, ProcUnprocessedCode: removed, as their function is subsumed by Code and UnprocessedCode classes. PIResolver: cleaned up and simplified the equals() implementation. ProcGenerator: use handlesType() instead of getTypes().contains() on ArgProcessorMethod. ProcGenerator: pass ProcMethodInstance into guardApplicable() invocations, eliminated isPMGuardApplicable() private method. ProcMethodInstance: use Code instead of ProcCode. ProcMethodInstance: renamed getArgPos() to getArgIndex(). ProcMethodInstance: renamed getArgType() to getKind() because that is what it does. ProcMethodInstance: changed getArgTypeDesc() to getArgType() and made it to return Type, instead of string type descriptor to keep the abstraction higher. Snippet: use Integer.compare() on snippet order in the compareTo() method. Snippet: cleaned up code and javadoc formatting. SnippetCode: decorate Code instead of extending it, besides other things it makes cloning much simpler. SnippetCode: build the set of reference static context methods lazily based on the SCMs referenced in the template code and the associated argument processor methods. SnippetUnprocessedCode: decorate UnprocessedCode instead of extending it, makes cloning much simpler. SnippetUnprocessedCode: dropped context kind usage information, it is not used anywhere. SnippetUnprocessedCode, UnprocessedCode: cleaned up and added comments to the process() method. SnippetUnprocessedCode: dropped getters from the privater ProcessorInfo class. SnippetUnprocessedCode: cleaned up the insnInvokesProcessor() method. SnippetUnprocessedCode: cleaned up the insertExceptionHandler() method and renamed it to __insertExceptionHandler(). SnippetUnprocessedCode: cleaned up the insertDynamicBypass() method and renamed it to __insertDynamicBypassControl(). SCGenerator: simplified computeStaticInfo() and cleaned up the formatting. AsmHelper: removed the deprecated helper methods, they now reside closer to where they are used. WeavingCode: reflect the changes in ProcMethodInstance method names. RequestProcessor: use DiSL.init() instead of new DiSL(), and convert "dislserver.disablebypass" property to "disl.disablebypass" to preserve compatibility. OnPlaceTransformer, Transformer: use DiSL.init() instead of new DiSL()
-
- 08 Oct, 2014 5 commits
-
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-
Lubomir Bulej authored
build.xml: prefix properties intended for the test runner with "runner." src-test/*Runner: expect runner-specific properties to have the "runner." prefix src-test/*Runner: minor naming fixes and cosmetic cleanups. src-test/BaseTest: check "test.debug" instead of "disl.test.debug".
-
Lubomir Bulej authored
-
- 07 Oct, 2014 1 commit
-
-
Lubomir Bulej authored
AbstractParser: partially cleaned up formatting to simplify subsequent merges. AbstractParser: changed parameter order in parseAnnotation() to make output parameter last. SnippetParser, ArgProcessorParser: modified to reflect the above changes.
-
- 06 Oct, 2014 4 commits
-
-
Lubomir Bulej authored
-
Lubomir Bulej authored
PIResolver, ProcGenerator, ProcMethodInstance: cleaned up the formatting to simplify subsequent merges.
-
Lubomir Bulej authored
-
Lubomir Bulej authored
-