From f71cc7fd24373e5a0e3023903d8b6c37948f264f Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Fri, 12 Jan 2018 23:13:48 +0000 Subject: [PATCH 1/5] Attach class name to method symbol --- src/java_bytecode/java_bytecode_convert_method.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/java_bytecode/java_bytecode_convert_method.cpp b/src/java_bytecode/java_bytecode_convert_method.cpp index fb9b18bd871..2284042c92b 100644 --- a/src/java_bytecode/java_bytecode_convert_method.cpp +++ b/src/java_bytecode/java_bytecode_convert_method.cpp @@ -387,6 +387,7 @@ void java_bytecode_convert_methodt::convert( // Obtain a std::vector of code_typet::parametert objects from the // (function) type of the symbol typet member_type=method_symbol.type; + member_type.set(ID_C_class, class_symbol.name); code_typet &code_type=to_code_type(member_type); method_return_type=code_type.return_type(); code_typet::parameterst ¶meters=code_type.parameters(); From 3bf99877606c8c15a863c906e485728e43770ae7 Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Wed, 10 Jan 2018 15:11:47 +0000 Subject: [PATCH 2/5] Compare access qualifiers in goto-diff --- src/goto-diff/syntactic_diff.cpp | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/goto-diff/syntactic_diff.cpp b/src/goto-diff/syntactic_diff.cpp index 68b7379b688..83f4ef04a78 100644 --- a/src/goto-diff/syntactic_diff.cpp +++ b/src/goto-diff/syntactic_diff.cpp @@ -27,6 +27,46 @@ bool syntactic_difft::operator()() continue; } + // check access qualifiers + const symbolt *fun1 = goto_model1.symbol_table.lookup(it->first); + CHECK_RETURN(fun1 != nullptr); + const symbolt *fun2 = goto_model2.symbol_table.lookup(it->first); + CHECK_RETURN(fun2 != nullptr); + const irep_idt &class_name = fun1->type.get(ID_C_class); + bool function_access_changed = + fun1->type.get(ID_access) != fun2->type.get(ID_access); + bool class_access_changed = false; + bool field_access_changed = false; + if(!class_name.empty()) + { + const symbolt *class1 = goto_model1.symbol_table.lookup(class_name); + CHECK_RETURN(class1 != nullptr); + const symbolt *class2 = goto_model2.symbol_table.lookup(class_name); + CHECK_RETURN(class2 != nullptr); + class_access_changed = + class1->type.get(ID_access) != class2->type.get(ID_access); + const class_typet &class_type1 = to_class_type(class1->type); + const class_typet &class_type2 = to_class_type(class2->type); + for(const auto &field1 : class_type1.components()) + { + for(const auto &field2 : class_type2.components()) + { + if(field1.get_name() == field2.get_name()) + { + field_access_changed = field1.get_access() != field2.get_access(); + break; + } + } + if(field_access_changed) + break; + } + } + if(function_access_changed || class_access_changed || field_access_changed) + { + modified_functions.insert(it->first); + continue; + } + if(it->second.body.instructions.size() != f_it->second.body.instructions.size()) { From ce3a5e9c6d00f02108f7770ea1539a72f4c0fbb2 Mon Sep 17 00:00:00 2001 From: jgwilson42 Date: Sat, 6 Jan 2018 21:36:24 +0000 Subject: [PATCH 3/5] Basic tests for java goto-diff --- .../goto-diff/java-deleted-function/new.jar | Bin 0 -> 670 bytes .../java-deleted-function/new/Test.java | 10 +++++++ .../goto-diff/java-deleted-function/old.jar | Bin 0 -> 697 bytes .../java-deleted-function/old/Test.java | 18 ++++++++++++ .../goto-diff/java-deleted-function/test.desc | 12 ++++++++ regression/goto-diff/java-mod-comment/new.jar | Bin 0 -> 697 bytes .../goto-diff/java-mod-comment/new/Test.java | 18 ++++++++++++ regression/goto-diff/java-mod-comment/old.jar | Bin 0 -> 697 bytes .../goto-diff/java-mod-comment/old/Test.java | 18 ++++++++++++ .../goto-diff/java-mod-comment/test.desc | 12 ++++++++ .../goto-diff/java-mod-identifier/new.jar | Bin 0 -> 697 bytes .../java-mod-identifier/new/Test.java | 18 ++++++++++++ .../goto-diff/java-mod-identifier/old.jar | Bin 0 -> 697 bytes .../java-mod-identifier/old/Test.java | 18 ++++++++++++ .../goto-diff/java-mod-identifier/test.desc | 12 ++++++++ .../goto-diff/java-mod-identifier2/new.jar | Bin 0 -> 704 bytes .../java-mod-identifier2/new/Test.java | 18 ++++++++++++ .../goto-diff/java-mod-identifier2/old.jar | Bin 0 -> 703 bytes .../java-mod-identifier2/old/Test.java | 18 ++++++++++++ .../goto-diff/java-mod-identifier2/test.desc | 12 ++++++++ .../goto-diff/java-new-function/new.jar | Bin 0 -> 724 bytes .../goto-diff/java-new-function/new/Test.java | 26 ++++++++++++++++++ .../goto-diff/java-new-function/old.jar | Bin 0 -> 697 bytes .../goto-diff/java-new-function/old/Test.java | 18 ++++++++++++ .../goto-diff/java-new-function/test.desc | 12 ++++++++ regression/goto-diff/java-no-change/new.jar | Bin 0 -> 697 bytes .../goto-diff/java-no-change/new/Test.java | 18 ++++++++++++ regression/goto-diff/java-no-change/old.jar | Bin 0 -> 697 bytes .../goto-diff/java-no-change/old/Test.java | 18 ++++++++++++ regression/goto-diff/java-no-change/test.desc | 12 ++++++++ 30 files changed, 288 insertions(+) create mode 100644 regression/goto-diff/java-deleted-function/new.jar create mode 100644 regression/goto-diff/java-deleted-function/new/Test.java create mode 100644 regression/goto-diff/java-deleted-function/old.jar create mode 100644 regression/goto-diff/java-deleted-function/old/Test.java create mode 100644 regression/goto-diff/java-deleted-function/test.desc create mode 100644 regression/goto-diff/java-mod-comment/new.jar create mode 100644 regression/goto-diff/java-mod-comment/new/Test.java create mode 100644 regression/goto-diff/java-mod-comment/old.jar create mode 100644 regression/goto-diff/java-mod-comment/old/Test.java create mode 100644 regression/goto-diff/java-mod-comment/test.desc create mode 100644 regression/goto-diff/java-mod-identifier/new.jar create mode 100644 regression/goto-diff/java-mod-identifier/new/Test.java create mode 100644 regression/goto-diff/java-mod-identifier/old.jar create mode 100644 regression/goto-diff/java-mod-identifier/old/Test.java create mode 100644 regression/goto-diff/java-mod-identifier/test.desc create mode 100644 regression/goto-diff/java-mod-identifier2/new.jar create mode 100644 regression/goto-diff/java-mod-identifier2/new/Test.java create mode 100644 regression/goto-diff/java-mod-identifier2/old.jar create mode 100644 regression/goto-diff/java-mod-identifier2/old/Test.java create mode 100644 regression/goto-diff/java-mod-identifier2/test.desc create mode 100644 regression/goto-diff/java-new-function/new.jar create mode 100644 regression/goto-diff/java-new-function/new/Test.java create mode 100644 regression/goto-diff/java-new-function/old.jar create mode 100644 regression/goto-diff/java-new-function/old/Test.java create mode 100644 regression/goto-diff/java-new-function/test.desc create mode 100644 regression/goto-diff/java-no-change/new.jar create mode 100644 regression/goto-diff/java-no-change/new/Test.java create mode 100644 regression/goto-diff/java-no-change/old.jar create mode 100644 regression/goto-diff/java-no-change/old/Test.java create mode 100644 regression/goto-diff/java-no-change/test.desc diff --git a/regression/goto-diff/java-deleted-function/new.jar b/regression/goto-diff/java-deleted-function/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..8a4eae1df514ad5326bfc1c993667a023e56d155 GIT binary patch literal 670 zcmWIWW@Zs#;Nak3NL{Js!+-=h8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1g)>-Yu!KyQ!#n(qv4wr$&(V+Dkh9GzAjIeww*E@#`aC7fKE z_8f*~iB3rm*gq^5cpjkA^5Mbe_j{|~^q=2e&cJ?yGhy+2Zp- zukot|yL;t?5(5`I3fUZ%%~{dS%e#8*m*{I|KRspzT122CH 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-deleted-function/test.desc b/regression/goto-diff/java-deleted-function/test.desc new file mode 100644 index 00000000000..d60285d0bd4 --- /dev/null +++ b/regression/goto-diff/java-deleted-function/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[\n {\n "name": "java::Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.foo:\(I\)I",\n "line": "4"\n }\n }\n \], + "modifiedFunctions": \[ \], + "newFunctions": \[ \], +-- +^warning: ignoring diff --git a/regression/goto-diff/java-mod-comment/new.jar b/regression/goto-diff/java-mod-comment/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..073ba0aef672414c5248d8832171d3efdb7db58e GIT binary patch literal 697 zcmWIWW@Zs#;Nak3P+6_!!+-=h8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gQ!#n(qv4wr$&(V+Dkh9GzAjIeww*E@#`aC7fKE z_8f*~iB3rm*gq^5cpjkA^5Mbe_j{|~^q=2e&cJ?yGhy+2Zp- zukot|yL;t?5(5`I3fUZ%%~{dS%e#8*m*{I|KRspzT122CH 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-comment/old.jar b/regression/goto-diff/java-mod-comment/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..6779e5abd544233a1bf2ba8adc05784b1fe82805 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3ShZNqhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ7w+h^;4*g&G?{n_-{YQ8hH*|u$CjujA2a&%gC-|ww{(|>+@IRpC*&V3$k4$z!wwNtLV{Vsu@ygz0+s9RrUt?CzBlN(@}=C}eY3HfKdQFYoHLU!wONUU7O-|AXIa`EKv6m-LTz`#4?DNNS?s z|Fo7|jbBWl2)o_y==m8K5Q&VSpkibaVL**zj380ulb{Ht85a2M7iHNrVZ&o&t95WDZ1=8<;9${br0Jh7^hX4Qo literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-mod-comment/old/Test.java b/regression/goto-diff/java-mod-comment/old/Test.java new file mode 100644 index 00000000000..4bba83c5011 --- /dev/null +++ b/regression/goto-diff/java-mod-comment/old/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-comment/test.desc b/regression/goto-diff/java-mod-comment/test.desc new file mode 100644 index 00000000000..3a4cbfe0bc7 --- /dev/null +++ b/regression/goto-diff/java-mod-comment/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \], + "modifiedFunctions": \[ \], + "newFunctions": \[ \], +-- +^warning: ignoring diff --git a/regression/goto-diff/java-mod-identifier/new.jar b/regression/goto-diff/java-mod-identifier/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..1162996bdd7f9f8f637b6f0707f52cc9b55781ac GIT binary patch literal 697 zcmWIWW@Zs#;Nak3NM5bx!+-=h8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gQ!#n(qv4wr$&(V+Dkh9GzAjIeww*E@#`aC7fKE z_8f*~iB3rm*gq^5cpjkA^5Mbe_j{|~^q=2e&cJ?yGhy+2Zp- zukot|yL;t?5(5`I3fUZ%%~{dS%e#8*m*{I|KRspzT122CH 10) { + return y; + } else { + return y * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-identifier/old.jar b/regression/goto-diff/java-mod-identifier/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..6779e5abd544233a1bf2ba8adc05784b1fe82805 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3ShZNqhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ7w+h^;4*g&G?{n_-{YQ8hH*|u$CjujA2a&%gC-|ww{(|>+@IRpC*&V3$k4$z!wwNtLV{Vsu@ygz0+s9RrUt?CzBlN(@}=C}eY3HfKdQFYoHLU!wONUU7O-|AXIa`EKv6m-LTz`#4?DNNS?s z|Fo7|jbBWl2)o_y==m8K5Q&VSpkibaVL**zj380ulb{Ht85a2M7iHNrVZ&o&t95WDZ1=8<;9${br0Jh7^hX4Qo literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-mod-identifier/old/Test.java b/regression/goto-diff/java-mod-identifier/old/Test.java new file mode 100644 index 00000000000..4bba83c5011 --- /dev/null +++ b/regression/goto-diff/java-mod-identifier/old/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-identifier/test.desc b/regression/goto-diff/java-mod-identifier/test.desc new file mode 100644 index 00000000000..3a4cbfe0bc7 --- /dev/null +++ b/regression/goto-diff/java-mod-identifier/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \], + "modifiedFunctions": \[ \], + "newFunctions": \[ \], +-- +^warning: ignoring diff --git a/regression/goto-diff/java-mod-identifier2/new.jar b/regression/goto-diff/java-mod-identifier2/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..7d412159813fc0c054d7e6cffa219133751beb34 GIT binary patch literal 704 zcmWIWW@Zs#;Nak3Se;|&!+-=h8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gEt?-V{y*Kkf1kY_qfCPLAy*j%&JCU)`cLh8)5n=-wNt4= z{p?n?Bk8GY^{4Ug%zLi2KB6#xR-3{lo!KcZ8P`@m`WIvSZ|BaeopYjs&&^7WesTGd z#o?WGufB=DifsL$V3ES&l(Zys>8sl>Q}Hzrfs1 zfazYXwp4aQqP*=J!HX6X*9$zpTBh_qOvhrI(WYg`0}n1``1E}(<92g_b%t~1eN2+D zS^d9f!eT+=N2P8l&Wq(i@ut8MBK8Xy9+`}w5MyK#VL**`Se$~Q9TmXi5tInfwIW9Z wDAEzY7RZEaMM?t5CV(Og* 10) { + return x; + } else { + return y * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-identifier2/old.jar b/regression/goto-diff/java-mod-identifier2/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..9eae309400969c5c78bdb54f075e4600de62e33c GIT binary patch literal 703 zcmWIWW@Zs#;Nak3Sf69)!+-=h8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gXQ)v1^(cQv4OIlc3 zr?5Nq#Lk!?@r$8Wvwl-`A|@`Zgy){c&`Y z@!Izyio0~QO83^B3o)J^d9tfE{yNLVB`+;hTQ-M1^AG=&`Z{gX!=fag`Y`?3F|i`I zUY@_2UA<>QzEK17K}B7GBwb&xNL!!0O|7S*Wez>+f0^1`GOc`iKD$lla*JO~wVxUv ze0(Pr7;XDy_lwMS4)=}!84aU8*2HW~n0e~J3_f?(={7&=^S|!c+n&&#SlaWwFYsSF ziwy5f!M8?E!cu>jK+(3tWUkOpU~ptIf&z?@NrVA4)?rZ!igi=~k48`$K-Y>K51=?l t09zmvt`#W-Ae#V+FJy;-;tK%|1DS}}3-D%T1IaN1;Z`911?Uk51^_^5%f0{r literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-mod-identifier2/old/Test.java b/regression/goto-diff/java-mod-identifier2/old/Test.java new file mode 100644 index 00000000000..f942f3612ee --- /dev/null +++ b/regression/goto-diff/java-mod-identifier2/old/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x, int y) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-identifier2/test.desc b/regression/goto-diff/java-mod-identifier2/test.desc new file mode 100644 index 00000000000..7a5fdf9e9cb --- /dev/null +++ b/regression/goto-diff/java-mod-identifier2/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \], + "modifiedFunctions": \[\n {\n "name": "java::Test\.foo:\(II\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.foo:\(II\)I",\n "line": "4"\n }\n }\n \],\n + "newFunctions": \[ \], +-- +^warning: ignoring diff --git a/regression/goto-diff/java-new-function/new.jar b/regression/goto-diff/java-new-function/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..f6e0424e94cf06e2c29567aa03179672051c2bba GIT binary patch literal 724 zcmWIWW@Zs#;Nak3;9jBT!+-=h8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gGhs%C5ZVL%% zOFsD)jmrUwfgc!aM3Tx<7joQ4N`HQC=HkD9s{S)<=r`q8a}uA}9okeJ65?9zV=(!l z=s~NM>s1wPw6!V?>rbQ@3r3#otPH-+V(oc3(Tn5Q+7s{3A5AvjDkM95W(LQ-9rMh0 z+UQkr%oE9+(K7BlL%p62@>f4um)M!oel$-4>1pKVgUaN&V8C@!58G*kH)85q_8aey}? zlL!N9Qh>!XC@G)#2D(<{$N?n;1h54%;aZWB1+odCNJMrRC=wCiFp!Ce(g1H( QHjo@M5N-w1oM0CN04^uZg#Z8m literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-new-function/new/Test.java b/regression/goto-diff/java-new-function/new/Test.java new file mode 100644 index 00000000000..14572d32b29 --- /dev/null +++ b/regression/goto-diff/java-new-function/new/Test.java @@ -0,0 +1,26 @@ +public class Test { + + public int foo(int x, int y) { + if (x > 10) { + return x; + } else { + return x * y; + } + } + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-new-function/old.jar b/regression/goto-diff/java-new-function/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..6779e5abd544233a1bf2ba8adc05784b1fe82805 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3ShZNqhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ7w+h^;4*g&G?{n_-{YQ8hH*|u$CjujA2a&%gC-|ww{(|>+@IRpC*&V3$k4$z!wwNtLV{Vsu@ygz0+s9RrUt?CzBlN(@}=C}eY3HfKdQFYoHLU!wONUU7O-|AXIa`EKv6m-LTz`#4?DNNS?s z|Fo7|jbBWl2)o_y==m8K5Q&VSpkibaVL**zj380ulb{Ht85a2M7iHNrVZ&o&t95WDZ1=8<;9${br0Jh7^hX4Qo literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-new-function/old/Test.java b/regression/goto-diff/java-new-function/old/Test.java new file mode 100644 index 00000000000..4bba83c5011 --- /dev/null +++ b/regression/goto-diff/java-new-function/old/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-new-function/test.desc b/regression/goto-diff/java-new-function/test.desc new file mode 100644 index 00000000000..ac2fc73a3f6 --- /dev/null +++ b/regression/goto-diff/java-new-function/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \], + "modifiedFunctions": \[ \], + "newFunctions": \[\n {\n "name": "java::Test\.foo:\(II\)I",\n "sourceLocation": {\n "file": "Test.java",\n "function": "java::Test\.foo:\(II\)I",\n "line": "4"\n }\n }\n \], +-- +^warning: ignoring diff --git a/regression/goto-diff/java-no-change/new.jar b/regression/goto-diff/java-no-change/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..b4212921ff8f8d41aa7a560518ef26441cbf07c0 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3n7dfbhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQXm#|j81IXbO6a{NNqUCy>;OE|eS z?Kup~5}lGBuzy%A@H{}J<->!`@Ap=}=|8`{oPqrYXTsw5%HJk(>{-0$%-=Z`1=+3=;EM_CRrKgF)eNb$-sv;lDtiNax4hBmwi!C*{o7+#1>F6p{iKz>@%-Iv zU*lH`cK6B&B?c~b6tX!io3o;umv{BrFVXuBuQ)xa|H1FIe7E=3OZrEVcN1W-&NI}8+42yht4M8sQwH!B-Rju{BI0_k@^k1#L*022|*2><{9 literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-no-change/new/Test.java b/regression/goto-diff/java-no-change/new/Test.java new file mode 100644 index 00000000000..76b66845e26 --- /dev/null +++ b/regression/goto-diff/java-no-change/new/Test.java @@ -0,0 +1,18 @@ +public class Test { + public int foo(int x) { + if (x > 10) { + return x; + } else { + int y = x * 10; + return y; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-no-change/old.jar b/regression/goto-diff/java-no-change/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..6779e5abd544233a1bf2ba8adc05784b1fe82805 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3ShZNqhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ7w+h^;4*g&G?{n_-{YQ8hH*|u$CjujA2a&%gC-|ww{(|>+@IRpC*&V3$k4$z!wwNtLV{Vsu@ygz0+s9RrUt?CzBlN(@}=C}eY3HfKdQFYoHLU!wONUU7O-|AXIa`EKv6m-LTz`#4?DNNS?s z|Fo7|jbBWl2)o_y==m8K5Q&VSpkibaVL**zj380ulb{Ht85a2M7iHNrVZ&o&t95WDZ1=8<;9${br0Jh7^hX4Qo literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-no-change/old/Test.java b/regression/goto-diff/java-no-change/old/Test.java new file mode 100644 index 00000000000..4bba83c5011 --- /dev/null +++ b/regression/goto-diff/java-no-change/old/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-no-change/test.desc b/regression/goto-diff/java-no-change/test.desc new file mode 100644 index 00000000000..3a4cbfe0bc7 --- /dev/null +++ b/regression/goto-diff/java-no-change/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \], + "modifiedFunctions": \[ \], + "newFunctions": \[ \], +-- +^warning: ignoring From 8ee1956b583fdf97fb0f84e714e22a489bee9a2b Mon Sep 17 00:00:00 2001 From: jgwilson42 Date: Sun, 7 Jan 2018 06:17:09 +0000 Subject: [PATCH 4/5] goto-diff tests for package name changes --- regression/goto-diff/java-add-package/new.jar | Bin 0 -> 710 bytes .../goto-diff/java-add-package/new/Test.java | 20 ++++++++++++++++++ regression/goto-diff/java-add-package/old.jar | Bin 0 -> 697 bytes .../goto-diff/java-add-package/old/Test.java | 18 ++++++++++++++++ .../goto-diff/java-add-package/test.desc | 12 +++++++++++ regression/goto-diff/java-del-package/new.jar | Bin 0 -> 697 bytes .../goto-diff/java-del-package/new/Test.java | 18 ++++++++++++++++ regression/goto-diff/java-del-package/old.jar | Bin 0 -> 710 bytes .../goto-diff/java-del-package/old/Test.java | 20 ++++++++++++++++++ .../goto-diff/java-del-package/test.desc | 12 +++++++++++ regression/goto-diff/java-mod-package/new.jar | Bin 0 -> 711 bytes .../goto-diff/java-mod-package/new/Test.java | 20 ++++++++++++++++++ regression/goto-diff/java-mod-package/old.jar | Bin 0 -> 710 bytes .../goto-diff/java-mod-package/old/Test.java | 20 ++++++++++++++++++ .../goto-diff/java-mod-package/test.desc | 12 +++++++++++ 15 files changed, 152 insertions(+) create mode 100644 regression/goto-diff/java-add-package/new.jar create mode 100644 regression/goto-diff/java-add-package/new/Test.java create mode 100644 regression/goto-diff/java-add-package/old.jar create mode 100644 regression/goto-diff/java-add-package/old/Test.java create mode 100644 regression/goto-diff/java-add-package/test.desc create mode 100644 regression/goto-diff/java-del-package/new.jar create mode 100644 regression/goto-diff/java-del-package/new/Test.java create mode 100644 regression/goto-diff/java-del-package/old.jar create mode 100644 regression/goto-diff/java-del-package/old/Test.java create mode 100644 regression/goto-diff/java-del-package/test.desc create mode 100644 regression/goto-diff/java-mod-package/new.jar create mode 100644 regression/goto-diff/java-mod-package/new/Test.java create mode 100644 regression/goto-diff/java-mod-package/old.jar create mode 100644 regression/goto-diff/java-mod-package/old/Test.java create mode 100644 regression/goto-diff/java-mod-package/test.desc diff --git a/regression/goto-diff/java-add-package/new.jar b/regression/goto-diff/java-add-package/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..4076afdca54834eb95b9fecfce0f351f48cfc9db GIT binary patch literal 710 zcmWIWW@Zs#;Nak3aMoA%VL$?$3@i-3t|5-Po_=on|4uP5Ff#;rvvYt{FhP|C;M6Pv zQ~}rQ>*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1mXgxS_#v*U_I!z!#dC4dC*rEp7_Mf2D*9N&2zJF~8>5LXKs#K47~u*>G%s)g zWkXVnOZ1X+5{rv{`*!*rc93X!-v3xx&CW?$Mx}Z8H zCeyKC*0WzVmGZBP);;R!D~uJ{BjcI4cTF!XhVR*Kqev*1H4(;Kyu7LxD`nM26}{n0RVdH B%JKjJ literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-add-package/new/Test.java b/regression/goto-diff/java-add-package/new/Test.java new file mode 100644 index 00000000000..fb2b278c830 --- /dev/null +++ b/regression/goto-diff/java-add-package/new/Test.java @@ -0,0 +1,20 @@ +package foo; + +public class Test { + public int foo(int x) { + if (x > 10) { + return x; + } else { + int y = x * 10; + return y; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-add-package/old.jar b/regression/goto-diff/java-add-package/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..6779e5abd544233a1bf2ba8adc05784b1fe82805 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3ShZNqhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ7w+h^;4*g&G?{n_-{YQ8hH*|u$CjujA2a&%gC-|ww{(|>+@IRpC*&V3$k4$z!wwNtLV{Vsu@ygz0+s9RrUt?CzBlN(@}=C}eY3HfKdQFYoHLU!wONUU7O-|AXIa`EKv6m-LTz`#4?DNNS?s z|Fo7|jbBWl2)o_y==m8K5Q&VSpkibaVL**zj380ulb{Ht85a2M7iHNrVZ&o&t95WDZ1=8<;9${br0Jh7^hX4Qo literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-add-package/old/Test.java b/regression/goto-diff/java-add-package/old/Test.java new file mode 100644 index 00000000000..4bba83c5011 --- /dev/null +++ b/regression/goto-diff/java-add-package/old/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-add-package/test.desc b/regression/goto-diff/java-add-package/test.desc new file mode 100644 index 00000000000..c071e7d6f7f --- /dev/null +++ b/regression/goto-diff/java-add-package/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[\n {\n "name": "java::Test\.:\(\)V",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.:\(\)\V",\n "line": "1"\n }\n },\n {\n "name": "java::Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.foo:\(I\)I",\n "line": "4"\n }\n },\n {\n "name": "java::Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test.bar:\(I\)I",\n "line": "12"\n }\n }\n \],\n + "modifiedFunctions": \[ \], + "newFunctions": \[\n {\n "name": "java::foo\.Test\.:\(\)V",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.:\(\)V",\n "line": "3"\n }\n },\n {\n "name": "java::foo\.Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.foo:\(I\)I",\n "line": "5"\n }\n },\n {\n "name": "java::foo\.Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.bar:\(I\)I",\n "line": "14"\n }\n }\n \], +-- +^warning: ignoring diff --git a/regression/goto-diff/java-del-package/new.jar b/regression/goto-diff/java-del-package/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..6779e5abd544233a1bf2ba8adc05784b1fe82805 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3ShZNqhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ7w+h^;4*g&G?{n_-{YQ8hH*|u$CjujA2a&%gC-|ww{(|>+@IRpC*&V3$k4$z!wwNtLV{Vsu@ygz0+s9RrUt?CzBlN(@}=C}eY3HfKdQFYoHLU!wONUU7O-|AXIa`EKv6m-LTz`#4?DNNS?s z|Fo7|jbBWl2)o_y==m8K5Q&VSpkibaVL**zj380ulb{Ht85a2M7iHNrVZ&o&t95WDZ1=8<;9${br0Jh7^hX4Qo literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-del-package/new/Test.java b/regression/goto-diff/java-del-package/new/Test.java new file mode 100644 index 00000000000..4bba83c5011 --- /dev/null +++ b/regression/goto-diff/java-del-package/new/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-del-package/old.jar b/regression/goto-diff/java-del-package/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..4076afdca54834eb95b9fecfce0f351f48cfc9db GIT binary patch literal 710 zcmWIWW@Zs#;Nak3aMoA%VL$?$3@i-3t|5-Po_=on|4uP5Ff#;rvvYt{FhP|C;M6Pv zQ~}rQ>*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1mXgxS_#v*U_I!z!#dC4dC*rEp7_Mf2D*9N&2zJF~8>5LXKs#K47~u*>G%s)g zWkXVnOZ1X+5{rv{`*!*rc93X!-v3xx&CW?$Mx}Z8H zCeyKC*0WzVmGZBP);;R!D~uJ{BjcI4cTF!XhVR*Kqev*1H4(;Kyu7LxD`nM26}{n0RVdH B%JKjJ literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-del-package/old/Test.java b/regression/goto-diff/java-del-package/old/Test.java new file mode 100644 index 00000000000..fb2b278c830 --- /dev/null +++ b/regression/goto-diff/java-del-package/old/Test.java @@ -0,0 +1,20 @@ +package foo; + +public class Test { + public int foo(int x) { + if (x > 10) { + return x; + } else { + int y = x * 10; + return y; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-del-package/test.desc b/regression/goto-diff/java-del-package/test.desc new file mode 100644 index 00000000000..58e64919d9e --- /dev/null +++ b/regression/goto-diff/java-del-package/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[\n {\n "name": "java::foo\.Test\.:\(\)V",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.:\(\)V",\n "line": "3"\n }\n },\n {\n "name": "java::foo\.Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.foo:\(I\)I",\n "line": "5"\n }\n },\n {\n "name": "java::foo\.Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.bar:\(I\)I",\n "line": "14"\n }\n }\n \], + "modifiedFunctions": \[ \], + "newFunctions": \[\n {\n "name": "java::Test\.:\(\)V",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.:\(\)\V",\n "line": "1"\n }\n },\n {\n "name": "java::Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.foo:\(I\)I",\n "line": "4"\n }\n },\n {\n "name": "java::Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test.bar:\(I\)I",\n "line": "12"\n }\n }\n \],\n +-- +^warning: ignoring diff --git a/regression/goto-diff/java-mod-package/new.jar b/regression/goto-diff/java-mod-package/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..313ed480eb3310e28bffbead58501c0c466507ce GIT binary patch literal 711 zcmWIWW@Zs#;Nak3@HSNUVL$?$3@i-3t|5-Po_=on|4uP5Ff#;rvvYt{FhP|C;M6Pv zQ~}rQ>*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1mXgxS_#v*U_I!z!#dC4dC*rEp7_Mf2D*9N&2zJF~8>5LXKs#K47~u*}G%s)g zWkXVnOZ1X+5{rv-`}X=BHV|n&?>lP=?^%ELWnGPHQx&+AoOC=qrv8wO+IV{mh=C7+I)lMas@XD2Wx0Z%{^*PZbYrR@au3zmjr{WAVrP@7W{`StASxxq9Z&`&--?^>I z`0E`R{UhBk7BjbRm>+gJWnTJBov5h>x)(W}));##p8EYHOfTft0|BxB0s7KQPS@=E zW0jy9_WXtHmt*2h$CqdO$i7{)y?dU~p(Nh6jr*I7V>a8Zxw*kd)ud+n_H?g*<_k{0 z-CHlY-rDWsbipE%q+<`v7w0=26bD6LznXIjBO?O?FdTsa$H*kYfExR-s0GD7Du72P zC@r9CMUD?p+#`T3kO|j{loF6l0L2@!!$9$d0EdB0L@Wk)v$BEYn1OIBkp2Vo2m=EE D(74JO literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-mod-package/new/Test.java b/regression/goto-diff/java-mod-package/new/Test.java new file mode 100644 index 00000000000..480b1e2253c --- /dev/null +++ b/regression/goto-diff/java-mod-package/new/Test.java @@ -0,0 +1,20 @@ +package com.diffblue.foo; + +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-package/old.jar b/regression/goto-diff/java-mod-package/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..4076afdca54834eb95b9fecfce0f351f48cfc9db GIT binary patch literal 710 zcmWIWW@Zs#;Nak3aMoA%VL$?$3@i-3t|5-Po_=on|4uP5Ff#;rvvYt{FhP|C;M6Pv zQ~}rQ>*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1mXgxS_#v*U_I!z!#dC4dC*rEp7_Mf2D*9N&2zJF~8>5LXKs#K47~u*>G%s)g zWkXVnOZ1X+5{rv{`*!*rc93X!-v3xx&CW?$Mx}Z8H zCeyKC*0WzVmGZBP);;R!D~uJ{BjcI4cTF!XhVR*Kqev*1H4(;Kyu7LxD`nM26}{n0RVdH B%JKjJ literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-mod-package/old/Test.java b/regression/goto-diff/java-mod-package/old/Test.java new file mode 100644 index 00000000000..fb2b278c830 --- /dev/null +++ b/regression/goto-diff/java-mod-package/old/Test.java @@ -0,0 +1,20 @@ +package foo; + +public class Test { + public int foo(int x) { + if (x > 10) { + return x; + } else { + int y = x * 10; + return y; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-mod-package/test.desc b/regression/goto-diff/java-mod-package/test.desc new file mode 100644 index 00000000000..134f6482d2c --- /dev/null +++ b/regression/goto-diff/java-mod-package/test.desc @@ -0,0 +1,12 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[\n {\n "name": "java::foo\.Test\.:\(\)V",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.:\(\)V",\n "line": "3"\n }\n },\n {\n "name": "java::foo\.Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.foo:\(I\)I",\n "line": "5"\n }\n },\n {\n "name": "java::foo\.Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "foo/Test\.java",\n "function": "java::foo\.Test\.bar:\(I\)I",\n "line": "14"\n }\n }\n \], + "modifiedFunctions": \[ \], + "newFunctions": \[\n {\n "name": "java::com\.diffblue\.foo\.Test\.:\(\)V",\n "sourceLocation": {\n "file": "com/diffblue/foo/Test\.java",\n "function": "java::com\.diffblue\.foo\.Test\.:\(\)\V",\n "line": "3"\n }\n },\n {\n "name": "java::com\.diffblue\.foo\.Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "com/diffblue/foo/Test\.java",\n "function": "java::com\.diffblue\.foo\.Test\.foo:\(I\)I",\n "line": "6"\n }\n },\n {\n "name": "java::com\.diffblue\.foo\.Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "com/diffblue/foo/Test\.java",\n "function": "java::com\.diffblue\.foo\.Test.bar:\(I\)I",\n "line": "14"\n }\n }\n \],\n +-- +^warning: ignoring From e4a2763b0672980d0fc3f78410534722301f3594 Mon Sep 17 00:00:00 2001 From: jgwilson42 Date: Sun, 7 Jan 2018 23:00:44 +0000 Subject: [PATCH 5/5] Tests for scope changes for variables and functions --- .../goto-diff/java-no-change/new/Test.java | 8 +++---- .../goto-diff/java-scope-change/new.jar | Bin 0 -> 698 bytes .../goto-diff/java-scope-change/new/Test.java | 18 ++++++++++++++++ .../goto-diff/java-scope-change/old.jar | Bin 0 -> 697 bytes .../goto-diff/java-scope-change/old/Test.java | 18 ++++++++++++++++ .../goto-diff/java-scope-change/test.desc | 11 ++++++++++ .../goto-diff/java-scope-change2/new.jar | Bin 0 -> 738 bytes .../java-scope-change2/new/Test.java | 20 ++++++++++++++++++ .../goto-diff/java-scope-change2/old.jar | Bin 0 -> 738 bytes .../java-scope-change2/old/Test.java | 20 ++++++++++++++++++ .../goto-diff/java-scope-change2/test.desc | 11 ++++++++++ .../goto-diff/java-scope-change3/new.jar | Bin 0 -> 455 bytes .../java-scope-change3/new/Test.java | 20 ++++++++++++++++++ .../goto-diff/java-scope-change3/old.jar | Bin 0 -> 738 bytes .../java-scope-change3/old/Test.java | 20 ++++++++++++++++++ .../goto-diff/java-scope-change3/test.desc | 11 ++++++++++ 16 files changed, 153 insertions(+), 4 deletions(-) create mode 100644 regression/goto-diff/java-scope-change/new.jar create mode 100644 regression/goto-diff/java-scope-change/new/Test.java create mode 100644 regression/goto-diff/java-scope-change/old.jar create mode 100644 regression/goto-diff/java-scope-change/old/Test.java create mode 100644 regression/goto-diff/java-scope-change/test.desc create mode 100644 regression/goto-diff/java-scope-change2/new.jar create mode 100644 regression/goto-diff/java-scope-change2/new/Test.java create mode 100644 regression/goto-diff/java-scope-change2/old.jar create mode 100644 regression/goto-diff/java-scope-change2/old/Test.java create mode 100644 regression/goto-diff/java-scope-change2/test.desc create mode 100644 regression/goto-diff/java-scope-change3/new.jar create mode 100644 regression/goto-diff/java-scope-change3/new/Test.java create mode 100644 regression/goto-diff/java-scope-change3/old.jar create mode 100644 regression/goto-diff/java-scope-change3/old/Test.java create mode 100644 regression/goto-diff/java-scope-change3/test.desc diff --git a/regression/goto-diff/java-no-change/new/Test.java b/regression/goto-diff/java-no-change/new/Test.java index 76b66845e26..c9a99f3ec43 100644 --- a/regression/goto-diff/java-no-change/new/Test.java +++ b/regression/goto-diff/java-no-change/new/Test.java @@ -1,14 +1,14 @@ public class Test { - public int foo(int x) { + + private int foo(int x) { if (x > 10) { return x; } else { - int y = x * 10; - return y; + return x * 10; } } - public int bar(int x) { + protected int bar(int x) { if (x < 10) { return x; } else { diff --git a/regression/goto-diff/java-scope-change/new.jar b/regression/goto-diff/java-scope-change/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..b9661c2be16a4bc304d32ee6c01f271269ae3a86 GIT binary patch literal 698 zcmWIWW@Zs#;Nak3;Oo%vVL$?$3@i-3t|5-Po_=on|4uP5Ff#;rvvYt{FhP|C;M6Pv zQ~}rQ>*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1mXgxS_#v*U_I!z!#dC4dC*rEp7_Mf2D*9N&2zJF~8>5LXKs#K47~u*YG%s)g zWkXVnOZ1X+5{rv-`}X=Bb`WSu|2unzg;}YK%As!+&4E&<0=U5aK*WK9rw=C`5J~R3G41OEr54c@-f1)f_ksdkm>T{;u_B+HZ z#Gm$xxr9e9R6l*(CA@g*6P0hdkwtgqdEJ@{!d8DtTr;n3TIVX3gKJ{KR_;5)lXd=U zaqXS}{Z-8DdTZG@lA7CgYQ1Z_oU-t;RQrY>ip4n{7dKVS;k(g#*S4yCO{L(EHF3e3VCA9br;w|vh(_F7N*|LltkO;X&x z%vNl16Uk!)#Td_8rHfyHA(6-k3M)n?5eC!Fa oD^lbmn*fR`WQT#G3IPrSnTUuB@MdKL$uR@rRv`Tz=n)160K`?slmGw# literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-scope-change/new/Test.java b/regression/goto-diff/java-scope-change/new/Test.java new file mode 100644 index 00000000000..c9a99f3ec43 --- /dev/null +++ b/regression/goto-diff/java-scope-change/new/Test.java @@ -0,0 +1,18 @@ +public class Test { + + private int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + protected int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-scope-change/old.jar b/regression/goto-diff/java-scope-change/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..6779e5abd544233a1bf2ba8adc05784b1fe82805 GIT binary patch literal 697 zcmWIWW@Zs#;Nak3ShZNqhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ7w+h^;4*g&G?{n_-{YQ8hH*|u$CjujA2a&%gC-|ww{(|>+@IRpC*&V3$k4$z!wwNtLV{Vsu@ygz0+s9RrUt?CzBlN(@}=C}eY3HfKdQFYoHLU!wONUU7O-|AXIa`EKv6m-LTz`#4?DNNS?s z|Fo7|jbBWl2)o_y==m8K5Q&VSpkibaVL**zj380ulb{Ht85a2M7iHNrVZ&o&t95WDZ1=8<;9${br0Jh7^hX4Qo literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-scope-change/old/Test.java b/regression/goto-diff/java-scope-change/old/Test.java new file mode 100644 index 00000000000..4bba83c5011 --- /dev/null +++ b/regression/goto-diff/java-scope-change/old/Test.java @@ -0,0 +1,18 @@ +public class Test { + + public int foo(int x) { + if (x > 10) { + return x; + } else { + return x * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-scope-change/test.desc b/regression/goto-diff/java-scope-change/test.desc new file mode 100644 index 00000000000..cfe9d962b83 --- /dev/null +++ b/regression/goto-diff/java-scope-change/test.desc @@ -0,0 +1,11 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \],\n "modifiedFunctions": \[\n {\n "name": "java::Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.foo:\(I\)I",\n "line": "4"\n }\n },\n {\n "name": "java::Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.bar:\(I\)I",\n "line": "12"\n }\n }\n \],\n "newFunctions": \[ \], +-- +^warning: ignoring +-- diff --git a/regression/goto-diff/java-scope-change2/new.jar b/regression/goto-diff/java-scope-change2/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..231eccfd0493711ddaa71dd93274b13d8b3230e5 GIT binary patch literal 738 zcmWIWW@Zs#;Nak3xVBB*hXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ6F>%ZIYu!F#y&2x_!*0DN2?P62a^k`loz{{a2)UPD?_omE)gd`Ce zl{)sNCCw~Oiykol&^R*3Q$yojS$^vkagRvHCncIu{Wo)LQB!sItT z-$Xv;ectLDv%%_bdB?uLY>$`DD>HHP`yRG7vU&Fv8Nus5GVSM>690>~?QK|_y>$JB zohv=0w|4p)?zr*%Qb*Byb0-)5|K|(yU%t5bQL=YO(%JvjKT0?y_H6!ip`PQ_!Vm1A znBBD{B1?vmfngF52Y53wi7=oh3|Op#5(X-O$22IJpld~rDp0aO09zmvt`#YfAe#V+ fQe=mLq7(rR1DS{j4)A7W1IaN1;Z`6m4t6mBQ?}+3 literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-scope-change2/new/Test.java b/regression/goto-diff/java-scope-change2/new/Test.java new file mode 100644 index 00000000000..2224243f158 --- /dev/null +++ b/regression/goto-diff/java-scope-change2/new/Test.java @@ -0,0 +1,20 @@ +public class Test { + + private int y = 5; + + public int foo(int x) { + if (x > 10 && y > 5) { + return y; + } else { + return y * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-scope-change2/old.jar b/regression/goto-diff/java-scope-change2/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..80caa8915a367e4a4e810dff831028bb47765ac2 GIT binary patch literal 738 zcmWIWW@Zs#;Nak3IKNHZhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ6F>%ZIYu!F#y&2x_!*0DN2?P62a^k`loz{{a2)UPD?_omE)gd`Ce zl{)sNCCw~Oiykol&^R*3Q$r&!KR+$K?A`0%kA)BDnaM`H*pisEw{=A;FXP7}#v&Q- z(l4*E5ir=jmz(kRh8-bH2R+R~(?9QaIeX0LWao@P6nI~p8 z7;8P-93q=8mDPXMd8hHj{!6ah+q&6iUC9nnxbj0``sLRLD~$p(J9X1G&zQRKi;DGR z+153=`?e)+V4m~O+U0&-^T!~6YboXB)vK?qIT)MO*O9H(=bYZS;Xl{mxC7V9mwLar z6SAcD){*5BF>i`9U3Pw#R$Mgw|MMN&OTN7L(c>2L@!bFFA0?a;dp3W%P|xvd;Rkk5 z%&LFN#L1}xS=2?G_tV;Yo9(6u5*6)0ICfGv;-*NT)#kWBzZ fDYC;rQHlVEflNdM2Y9oxf#jHha4V1&2fG*ma4O|5 literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-scope-change2/old/Test.java b/regression/goto-diff/java-scope-change2/old/Test.java new file mode 100644 index 00000000000..319613627d3 --- /dev/null +++ b/regression/goto-diff/java-scope-change2/old/Test.java @@ -0,0 +1,20 @@ +public class Test { + + public int y = 5; + + public int foo(int x) { + if (x > 10 && y > 5) { + return y; + } else { + return y * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-scope-change2/test.desc b/regression/goto-diff/java-scope-change2/test.desc new file mode 100644 index 00000000000..cc58141505e --- /dev/null +++ b/regression/goto-diff/java-scope-change2/test.desc @@ -0,0 +1,11 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \],\n "modifiedFunctions": \[\n {\n "name": "java::Test\.:\(\)V",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.:\(\)V",\n "line": "1"\n }\n },\n {\n "name": "java::Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.foo:\(I\)I",\n "line": "6"\n }\n },\n {\n "name": "java::Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.bar:\(I\)I",\n "line": "14"\n }\n }\n \],\n "newFunctions": \[ \], +-- +^warning: ignoring +-- diff --git a/regression/goto-diff/java-scope-change3/new.jar b/regression/goto-diff/java-scope-change3/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..8f3148c0491f02457bc9c77979c11015eac1850b GIT binary patch literal 455 zcmWIWW@Zs#U|`^2;N79)Q+#TloGc>)!z3W)Vvu17Ni8nXOU_9wE)EUhWMJmBi;M!{ z(h6<{MwYKYMPR+L0ek%p8%WrwXHITg;;HEqIU`_pquvVPBu2&1N9h?y-?1=jE_76M zeN-B7T+c&6g-x!Z-D%F^X^jW}+1;-#xBLD3`Dg9}cH3ejUTjH7y6krS*tCX65)G;qSZ-d`d=AA2n;PydwYtF}p` z;P}x!K36@LExhJp8&)0sQ^od1fsM(9C2@(3tR3 zwcY!YTkfTG`Z=3EwQGET&9TUP{kQp#3!c8X{E@Xc 10 && y > 5) { + return y; + } else { + return y * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-scope-change3/old.jar b/regression/goto-diff/java-scope-change3/old.jar new file mode 100644 index 0000000000000000000000000000000000000000..80caa8915a367e4a4e810dff831028bb47765ac2 GIT binary patch literal 738 zcmWIWW@Zs#;Nak3IKNHZhXDz2GO#fCx`sIFdiuHP|2xINz|0Wf&CUT*!30$nfK#&w zPz7AGucM!*n`>~0p0C?y-!rFuymj?1@_OrPojY@WbCAIm;|EWR^t^m^Jbf>gu43Vg zcp-U2T1rYQxSmT%wnplUQ6F>%ZIYu!F#y&2x_!*0DN2?P62a^k`loz{{a2)UPD?_omE)gd`Ce zl{)sNCCw~Oiykol&^R*3Q$r&!KR+$K?A`0%kA)BDnaM`H*pisEw{=A;FXP7}#v&Q- z(l4*E5ir=jmz(kRh8-bH2R+R~(?9QaIeX0LWao@P6nI~p8 z7;8P-93q=8mDPXMd8hHj{!6ah+q&6iUC9nnxbj0``sLRLD~$p(J9X1G&zQRKi;DGR z+153=`?e)+V4m~O+U0&-^T!~6YboXB)vK?qIT)MO*O9H(=bYZS;Xl{mxC7V9mwLar z6SAcD){*5BF>i`9U3Pw#R$Mgw|MMN&OTN7L(c>2L@!bFFA0?a;dp3W%P|xvd;Rkk5 z%&LFN#L1}xS=2?G_tV;Yo9(6u5*6)0ICfGv;-*NT)#kWBzZ fDYC;rQHlVEflNdM2Y9oxf#jHha4V1&2fG*ma4O|5 literal 0 HcmV?d00001 diff --git a/regression/goto-diff/java-scope-change3/old/Test.java b/regression/goto-diff/java-scope-change3/old/Test.java new file mode 100644 index 00000000000..319613627d3 --- /dev/null +++ b/regression/goto-diff/java-scope-change3/old/Test.java @@ -0,0 +1,20 @@ +public class Test { + + public int y = 5; + + public int foo(int x) { + if (x > 10 && y > 5) { + return y; + } else { + return y * 10; + } + } + + public int bar(int x) { + if (x < 10) { + return x; + } else { + return x / 10; + } + } +} diff --git a/regression/goto-diff/java-scope-change3/test.desc b/regression/goto-diff/java-scope-change3/test.desc new file mode 100644 index 00000000000..cc58141505e --- /dev/null +++ b/regression/goto-diff/java-scope-change3/test.desc @@ -0,0 +1,11 @@ +CORE +new.jar +old.jar --json-ui +// Enable multi-line checking +activate-multi-line-match +EXIT=0 +SIGNAL=0 + "deletedFunctions": \[ \],\n "modifiedFunctions": \[\n {\n "name": "java::Test\.:\(\)V",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.:\(\)V",\n "line": "1"\n }\n },\n {\n "name": "java::Test\.foo:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.foo:\(I\)I",\n "line": "6"\n }\n },\n {\n "name": "java::Test\.bar:\(I\)I",\n "sourceLocation": {\n "file": "Test\.java",\n "function": "java::Test\.bar:\(I\)I",\n "line": "14"\n }\n }\n \],\n "newFunctions": \[ \], +-- +^warning: ignoring +--