From 88d3d7481fb0d3f908ef19a220453ffbceeffc62 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 6 Dec 2018 10:00:00 +1100 Subject: Clean up old decompiler changes + add new sugaring Contains code from: Alexandru-Constantin Bledea - Boxing Dmitry Cherniachenko - Vararg parameters, Boxing Egor Ushakov - Lambda, String Quoting Lex Manos - Switch decompilation Thinkofdeath - Formatting --- src/org/jetbrains/java/decompiler/struct/StructClass.java | 3 +++ src/org/jetbrains/java/decompiler/struct/gen/VarType.java | 2 ++ 2 files changed, 5 insertions(+) (limited to 'src/org/jetbrains/java/decompiler/struct') diff --git a/src/org/jetbrains/java/decompiler/struct/StructClass.java b/src/org/jetbrains/java/decompiler/struct/StructClass.java index cb24ff6..13f5875 100644 --- a/src/org/jetbrains/java/decompiler/struct/StructClass.java +++ b/src/org/jetbrains/java/decompiler/struct/StructClass.java @@ -24,6 +24,8 @@ import org.jetbrains.java.decompiler.util.InterpreterUtil; import org.jetbrains.java.decompiler.util.VBStyleCollection; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; /* class_file { @@ -58,6 +60,7 @@ public class StructClass extends StructMember { private final String[] interfaceNames; private final VBStyleCollection fields; private final VBStyleCollection methods; + public final Map> enumSwitchMap = new HashMap>(); private ConstantPool pool; diff --git a/src/org/jetbrains/java/decompiler/struct/gen/VarType.java b/src/org/jetbrains/java/decompiler/struct/gen/VarType.java index a58898a..d09ee59 100644 --- a/src/org/jetbrains/java/decompiler/struct/gen/VarType.java +++ b/src/org/jetbrains/java/decompiler/struct/gen/VarType.java @@ -39,6 +39,8 @@ public class VarType { // TODO: optimize switch public static final VarType VARTYPE_STRING = new VarType(CodeConstants.TYPE_OBJECT, 0, "java/lang/String"); public static final VarType VARTYPE_CLASS = new VarType(CodeConstants.TYPE_OBJECT, 0, "java/lang/Class"); public static final VarType VARTYPE_OBJECT = new VarType(CodeConstants.TYPE_OBJECT, 0, "java/lang/Object"); + public static final VarType VARTYPE_INTEGER = new VarType(CodeConstants.TYPE_OBJECT, 0, "java/lang/Integer"); + public static final VarType VARTYPE_CHARACTER = new VarType(CodeConstants.TYPE_OBJECT, 0, "java/lang/Character"); public static final VarType VARTYPE_VOID = new VarType(CodeConstants.TYPE_VOID); public int type; -- cgit v1.2.3