Skip to content

Releases: teletha/reincarnation

v1.9.0

11 Nov 14:25
b0222f2
Compare
Choose a tag to compare

1.9.0 (2024-11-11)

Features

Bug Fixes

  • remove dependency on icy manipulator (88c4209)
  • source code requires Java 21 coz the latest ECJ is not support 23 (cacdd30)

v1.8.0

27 Aug 04:23
7c9f68a
Compare
Choose a tag to compare

1.8.0 (2024-08-27)

Features

  • support declaring TypeVariable in method and constructor (36f0586)
  • support method reference by TypeVariable (a495d1b)

v1.7.0

17 Jul 00:18
52aa3ca
Compare
Choose a tag to compare

1.7.0 (2024-07-17)

Features

  • (ecj) support nested string switch expression (73e9343)
  • (ecj) support string switch expression (0dfcf5b)
  • (javac) partial support for finally block (0774200)
  • (javac) partial support for finally block (7446fbf)
  • (javac) partial support for try-finally block (304d196)
  • (javac) support constructor reference (69e4088)
  • (javac) support enum switch (482f1b6)
  • (javac) support primitive array (54ee0b3)
  • (javac) support string switch statement (3c261ce)
  • (Javac) support synthetic asstion field (687f725)
  • (javac) support throw in switch (be4424c)
  • automatic bytecode compare view on failed test (20347ff)
  • compiler type is configurable (44f4603)
  • format debugger info (cb4cc5a)
  • show bytecode diff on failed tests (82ce348)
  • show javac and ecj bytecodes on test error (65853d3)
  • support method condition on string switch (a61f9a3)
  • support try-catch in switch expression (b3906db)
  • test by ecj and javac (9c1893f)

Bug Fixes

  • (javac) can't decompile local class (efed2a0)
  • (Javac) Executable#getGenericParameterTypes is broken on local (6aa3a18)
  • (Javac) Executable#getGenericParameterTypes is broken. (f576a0a)
  • (javac) optimize immediate yield in switch expression (6e511e0)
  • (javac) remove copied finally block correctly (b1349d0)
  • (javac) remove copied finally nodes correctly (9fa8a53)
  • (javac) support string switch expression (189c3ff)
  • add Node#canReachToAny and #canBeReachedFromAny (1575ca3)
  • cross compiler more (76b362c)
  • failed to decompile lambda (9cebeb7)
  • invalid if condition flow (e45b3f7)
  • merge conditions correctly (4b6550b)
  • nested switch expression (7d236c5)
  • test cache the expected result (18e2153)

v1.6.0

21 Apr 15:04
df5d14f
Compare
Choose a tag to compare

1.6.0 (2024-04-21)

Features

  • append local variable index on Coder (34d53b9)
  • Disable continue and break on return and yield statement. (45058f3)
  • Optimize the immediate yield partially. (58be4e0)
  • support JEP 280 Indify String Concatenation (a300498)
  • Support non-last default case on switch statement. (0de49bb)
  • Support throw on switch expression. (a8cb756)
  • update ecj to 3.37.0 (017f484)

Bug Fixes

v1.5.0

31 Mar 06:13
e99e118
Compare
Choose a tag to compare

1.5.0 (2023-03-31)

Features

  • Support omittable yield in switch statement. (eaea4ec)
  • Support omittable yield on switch expression. (9dd20bc)
  • Support switch expression by char. (e35760a)
  • Support switch expression by enum. (78e69e7)
  • Support switch expression by string. (e9e5b1a)
  • Support switch expression partially. (35aed41)
  • Support yield on switch expression. (d1d0655)

Bug Fixes

  • Detect the correct following node on if statement. (48bba83)
  • Distinguish between switch expressions and catch blocks. (8a7840f)
  • Distinguish between switch expressions and finally blocks. (add9a3e)
  • Enable variable declaration on switch expression's default block. (9e1686e)

v1.4.0

24 Mar 03:41
e71967f
Compare
Choose a tag to compare

1.4.0 (2023-03-24)

Features

  • Omittable break label. (1a30239)
  • Support escape sequence in string literal. (8d86e8c)
  • Support multiple cases on string switch. (b622d2f)
  • Support repeatable annotation. (69f6a1f)
  • Support switch statement by char. (dd640c7)
  • Support switch statement by enum. (59ef662)
  • Support switch statement by String. (30898a0)
  • Support switch statement for integral number. (c5dbcca)
  • Support switch statement partially. (cf8b475)
  • Support text block. (277da89)

