removed duplication of pseudocode in tests

for local functions
This commit is contained in:
Svetlana Isakova
2014-03-04 19:07:45 +04:00
parent ec47821567
commit 1fc4573a8c
7 changed files with 0 additions and 184 deletions
@@ -70,16 +70,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d({1})]
L3:
<START>
mark(1)
r(1)
L4:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== anonymous_0 ==
{1}
@@ -124,27 +124,6 @@ error:
<ERROR> PREV:[jmp(error)]
sink:
<SINK> PREV:[<ERROR>, <END>, d({ () -> if (2 > 3) { return@ } })]
L4:
<START>
mark(if (2 > 3) { return@ })
mark(if (2 > 3) { return@ })
mark(2 > 3)
r(2)
r(3)
call(>, compareTo)
jf(L6) NEXT:[read (Unit), mark({ return@ })]
mark({ return@ })
ret L5 NEXT:[<END>]
- jmp(L7) NEXT:[<END>] PREV:[]
L6:
read (Unit) PREV:[jf(L6)]
L5:
L7:
<END> NEXT:[<SINK>] PREV:[ret L5, read (Unit)]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== anonymous_0 ==
{ () ->
@@ -204,43 +183,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d({ () -> try { 1 if (2 > 3) { return@ } } finally { 2 } })]
L3:
<START>
mark(try { 1 if (2 > 3) { return@ } } finally { 2 })
mark(try { 1 if (2 > 3) { return@ } } finally { 2 })
jmp?(L5 [onExceptionToFinallyBlock]) NEXT:[mark({ 2 }), mark({ 1 if (2 > 3) { return@ } })]
mark({ 1 if (2 > 3) { return@ } })
r(1)
mark(if (2 > 3) { return@ })
mark(2 > 3)
r(2)
r(3)
call(>, compareTo)
jf(L6) NEXT:[read (Unit), mark({ return@ })]
mark({ return@ })
L7 [start finally]:
mark({ 2 })
r(2)
L8 [finish finally]:
ret L4 NEXT:[<END>]
- jmp(L9) NEXT:[jmp(L10 [skipFinallyToErrorBlock])] PREV:[]
L6:
read (Unit) PREV:[jf(L6)]
L9:
jmp(L10 [skipFinallyToErrorBlock]) NEXT:[mark({ 2 })]
L5 [onExceptionToFinallyBlock]:
mark({ 2 }) PREV:[jmp?(L5 [onExceptionToFinallyBlock])]
r(2)
jmp(error) NEXT:[<ERROR>]
L10 [skipFinallyToErrorBlock]:
mark({ 2 }) PREV:[jmp(L10 [skipFinallyToErrorBlock])]
r(2)
L4:
<END> NEXT:[<SINK>] PREV:[ret L4, r(2)]
error:
<ERROR> PREV:[jmp(error)]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== anonymous_1 ==
{ () ->
@@ -17,16 +17,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d({})]
L3:
<START>
mark()
read (Unit)
L4:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== anonymous_0 ==
{}
@@ -149,17 +149,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d(fun inner_bar() { y = 10 })]
L3:
<START>
mark({ y = 10 })
r(10)
w(y)
L4:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== inner_bar ==
fun inner_bar() {
@@ -213,17 +202,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d(fun ggg() { y = 10 })]
L3:
<START>
mark({ y = 10 })
r(10)
w(y)
L4:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== ggg ==
fun ggg() {
@@ -283,28 +261,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d(fun foo() { x = 3 }), d(fun bar() { x = 4 })]
L3:
<START>
mark({ x = 3 })
r(3)
w(x)
L4:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
L6:
<START>
mark({ x = 4 })
r(4)
w(x)
L7:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== foo ==
fun foo() {
@@ -23,35 +23,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d(fun f() { val x = "" fun loc() { val x3 = "" } })]
L3:
<START>
mark({ val x = "" fun loc() { val x3 = "" } })
v(val x = "")
mark("")
r("")
w(x)
jmp?(L5) NEXT:[<END>, d(fun loc() { val x3 = "" })]
d(fun loc() { val x3 = "" }) NEXT:[<SINK>]
L4:
L5:
<END> NEXT:[<SINK>] PREV:[jmp?(L5)]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d(fun loc() { val x3 = "" })]
L6:
<START>
mark({ val x3 = "" })
v(val x3 = "")
mark("")
r("")
w(x3)
L7:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== f ==
fun f() {
@@ -78,19 +49,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d(fun loc() { val x3 = "" })]
L6:
<START>
mark({ val x3 = "" })
v(val x3 = "")
mark("")
r("")
w(x3)
L7:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== loc ==
fun loc() {
@@ -22,18 +22,6 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d(get() { val b: Int return b })]
L3:
<START>
mark({ val b: Int return b })
v(val b: Int)
r(b)
ret(*) L4
L4:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== get_a ==
get() {
@@ -211,7 +211,6 @@ public abstract class AbstractControlFlowTest extends KotlinTestWithEnvironment
List<Instruction> instructions = pseudocode.getAllInstructions();
Set<Instruction> remainedAfterPostProcessInstructions = Sets.newHashSet(pseudocode.getInstructions());
List<PseudocodeImpl.PseudocodeLabel> labels = pseudocode.getLabels();
List<PseudocodeImpl> locals = new ArrayList<PseudocodeImpl>();
int maxLength = 0;
int maxNextLength = 0;
for (Instruction instruction : instructions) {
@@ -238,10 +237,6 @@ public abstract class AbstractControlFlowTest extends KotlinTestWithEnvironment
}
for (int i = 0; i < instructions.size(); i++) {
Instruction instruction = instructions.get(i);
if (instruction instanceof LocalFunctionDeclarationInstruction) {
LocalFunctionDeclarationInstruction localFunctionDeclarationInstruction = (LocalFunctionDeclarationInstruction) instruction;
locals.add((PseudocodeImpl) localFunctionDeclarationInstruction.getBody());
}
for (PseudocodeImpl.PseudocodeLabel label: labels) {
if (label.getTargetInstructionIndex() == i) {
out.append(label.getName()).append(":\n");
@@ -267,9 +262,6 @@ public abstract class AbstractControlFlowTest extends KotlinTestWithEnvironment
out.append(StringUtil.trimTrailing(line.toString()));
out.append("\n");
}
for (PseudocodeImpl local : locals) {
dumpInstructions(local, out);
}
}
private static boolean sameContents(@Nullable Instruction natural, Collection<Instruction> actual) {