summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java5
-rw-r--r--src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java b/src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java
index 1882346..6e40fcb 100644
--- a/src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java
+++ b/src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java
@@ -124,6 +124,9 @@ public class NestedClassProcessor {
* But they add the field to the END of the fields list.
*/
private void gatherEnumSwitchMaps(ClassNode node) {
+ if (node.wrapper == null) {
+ return;
+ }
for (ClassNode child : node.nested) {
gatherEnumSwitchMaps(child);
}
@@ -231,7 +234,7 @@ public class NestedClassProcessor {
private static void setLambdaVars(ClassNode parent, ClassNode child) {
- if (child.lambda_information.is_method_reference) { // method reference, no code and no parameters
+ if (parent.wrapper == null || child.lambda_information.is_method_reference) { // method reference, no code and no parameters
return;
}
diff --git a/src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java b/src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java
index 320cc73..d2b717c 100644
--- a/src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java
+++ b/src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java
@@ -124,6 +124,7 @@ public class InvocationExprent extends Exprent {
isStatic = true;
}
else {
+ if (!lstParameters.isEmpty())
instance = lstParameters
.get(0); // FIXME: remove the first parameter completely from the list. It's the object type for a virtual lambda method.
}