set BytecodeBodyInterceptors as default for BytecodeFrontend based InputLocations#847
set BytecodeBodyInterceptors as default for BytecodeFrontend based InputLocations#847JonasKlauke merged 57 commits intodevelopfrom
Conversation
3953913 to
78bae3c
Compare
78bae3c to
a7762ee
Compare
…stom selection of BodyInterceptors
a7762ee to
b2939be
Compare
…r JavaClassPathAnalysisInputLocation
|
--> the pipeline runs on a merged branch of targetBranch + currentBranch |
…ecessor if a removed block has more instances of the removed block as a predecessor than the successor has the removed block as predecessor
… successorIdx is now known
…ead to problem of trying to (prepare) replacing an not existing Stmt(just an equivalent one)
…l needed when aggregating failed
sootup.core/src/main/java/sootup/core/jimple/common/stmt/AbstractStmt.java
Show resolved
Hide resolved
sootup.core/src/main/java/sootup/core/jimple/visitor/ReplaceUseStmtVisitor.java
Show resolved
Hide resolved
sootup.java.bytecode/src/main/java/sootup/java/bytecode/interceptors/Aggregator.java
Show resolved
Hide resolved
...p.java.bytecode/src/main/java/sootup/java/bytecode/interceptors/ConditionalBranchFolder.java
Show resolved
Hide resolved
...tecode/src/test/java/sootup/java/bytecode/minimaltestsuite/MinimalBytecodeTestSuiteBase.java
Show resolved
Hide resolved
|
Did this change the public api? If not should we release a 1.2.1 with this |
it should not break from the API from a compilation side -( it was basically an extension/overloading of constructors + fixing stuff in this journey) - but the intention of applying interceptors by default now should be a new minor++ release |
# Conflicts: # sootup.java.bytecode/src/main/java/sootup/java/bytecode/interceptors/CastAndReturnInliner.java # sootup.java.bytecode/src/main/java/sootup/java/bytecode/interceptors/ConstantPropagatorAndFolder.java # sootup.java.bytecode/src/main/java/sootup/java/bytecode/interceptors/CopyPropagator.java
the Interceptor that does not update the Set of Locals when it removes Stmts that eliminate Local defs&usages (The TypeAssigner has Locals that do not existDeadassignmentEliminator: remove Locals, too (investigate TypeAssigner did weird with that wrong info and failed!)tried to extract these to keep the changed files smaller.. unfortunately lead to more errors that are already fixed here.
used regex: (?<!@category(Java[8|9]Test.class))(\spublic\sclass\s(\S*)[T|t]est) scope: test files