Minor. Extract method

This commit is contained in:
Andrey Breslav
2014-03-27 18:25:28 +04:00
parent f81bf5ea73
commit e683a28689
@@ -129,11 +129,26 @@ public class ScriptHeaderResolver {
for (Map.Entry<JetScript, ScriptDescriptor> e : c.getScripts().entrySet()) { for (Map.Entry<JetScript, ScriptDescriptor> e : c.getScripts().entrySet()) {
JetScript declaration = e.getKey(); JetScript declaration = e.getKey();
ScriptDescriptorImpl descriptor = (ScriptDescriptorImpl) e.getValue(); ScriptDescriptorImpl descriptor = (ScriptDescriptorImpl) e.getValue();
List<ValueParameterDescriptor> valueParameters = resolveScriptParameters(c, declaration, descriptor);
descriptor.setValueParameters(valueParameters);
WritableScope scope = descriptor.getScopeForBodyResolution(); WritableScope scope = descriptor.getScopeForBodyResolution();
List<ValueParameterDescriptor> valueParameters = Lists.newArrayList();
scope.setImplicitReceiver(descriptor.getThisAsReceiverParameter()); scope.setImplicitReceiver(descriptor.getThisAsReceiverParameter());
for (ValueParameterDescriptor valueParameterDescriptor : valueParameters) {
scope.addVariableDescriptor(valueParameterDescriptor);
}
}
}
@NotNull
public List<ValueParameterDescriptor> resolveScriptParameters(
@NotNull TopDownAnalysisContext c,
@NotNull JetScript declaration,
@NotNull ScriptDescriptor scriptDescriptor
) {
List<ValueParameterDescriptor> valueParameters = Lists.newArrayList();
JetFile file = (JetFile) declaration.getContainingFile(); JetFile file = (JetFile) declaration.getContainingFile();
JetScriptDefinition scriptDefinition = JetScriptDefinitionProvider.getInstance(file.getProject()).findScriptDefinition(file); JetScriptDefinition scriptDefinition = JetScriptDefinitionProvider.getInstance(file.getProject()).findScriptDefinition(file);
@@ -144,13 +159,10 @@ public class ScriptHeaderResolver {
: c.getTopDownAnalysisParameters().getScriptParameters(); : c.getTopDownAnalysisParameters().getScriptParameters();
for (AnalyzerScriptParameter scriptParameter : scriptParameters) { for (AnalyzerScriptParameter scriptParameter : scriptParameters) {
ValueParameterDescriptor parameter = resolveScriptParameter(scriptParameter, index, descriptor); ValueParameterDescriptor parameter = resolveScriptParameter(scriptParameter, index, scriptDescriptor);
valueParameters.add(parameter); valueParameters.add(parameter);
scope.addVariableDescriptor(parameter);
++index; ++index;
} }
return valueParameters;
descriptor.setValueParameters(valueParameters);
}
} }
} }