(final Decompiler d)
| 94 | } |
| 95 | |
| 96 | @Override |
| 97 | public Operation process(final Decompiler d) { |
| 98 | if(ControlFlowHandler.verbose) { |
| 99 | System.out.print("set expression: "); |
| 100 | cond.asExpression(r).print(d, new Output()); |
| 101 | System.out.println(); |
| 102 | } |
| 103 | if(assign != null) { |
| 104 | assign.replaceValue(target, getValue()); |
| 105 | return new Operation(end - 1) { |
| 106 | |
| 107 | @Override |
| 108 | public List<Statement> process(Registers r, Block block) { |
| 109 | return Arrays.asList(assign); |
| 110 | } |
| 111 | |
| 112 | }; |
| 113 | } else { |
| 114 | return new Operation(end - 1) { |
| 115 | |
| 116 | @Override |
| 117 | public List<Statement> process(Registers r, Block block) { |
| 118 | if(r.isLocal(target, end - 1)) { |
| 119 | return Arrays.asList(new Assignment(r.getTarget(target, end - 1), cond |
| 120 | .asExpression(r), end - 1)); |
| 121 | } |
| 122 | r.setValue(target, end - 1, cond.asExpression(r)); |
| 123 | return Collections.emptyList(); |
| 124 | } |
| 125 | |
| 126 | }; |
| 127 | // return super.process(); |
| 128 | } |
| 129 | } |
| 130 | |
| 131 | } |
nothing calls this directly
no test coverage detected