Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
564c483
Start 1.11.0
jaskarth Apr 4, 2024
765a698
Fix switches on enums with a switch map along with null cases for jav…
coehlrich Apr 5, 2024
451ab66
Bump to Java 17
jaskarth Apr 5, 2024
9541def
Make generic remapping more defensive
jaskarth Apr 5, 2024
9aa4ff3
Fix copying values in arrays (#357)
Kroppeb Apr 5, 2024
f631ae7
Fix switch expressions not generating (#358)
coehlrich Apr 6, 2024
a478d8b
Fix formatter emitting blank lines for long method invocations with n…
jpenilla Apr 8, 2024
4379782
Fix variable namer parent not being set for local classes (#361)
coehlrich Apr 9, 2024
31554b4
Don't append indent to newlines immediately followed by another newli…
jpenilla Apr 9, 2024
bd39565
Add missing range check to account for EOF (#364)
jpenilla Apr 9, 2024
8c41ea6
Only use parameter names from method parameter attributes, if they ar…
shartte Apr 10, 2024
fdc9933
Don't tear down nested class wrappers after writing the root class (#…
jpenilla Apr 10, 2024
140d738
Fix J21 nested inner class synthetic params
jaskarth Apr 12, 2024
08608f9
Don't write explicit casts where redundant (#341)
IotaBread Apr 12, 2024
4c5ebf8
Move from a fixed thread pool to a fork join pool
jaskarth Apr 12, 2024
ba3328a
Add option to exclude classes from decompilation with regex (#370)
mvisat Apr 14, 2024
b7ed6bd
Kotlin default arguments (#369)
sschr15 Apr 16, 2024
43e6f4d
Fix 2 constructors of an inner class with 1 calling another (#375)
coehlrich Apr 19, 2024
6fcd301
Fix weird indent when inlined simple lambdas return something that ta…
jpenilla Apr 19, 2024
8ed3c2f
Inline empty lambda bodies to `{}` when simple lambda inlining enable…
jpenilla Apr 19, 2024
786d566
Update to J17 features + fix ctor default params (#376)
sschr15 Apr 19, 2024
4999386
Simplify empty anonymous class bodies to `{}` (#381)
jpenilla Apr 19, 2024
e54ccfd
Fix indent on 'simple' switch branches (#382)
jpenilla Apr 23, 2024
e9ce490
Fix breaking decompile switch-on-enum when enum does not exist in cla…
EpicPlayerA10 Apr 30, 2024
fa6317a
Map all bytecode in range (#386)
jaskarth May 1, 2024
cbc4296
Refactor the way bytecode offsets are tracked.
Kroppeb May 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ jobs:
build:
strategy:
matrix:
java: [11, 17, 19]
java: [17, 21]
runs-on: ubuntu-22.04
container:
image: eclipse-temurin:${{ matrix.java }}
Expand Down
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ allprojects {
group = 'org.vineflower'

compileJava {
sourceCompatibility = '11'
targetCompatibility = '11'
sourceCompatibility = '17'
targetCompatibility = '17'
}

java.toolchain {
languageVersion = JavaLanguageVersion.of(11)
languageVersion = JavaLanguageVersion.of(17)
}

repositories {
Expand All @@ -56,7 +56,7 @@ allprojects {
group = 'org.vineflower'
archivesBaseName = 'vineflower'

version = '1.10.0'
version = '1.11.0'

def ENV = System.getenv()
version = version + (ENV.GITHUB_ACTIONS ? "" : "+local")
Expand Down
14 changes: 14 additions & 0 deletions plugins/idea-not-null/testData/results/TestIdeaNotNull.dec
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,17 @@ class 'pkg/TestIdeaNotNull' {
f 9
10 10
11 10
12 10
13 10
14 11
1d 11
1e 13
1f 13
20 13
21 13
22 13
23 13
24 13
2c 14
30 14
34 14
Expand Down Expand Up @@ -145,11 +149,15 @@ class 'pkg/TestIdeaNotNull' {
2a 33
2b 33
2c 33
2d 33
2e 33
2f 34
30 34
31 34
32 34
33 34
34 34
35 34
36 36
}

Expand All @@ -168,6 +176,8 @@ class 'pkg/TestIdeaNotNull' {
12 43
13 43
14 43
15 43
16 43
1e 44
22 44
26 44
Expand All @@ -190,6 +200,8 @@ class 'pkg/TestIdeaNotNull' {
e 53
f 53
10 53
11 53
12 53
13 54
1d 54
1e 56
Expand All @@ -200,6 +212,8 @@ class 'pkg/TestIdeaNotNull' {
23 56
24 56
25 56
26 56
27 56
2f 57
33 57
37 57
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
package org.vineflower.kotlin;

import org.jetbrains.java.decompiler.api.plugin.PluginOptions;
import org.jetbrains.java.decompiler.main.DecompilerContext;
import org.jetbrains.java.decompiler.main.extern.IFernflowerPreferences.*;

import java.util.Map;

public interface KotlinOptions {
@Name("Show public visibility")
@Description("If a construct is public, show the public keyword")
@Type(Type.BOOLEAN)
String SHOW_PUBLIC_VISIBILITY = "kt-show-public";

@Name("Decompile Kotlin")
@Name("Enable Kotlin plugin")
@Description("Decompile Kotlin classes as Kotlin instead of Java")
@Type(Type.BOOLEAN)
String DECOMPILE_KOTLIN = "kt-decompile-kotlin";
String DECOMPILE_KOTLIN = "kt-enable";

@Name("Unknown default arg string")
@Description("String to use for unknown default arguments, or empty to not indicate unknown defaults")
@Type(Type.STRING)
String UNKNOWN_DEFAULT_ARG_STRING = "kt-unknown-defaults";

static void addDefaults(PluginOptions.AddDefaults cons) {
cons.addDefault(SHOW_PUBLIC_VISIBILITY, "1");
cons.addDefault(DECOMPILE_KOTLIN, "1");
cons.addDefault(UNKNOWN_DEFAULT_ARG_STRING, "...");
}
}
Loading