diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml
index 6c2f8ad45ac..23bae163cd7 100644
--- a/.idea/inspectionProfiles/idea_default.xml
+++ b/.idea/inspectionProfiles/idea_default.xml
@@ -410,9 +410,6 @@
-
diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java
index b759f9352ea..b1359061dd1 100644
--- a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java
+++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java
@@ -276,8 +276,7 @@ public class ClosureCodegen {
: typeMapper.mapType(((VariableDescriptor) descriptor).getType(), MapTypeMode.VALUE);
args.add(new Pair("$" + descriptor.getName().getName(), type));
}
- else if (isNamedFun(state.getBindingContext(), descriptor) &&
- descriptor.getContainingDeclaration() instanceof FunctionDescriptor) {
+ else if (isLocalNamedFun(state.getBindingContext(), descriptor)) {
final Type type =
classNameForAnonymousClass(bindingContext,
(JetElement) BindingContextUtils.descriptorToDeclaration(bindingContext, descriptor))
diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenBinding.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenBinding.java
index ab41d77fe84..118d97be21d 100644
--- a/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenBinding.java
+++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenBinding.java
@@ -233,10 +233,11 @@ public class CodegenBinding {
return false;
}
- public static boolean isNamedFun(BindingContext bindingContext, DeclarationDescriptor fd) {
+ public static boolean isLocalNamedFun(BindingContext bindingContext, DeclarationDescriptor fd) {
PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(bindingContext, fd);
if (psiElement instanceof JetNamedFunction) {
- return true;
+ final DeclarationDescriptor declaration = fd.getContainingDeclaration();
+ return declaration instanceof FunctionDescriptor || declaration instanceof PropertyDescriptor;
}
return false;
}
diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/LocalLookup.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/LocalLookup.java
index 846dd41bec6..54984795e2f 100644
--- a/compiler/backend/src/org/jetbrains/jet/codegen/context/LocalLookup.java
+++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/LocalLookup.java
@@ -65,7 +65,7 @@ public interface LocalLookup {
LOCAL_NAMED_FUNCTION {
@Override
public boolean isCase(DeclarationDescriptor d, GenerationState state) {
- return isNamedFun(state.getBindingContext(), d) && (d.getContainingDeclaration() instanceof FunctionDescriptor);
+ return isLocalNamedFun(state.getBindingContext(), d);
}
@Override