From 195dabf6e6556b9266b7b6e109b777784c9253d9 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Wed, 26 Apr 2017 20:29:15 +0300 Subject: [PATCH] test for union types --- .../java/decompiler/SingleClassesTest.java | 1 + testData/classes/pkg/TestUnionType.class | Bin 0 -> 1805 bytes testData/results/TestUnionType.dec | 28 ++++++++++++++++++ testData/src/pkg/TestUnionType.java | 10 +++++++ 4 files changed, 39 insertions(+) create mode 100644 testData/classes/pkg/TestUnionType.class create mode 100644 testData/results/TestUnionType.dec create mode 100644 testData/src/pkg/TestUnionType.java diff --git a/test/org/jetbrains/java/decompiler/SingleClassesTest.java b/test/org/jetbrains/java/decompiler/SingleClassesTest.java index fe54ecb..3a213c4 100644 --- a/test/org/jetbrains/java/decompiler/SingleClassesTest.java +++ b/test/org/jetbrains/java/decompiler/SingleClassesTest.java @@ -112,6 +112,7 @@ public class SingleClassesTest { @Test public void testVarArgCalls() { doTest("pkg/TestVarArgCalls"); } @Test public void testLambdaParams() { doTest("pkg/TestLambdaParams"); } @Test public void testInterfaceMethods() { doTest("pkg/TestInterfaceMethods"); } + //@Test public void testUnionType() { doTest("pkg/TestUnionType"); } //TODO: fix private void doTest(String testFile, String... companionFiles) { ConsoleDecompiler decompiler = fixture.getDecompiler(); diff --git a/testData/classes/pkg/TestUnionType.class b/testData/classes/pkg/TestUnionType.class new file mode 100644 index 0000000000000000000000000000000000000000..b29915843360b37486595da31aae6720565bdcf1 GIT binary patch literal 1805 zcma)5&v(>R6#m{!o1`JM({x%uE4DP14iyG!E#lBBjI9hz3p%9=i25e;It|SvVR3C{YA8IH`;YAIWr1KgUB>hOm#~Lo_7{X;03o6PC zhV8f7JaD{b#S0mZP8F*6_!cjAL&q(aBOMR@pv2Hq_8Wp>pz3&HrQ52DV3pThk_=f5 z(Gh{eUFSzp<*j;yTMXx?Vj!1$&7$LN`J19x+p%iIW~IbgWOKcKPuL+jGONDL-8BkI z;wMfNHv(pucnw&F!?lpxo6Ec%Jy-Dw!|@owN+)csug}iS&79@dIfj$zh?8hi&JszX z!jQ4a+DaJr?illZsCbTtS60HgFZ!3{ z6u%nRKp6N;%08E}!S-gexF=QvHK{lexsO^@ab3~m?xmpFZ3!=2{J|FOkTRpy6K*ZzMdh~jRFu+nO~aUoZD zi)x)y|}*@h%c9r#xua?=$psH%tjsd`rcu`u=9OO>tE`PXtj^f-?RoUAqJ_ zj`0fj8m{PA@xxMTUy|Tbl06UQrj+iav^%?(5+x7H+;wYCC`u}5uO?p_n1dpraecL& z!f5`E$Q48ueK?9^V0eRW7E$>bk0tXAnPiKM6rD^Mg~{ z=&5Grr?=7j3*ATQu)EK{e?fF`+ElioKBTpuAC*e_zM&KQ0`l}$%PBu&k(fSH-^QVb zxInyN9*+3a#P^#65kF3R&K!*RVdBk1-WP@Z=m~~ynfc!^{5v_wrovWmoFqo%^a0++ z7~RI{^rPo*jH)=n^!#7AO3Bd}CCSYZ&5%u|=U4epp=lA?NUX&q-XXoTI7u8Mzf;kz efV)I>lH8$$zoIgqqI-_+)9A&!I8EmaivI%LcheXE literal 0 HcmV?d00001 diff --git a/testData/results/TestUnionType.dec b/testData/results/TestUnionType.dec new file mode 100644 index 0000000..1b541d8 --- /dev/null +++ b/testData/results/TestUnionType.dec @@ -0,0 +1,28 @@ +package pkg; + +import java.io.Serializable; +import java.util.Comparator; + +public interface TestUnionType { + static Comparator comparingInt() { + return (Comparator & Serializable)((c1, c2) -> {// 8 + return 1; + })); + } +} + +class 'pkg/TestUnionType' { + method 'lambda$comparingInt$ff46620a$1 (Ljava/lang/Object;Ljava/lang/Object;)I' { + 0 8 + 1 8 + } + + method 'comparingInt ()Ljava/util/Comparator;' { + 5 7 + 8 7 + b 7 + } +} + +Lines mapping: +8 <-> 8 diff --git a/testData/src/pkg/TestUnionType.java b/testData/src/pkg/TestUnionType.java new file mode 100644 index 0000000..13c2bf7 --- /dev/null +++ b/testData/src/pkg/TestUnionType.java @@ -0,0 +1,10 @@ +package pkg; + +import java.io.Serializable; +import java.util.Comparator; + +public interface TestUnionType { + public static Comparator comparingInt() { + return (Comparator & Serializable)(c1, c2) -> 1; + } +}