-
-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
port intraprocedural analysis and fix the long tail.. #664
Conversation
…, as it is used with another instance directly in the ClassSources, too
|
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #664 +/- ##
=============================================
- Coverage 65.37% 64.05% -1.33%
- Complexity 3408 3430 +22
=============================================
Files 313 317 +4
Lines 14973 15385 +412
Branches 2524 2613 +89
=============================================
+ Hits 9789 9855 +66
- Misses 4294 4622 +328
- Partials 890 908 +18
☔ View full report in Codecov by Sentry. |
…types and moving fields to subclasses to remove necessity of internal casts
… denotes Values that can be used on the left handside of an Assignment - eliminates another runtime check for allowed variable ie leftOp types in JAssignStmt
and i hope its only the (already) wrong order that makes a leftover of the $stack3 which should be the r0 as well.. |
When I use commit
|
please share the complete StackTrace. |
When enable
when disable
the url is too long, so i deleted something like here is classes file sootUp setup
|
disable |
- doesn't always remove all edges when removing at the tail - returns a boolean indicating if an edge was removed
…DeadAssignmentEliminator`
Fix some issues in `MutableBlockStmtGraph`
… non-FallsThroughStmt.. now: giving the modifier more power over branching successors
@struce2 can you check if the error still occurs with your input? |
Works fine without error |
…rs can not be added as they are FallsThroughStmt nor BranchingStmt
# Conflicts: # sootup.java.bytecode/src/test/java/sootup/java/bytecode/Soot1577.java # sootup.java.bytecode/src/test/java/sootup/java/bytecode/minimaltestsuite/java11/TypeInferenceLambdaTest.java # sootup.java.bytecode/src/test/java/sootup/java/bytecode/minimaltestsuite/java8/MethodAcceptingLamExprTest.java
sootup.core/src/main/java/sootup/core/jimple/common/stmt/Stmt.java
Outdated
Show resolved
Hide resolved
....java.bytecode/src/main/java/sootup/java/bytecode/interceptors/BytecodeBodyInterceptors.java
Outdated
Show resolved
Hide resolved
...p.java.bytecode/src/main/java/sootup/java/bytecode/interceptors/ConditionalBranchFolder.java
Outdated
Show resolved
Hide resolved
sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/AggregatorTest.java
Outdated
Show resolved
Hide resolved
# Conflicts: # sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/AggregatorTest.java
for deca and other more elaborated BodyInterceptors that were added to soot in the meantime.
FallsThroughStmt
and makeStmt
,BranchingStmt
and newFallsThroughStmt
InterfacesMutableStmtGraph.insertBefore(...)
fix LocalSplitter - seems it starts already here - (or better port the newer/improved one in Soot?) as it does not (replace all former Local references in Stmts?) anyway it creates a precondition in a way that the DeadAssignmentEliminator wants to remove stmts which it does not when the LocalSplitter is not called. Which means it has leftovers in the StmtGraph or does something else wrong. Have a look at the newest LocalSplitter in Soot before fixing the current port as it seems to be a more precise algorithm.couldnt reproduce this assumption - deadassignmenteliminator failed in the mentioned commit already on its ownStmtgraph
edges which gives the developer the necessary power to modify the correct successor of a BranchingStmt - putEdge(FallsThroughStmt, Stmt) works like before and putEdge(Stmt, int, Stmt) needs a successorIdx according to the semantics of the respective BranchingStmt.putEdge(Stmt, int, Stmt)
all Stmts that have no successor like return/throw can't be used as a first Argument as they would fail already at compiletime.closes #667, #692