From 90b6e78f89682961a137e5de2e17c2106781d8ab Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sat, 2 Apr 2011 23:29:23 +0400 Subject: [PATCH] isBlock fixed for doWhile --- .idea/inspectionProfiles/idea_default.xml | 407 ------------------ .../inspectionProfiles/profiles_settings.xml | 2 +- .../jet/lang/resolve/BindingTraceContext.java | 2 +- .../jet/lang/types/JetTypeInferrer.java | 1 + 4 files changed, 3 insertions(+), 409 deletions(-) delete mode 100644 .idea/inspectionProfiles/idea_default.xml diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml deleted file mode 100644 index 9f395850c02..00000000000 --- a/.idea/inspectionProfiles/idea_default.xml +++ /dev/null @@ -1,407 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml index 78f1346b901..3b312839bf2 100644 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -1,6 +1,6 @@ - diff --git a/idea/src/org/jetbrains/jet/lang/resolve/BindingTraceContext.java b/idea/src/org/jetbrains/jet/lang/resolve/BindingTraceContext.java index acbe4bd62d6..28ba5980e19 100644 --- a/idea/src/org/jetbrains/jet/lang/resolve/BindingTraceContext.java +++ b/idea/src/org/jetbrains/jet/lang/resolve/BindingTraceContext.java @@ -133,6 +133,6 @@ public class BindingTraceContext extends BindingTrace implements BindingContext @Override public boolean isBlock(JetFunctionLiteralExpression expression) { - return expression.hasParameterSpecification() || blocks.contains(expression); + return !expression.hasParameterSpecification() && blocks.contains(expression); } } diff --git a/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java b/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java index 06def93c675..f5a068f5d5c 100644 --- a/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java +++ b/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java @@ -693,6 +693,7 @@ public class JetTypeInferrer { WritableScope writableScope = semanticServices.createWritableScope(scope, scope.getContainingDeclaration()); conditionScope = writableScope; getBlockReturnedTypeWithWritableScope(writableScope, function.getBody(), LabeledJumpDomain.ERROR); // TODO + trace.recordBlock(function); } else { getType(scope, body, true); }