IDEA-130477 Instance creation of local inner class within static method is not decompiled correctly

This commit is contained in:
Egor.Ushakov
2015-01-16 20:46:57 +03:00
parent 62b876af25
commit c254ddd8f2
10 changed files with 166 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2000-2014 JetBrains s.r.o.
* Copyright 2000-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -389,7 +389,8 @@ public class NewExprent extends Exprent {
private static String getQualifiedNewInstance(String classname, List<Exprent> lstParams, int indent, BytecodeMappingTracer tracer) {
ClassNode node = DecompilerContext.getClassProcessor().getMapRootClasses().get(classname);
if (node != null && node.type != ClassNode.CLASS_ROOT && (node.access & CodeConstants.ACC_STATIC) == 0) {
if (node != null && node.type != ClassNode.CLASS_ROOT && node.type != ClassNode.CLASS_LOCAL
&& (node.access & CodeConstants.ACC_STATIC) == 0) {
if (!lstParams.isEmpty()) {
Exprent enclosing = lstParams.get(0);