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

Thu, 31 Aug 2017 15:17:03 +0800

author
aoqi
date
Thu, 31 Aug 2017 15:17:03 +0800
changeset 2525
2eb010b6cb22
parent 2406
372fd7283bf0
parent 0
959103a6100f
child 2893
ca5783d9a597
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 }
aoqi@0 63 }

mercurial