From 67d2a8dcca630fe178c94d0da33da0417f38e1fa Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sun, 11 Mar 2012 13:46:50 +0400 Subject: [PATCH] Work around the shallowly analyzed files --- .../src/org/jetbrains/jet/codegen/ClosureAnnotator.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureAnnotator.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureAnnotator.java index 21d322cd3bf..318025c9513 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureAnnotator.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureAnnotator.java @@ -111,7 +111,7 @@ public class ClosureAnnotator { private class MyJetVisitorVoid extends JetVisitorVoid { private LinkedList classStack = new LinkedList(); private LinkedList nameStack = new LinkedList(); - + private void recordEnclosing(ClassDescriptor classDescriptor) { if(classStack.size() > 0) { ClassDescriptor put = enclosing.put(classDescriptor, classStack.peek()); @@ -178,6 +178,8 @@ public class ClosureAnnotator { } else { ClassDescriptor classDescriptor = bindingContext.get(BindingContext.CLASS, declaration); + // working around a problem with shallow analysis + if (classDescriptor == null) return; recordEnclosing(classDescriptor); classStack.push(classDescriptor); String base = nameStack.peek(); @@ -195,6 +197,8 @@ public class ClosureAnnotator { @Override public void visitClass(JetClass klass) { ClassDescriptor classDescriptor = bindingContext.get(BindingContext.CLASS, klass); + // working around a problem with shallow analysis + if (classDescriptor == null) return; recordEnclosing(classDescriptor); classStack.push(classDescriptor); String base = nameStack.peek();