Bug Fixes

  • Hide Debugger. (45ce4a6)
  • Normalize the sequencial jump instructions. (3972ec7)
  • Omit empty default block on switch. (a48a7f6)

v1.3.0

16 Mar 11:08
969afd5
Compare
Choose a tag to compare

1.3.0 (2023-03-16)

Features

  • (Java) Optimize output for the implicit constructor. (02664f1)
  • Support annotation on annotation and parameter. (d2c5957)
  • Support annotation on type, constructor, method and field. (c0df1ca)
  • Support enhanced for loop by array. (e70e99c)
  • Support enum features completely. (b046aa1)
  • Support enum. (1db1026)
  • Support extending class. (e985499)
  • Support GenericArrayType. (8dae090)
  • Support record features. (82ddb15)
  • Support sealed class. (4b8bf11)

Bug Fixes

  • (Java) Optimize super() code writing. (3e16baf)
  • Don't use Parameter#isSynthetic. (b944714)
  • Hide OperandLocalVariable and Inference. (a4cf1dd)
  • Hide some operand types. (de4ebca)
  • Hide some operand types. (fa2db31)
  • Move OperandUtil#isWrapper and #isUnwrapper to Classes. (adcf70b)
  • Update ecj compiler. (ce4a520)

v1.2.0

13 Mar 05:47
0f6330b
Compare
Choose a tag to compare

1.2.0 (2023-03-13)

Features

  • (Java) Import classes are filtered, sorted and grouped. (1627e9a)
  • Optimize class literal for primitive types. (35d9530)
  • Provide specialized ParameterizedType. (5f1da9c)
  • Support all modifiers. (ae17983)
  • Support assert with message. (375d034)
  • Support generics on type definition. (5c811dd)
  • Support generics partially. (b3f0219)
  • Support lambda with contextual local variables. (098d7f5)
  • Support local class. (5dcc7e1)
  • Support method reference for array and constructor. (1a47b33)
  • Support method reference. (63aaa91)
  • Support nested lambda with contextual variables. (094c379)
  • Support static method and private method on interface. (9abb142)
  • Support the bounded type variable on type definition. (e7ec82a)
  • Support vararg. (7759450)

Bug Fixes

  • Capture assertion error if needed. (ef5f894)
  • Enable assertion on verify tests. (16ea2cc)
  • Optimize cast code. (6321803)
  • remove duplicated code (55b50ba)

v1.1.0

02 Mar 07:51
a4b4aa2
Compare
Choose a tag to compare

1.1.0 (2023-03-02)

Features

  • (Java) Hide wrapper method call. (0ece9ec)
  • Drop Reincarnation#rebirth(Class). (fa15a22)
  • Enable fernflower on debug mode. (f3122d5)
  • Operand matching engine supports optional value. (3448d45)
  • OperandUtil#load supports array related operands. (c9cf309)
  • OperandUtil#load supports object array related operands. (05d5f9c)
  • Optimize boolean condition. (a346267)
  • Optimize empty if or else block. (7d4e1e3)
  • Optimize instanceof with pattern matching. (fc6366c)
  • Provide Naming strategy. (d8cb5fe)
  • Remove InferredType. (a856c55)
  • Support duplicated variable usage. (da7862e)
  • Support enhanced for loop. (10f1614)
  • Support enhanced for-loop for primitive wrapper classes. (7defc41)
  • Support enhanced for-loop with break. (1e77f61)
  • Support negation of instanceof. (982292d)
  • Support original variable name if available. (7d5dba6)
  • Support pattern matching for instanceof. (10f7218)
  • Support reusable variable declaration. (1624248)
  • Support string concatenation. (58bd29d)

Bug Fixes

  • Enable debuggable on class. (e252e17)
  • OperandInstanceOf must infer its type as boolean. (d27f813)
  • OperandLocalVariable must be stateless. (84180f4)
  • Support ALOAD oprand in Util#load. (4d5741c)

v1.0.0

24 Feb 00:36
22de701
Compare
Choose a tag to compare

1.0.0 (2023-02-23)

Features

  • debuggable annotaion is enabled at test class and method (5476927)
  • Debugger is thread-safe. (89e0935)
  • enhance debug message (6e22ff8)
  • Failed test uses debug mode automatically. (2cbff2e)
  • Optimize the immediate return. (e548b59)
  • Optimize value assignment. (35b62fd)
  • Provide Decompiler API. (74fb411)

Bug Fixes