diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/CallableDescriptorCollectors.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/CallableDescriptorCollectors.java index 50cdc0cd0fc..a794b208a88 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/CallableDescriptorCollectors.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/CallableDescriptorCollectors.java @@ -29,8 +29,13 @@ import org.jetbrains.jet.lang.types.JetType; import java.util.*; public class CallableDescriptorCollectors { + public static CallableDescriptorCollector FUNCTIONS = new FunctionCollector(); + public static CallableDescriptorCollector VARIABLES = new VariableCollector(); + public static CallableDescriptorCollector PROPERTIES = new PropertyCollector(); + public static List> FUNCTIONS_AND_VARIABLES = + Lists.newArrayList(FUNCTIONS, VARIABLES); - public static CallableDescriptorCollector FUNCTIONS = new CallableDescriptorCollector() { + private static class FunctionCollector implements CallableDescriptorCollector { @NotNull @Override @@ -61,7 +66,7 @@ public class CallableDescriptorCollectors { return scope.getFunctions(name); } - private void addConstructors(JetScope scope, Name name, Collection functions) { + private static void addConstructors(JetScope scope, Name name, Collection functions) { ClassifierDescriptor classifier = scope.getClassifier(name); if (classifier instanceof ClassDescriptor && !ErrorUtils.isError(classifier.getTypeConstructor())) { ClassDescriptor classDescriptor = (ClassDescriptor) classifier; @@ -73,9 +78,9 @@ public class CallableDescriptorCollectors { public String toString() { return "FUNCTIONS"; } - }; + } - public static CallableDescriptorCollector VARIABLES = new CallableDescriptorCollector() { + private static class VariableCollector implements CallableDescriptorCollector { @NotNull @Override @@ -111,10 +116,10 @@ public class CallableDescriptorCollectors { public String toString() { return "VARIABLES"; } - }; - - public static CallableDescriptorCollector PROPERTIES = new CallableDescriptorCollector() { - private Collection filterProperties(Collection variableDescriptors) { + } + + private static class PropertyCollector implements CallableDescriptorCollector { + private static Collection filterProperties(Collection variableDescriptors) { ArrayList properties = Lists.newArrayList(); for (VariableDescriptor descriptor : variableDescriptors) { if (descriptor instanceof PropertyDescriptor) { @@ -146,8 +151,8 @@ public class CallableDescriptorCollectors { public String toString() { return "PROPERTIES"; } - }; + } - public static List> FUNCTIONS_AND_VARIABLES = Lists.newArrayList( - FUNCTIONS, VARIABLES); + private CallableDescriptorCollectors() { + } }