1. 21 Apr, 2015 7 commits
  2. 09 Apr, 2015 1 commit
  3. 02 Apr, 2015 1 commit
  4. 25 Nov, 2014 2 commits
  5. 09 Oct, 2014 1 commit
    • Lubomir Bulej's avatar
      DiSL: use the logging infrastructure instead of standard output/error to produce any messages. · 55b410df
      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()
      55b410df
  6. 08 Oct, 2014 5 commits
  7. 07 Oct, 2014 1 commit
  8. 06 Oct, 2014 4 commits
  9. 01 Oct, 2014 4 commits
  10. 02 Sep, 2014 1 commit
  11. 29 Aug, 2014 4 commits
  12. 15 Aug, 2014 1 commit
    • Lubomir Bulej's avatar
      DiSL: moved transformer related code into Transformers class. · ec5b7a4a
      Lubomir Bulej authored
      DiSL: moved DiSL class initialization into DislClasses class.
      DiSL: moved ClassNode unmarshalling/marshaling code into ClassNodeHelper.
      ClassNodeHelper: encapsulate different loading strategies for snippets and instrumented classes.
      ClassNodeHelper: provide ClassNode duplication code.
      ClassNodeHelper: provide code for marshaling ClassNode into class-files.
      Transformer: moved to disl package.
      Transformer: removed propagateUninstrumentedClasses() method, its purpose is unclear.
      TransformerException: moved to disl package, to be used for exceptions resulting from applying transformers to code.
      TransformerInitializationException: created as a class to be used for exceptions occurring during transformer loading and initialization.
      Transformers: encapsulates transformer loading, initialization, and application code.
      InitException: renamed to DiSLInitializationException to serve as top-level exception for initialization exceptions.
      LocalVars: added put() methods for thread-local and synthetic-local variables.
      LocalVars: getThreadLocals() and getSyntheticLocals() now return unmodifiable maps.
      AbstractParser: use the LocalVars.put() methods to insert local variables into LocalVars.
      DislClassParser: renamed to DislClasses, as it represents the collected snippets.
      DislClasses: moved snippet and argument processor initialization code from DiSL class.
      DislClasses: removed the getProcessors() and getAllLocalVars() methods that are no long necessary.
      ClassByteLoader, DiSL: cleaned up formatting.
      testtools.agent.Transformer: initialize DiSL statically.
      testtools.agent.Transformer: partially cleaned up formatting.
       initialization/loading code 
      ec5b7a4a
  13. 13 Aug, 2014 4 commits
  14. 02 Aug, 2014 3 commits
  15. 28 Jul, 2014 1 commit