test/tools/javac/flow/tests/TestCaseIfElse.java

Mon, 16 Oct 2017 16:07:48 +0800

author
aoqi
date
Mon, 16 Oct 2017 16:07:48 +0800
changeset 2893
ca5783d9a597
parent 2709
dca7f60e618d
parent 2525
2eb010b6cb22
permissions
-rw-r--r--

merge

aoqi@0 1 /* /nodynamiccopyright/ */
aoqi@0 2
aoqi@0 3 public class TestCaseIfElse {
aoqi@0 4
aoqi@0 5 @AliveRange(varName="o", bytecodeStart=9, bytecodeLength=8)
aoqi@0 6 @AliveRange(varName="o", bytecodeStart=20, bytecodeLength=9)
aoqi@0 7 void m0(String[] args) {
aoqi@0 8 Object o;
aoqi@0 9 if (args[0] != null) {
aoqi@0 10 o = "then";
aoqi@0 11 o.hashCode();
aoqi@0 12 } else {
aoqi@0 13 o = "else";
aoqi@0 14 o.hashCode();
aoqi@0 15 }
aoqi@0 16 o = "finish";
aoqi@0 17 }
aoqi@0 18
aoqi@0 19 @AliveRange(varName="o", bytecodeStart=10, bytecodeLength=8)
aoqi@0 20 @AliveRange(varName="o", bytecodeStart=21, bytecodeLength=9)
aoqi@0 21 void m1() {
aoqi@0 22 Object o;
aoqi@0 23 int i = 5;
aoqi@0 24 if (i == 5) {
aoqi@0 25 o = "then";
aoqi@0 26 o.hashCode();
aoqi@0 27 } else {
aoqi@0 28 o = "else";
aoqi@0 29 o.hashCode();
aoqi@0 30 }
aoqi@0 31 o = "finish";
aoqi@0 32 }
aoqi@0 33
aoqi@0 34 @AliveRange(varName="o", bytecodeStart=10, bytecodeLength=8)
aoqi@0 35 @AliveRange(varName="o", bytecodeStart=21, bytecodeLength=9)
aoqi@0 36 void m2() {
aoqi@0 37 Object o;
aoqi@0 38 int i = 5;
aoqi@0 39 if (i != 5) {
aoqi@0 40 o = "then";
aoqi@0 41 o.hashCode();
aoqi@0 42 } else {
aoqi@0 43 o = "else";
aoqi@0 44 o.hashCode();
aoqi@0 45 }
aoqi@0 46 o = "finish";
aoqi@0 47 }
aoqi@0 48
aoqi@0 49 @AliveRange(varName="o", bytecodeStart=11, bytecodeLength=3)
aoqi@0 50 @AliveRange(varName="o", bytecodeStart=17, bytecodeLength=2)
aoqi@0 51 Object m3(boolean cond1, boolean cond2) {
aoqi@0 52 Object o;
aoqi@0 53 if (cond1) {
aoqi@0 54 if (cond2) {
aoqi@0 55 o = "then";
aoqi@0 56 } else {
aoqi@0 57 o = "else";
aoqi@0 58 return null;
aoqi@0 59 }
aoqi@0 60 }
aoqi@0 61 return null;
aoqi@0 62 }
vromero@2709 63
vromero@2709 64 @AliveRange(varName="i", bytecodeStart=6, bytecodeLength=2)
vromero@2709 65 int m4(boolean flag) {
vromero@2709 66 int i;
vromero@2709 67 label:
vromero@2709 68 {
vromero@2709 69 if (flag) {
vromero@2709 70 i = 1;
vromero@2709 71 } else {
vromero@2709 72 break label;
vromero@2709 73 }
vromero@2709 74 return i;
vromero@2709 75 }
vromero@2709 76 return -1;
vromero@2709 77 }
aoqi@0 78 }

mercurial