Minor: small code rearrangement

This commit is contained in:
Nikolay Krasko
2014-08-26 14:16:39 +04:00
parent 10886a8ce3
commit 932bd57cf9
4 changed files with 34 additions and 25 deletions
@@ -166,18 +166,12 @@ public interface BindingContext {
if (propertyDescriptor.getModality() == Modality.ABSTRACT) return false; if (propertyDescriptor.getModality() == Modality.ABSTRACT) return false;
PropertyGetterDescriptor getter = propertyDescriptor.getGetter(); PropertyGetterDescriptor getter = propertyDescriptor.getGetter();
PropertySetterDescriptor setter = propertyDescriptor.getSetter(); PropertySetterDescriptor setter = propertyDescriptor.getSetter();
if (getter == null) {
return true; if (getter == null) return true;
} if (propertyDescriptor.isVar() && setter == null) return true;
else if (propertyDescriptor.isVar() && setter == null) { if (setter != null && !setter.hasBody() && setter.getModality() != Modality.ABSTRACT) return true;
return true; if (!getter.hasBody() && getter.getModality() != Modality.ABSTRACT) return true;
}
else if (setter != null && !setter.hasBody() && setter.getModality() != Modality.ABSTRACT) {
return true;
}
else if (!getter.hasBody() && getter.getModality() != Modality.ABSTRACT) {
return true;
}
return backingFieldRequired; return backingFieldRequired;
} }
}; };
@@ -39,19 +39,29 @@ import static org.jetbrains.jet.lang.diagnostics.Errors.MANY_CLASS_OBJECTS;
import static org.jetbrains.jet.lang.diagnostics.Errors.UNSUPPORTED; import static org.jetbrains.jet.lang.diagnostics.Errors.UNSUPPORTED;
public class LazyTopDownAnalyzer { public class LazyTopDownAnalyzer {
@SuppressWarnings("ConstantConditions")
@NotNull
private BindingTrace trace = null;
@SuppressWarnings("ConstantConditions")
@NotNull @NotNull
private BindingTrace trace; private DeclarationResolver declarationResolver = null;
@SuppressWarnings("ConstantConditions")
@NotNull @NotNull
private DeclarationResolver declarationResolver; private OverrideResolver overrideResolver = null;
@SuppressWarnings("ConstantConditions")
@NotNull @NotNull
private OverrideResolver overrideResolver; private OverloadResolver overloadResolver = null;
@SuppressWarnings("ConstantConditions")
@NotNull @NotNull
private OverloadResolver overloadResolver; private ModuleDescriptor moduleDescriptor = null;
@SuppressWarnings("ConstantConditions")
@NotNull @NotNull
private ModuleDescriptor moduleDescriptor; private BodyResolver bodyResolver = null;
@NotNull
private BodyResolver bodyResolver;
@Inject @Inject
public void setTrace(@NotNull BindingTrace trace) { public void setTrace(@NotNull BindingTrace trace) {
@@ -52,7 +52,7 @@ public abstract class JetFixtureCompletionBaseTestCase extends JetLightCodeInsig
oldValue = settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION; oldValue = settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION;
settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = value; settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = value;
} }
else{ else {
oldValue = settings.AUTOCOMPLETE_COMMON_PREFIX; oldValue = settings.AUTOCOMPLETE_COMMON_PREFIX;
settings.AUTOCOMPLETE_ON_CODE_COMPLETION = value; settings.AUTOCOMPLETE_ON_CODE_COMPLETION = value;
} }
@@ -259,20 +259,25 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
private JetChangeInfo getChangeInfo() throws Exception { private JetChangeInfo getChangeInfo() throws Exception {
configureByFile(getTestName(false) + "Before.kt"); configureByFile(getTestName(false) + "Before.kt");
Editor editor = getEditor(); Editor editor = getEditor();
PsiFile file = getFile(); PsiFile file = getFile();
Project project = getProject();
JetElement element = (JetElement) new JetChangeSignatureHandler().findTargetMember(file, editor); JetElement element = (JetElement) new JetChangeSignatureHandler().findTargetMember(file, editor);
assertNotNull("Target element is null", element); assertNotNull("Target element is null", element);
Project project = getProject();
BindingContext bindingContext = BindingContext bindingContext = AnalyzerFacadeWithCache.getContextForElement(element);
AnalyzerFacadeWithCache.getContextForElement(element);
PsiElement context = file.findElementAt(editor.getCaretModel().getOffset()); PsiElement context = file.findElementAt(editor.getCaretModel().getOffset());
assertNotNull(context); assertNotNull(context);
FunctionDescriptor functionDescriptor = JetChangeSignatureHandler.findDescriptor(element, project, editor, bindingContext); FunctionDescriptor functionDescriptor = JetChangeSignatureHandler.findDescriptor(element, project, editor, bindingContext);
assertNotNull(functionDescriptor); assertNotNull(functionDescriptor);
JetChangeSignatureDialog dialog = getChangeSignatureDialog(project, functionDescriptor,
JetChangeSignatureHandler.getConfiguration(), bindingContext, context); JetChangeSignatureDialog dialog = getChangeSignatureDialog(
project, functionDescriptor, JetChangeSignatureHandler.getConfiguration(), bindingContext, context);
assertNotNull(dialog); assertNotNull(dialog);
dialog.canRun(); dialog.canRun();
Disposer.register(getTestRootDisposable(), dialog.getDisposable()); Disposer.register(getTestRootDisposable(), dialog.getDisposable());
return dialog.evaluateChangeInfo(); return dialog.evaluateChangeInfo();