Introduce JetParameter#hasDefaultValue() and use it instead of getDefaultValue() where appropriate

This commit is contained in:
Pavel V. Talanov
2014-04-09 17:56:30 +04:00
parent 5bf5dfc5a4
commit b9aaab12d4
3 changed files with 12 additions and 5 deletions
@@ -45,6 +45,14 @@ public class JetParameter extends JetNamedDeclarationStub<PsiJetParameterStub> {
return getStubOrPsiChild(JetStubElementTypes.TYPE_REFERENCE);
}
public boolean hasDefaultValue() {
PsiJetParameterStub stub = getStub();
if (stub != null) {
return stub.hasDefaultValue();
}
return getDefaultValue() != null;
}
@Nullable
public JetExpression getDefaultValue() {
PsiJetParameterStub stub = getStub();
@@ -40,7 +40,7 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
public PsiJetParameterStub createStub(@NotNull JetParameter psi, StubElement parentStub) {
return new PsiJetParameterStubImpl(parentStub, psi.getFqName(), StringRef.fromString(psi.getName()),
psi.isMutable(), psi.isVarArg(), psi.hasValOrVarNode(),
psi.getDefaultValue() != null);
psi.hasDefaultValue());
}
@Override
@@ -556,7 +556,7 @@ public class DescriptorResolver {
annotations,
JetPsiUtil.safeName(valueParameter.getName()),
variableType,
valueParameter.getDefaultValue() != null,
valueParameter.hasDefaultValue(),
varargElementType
);
@@ -1151,9 +1151,8 @@ public class DescriptorResolver {
if (parameter != null) {
// This check is redundant: the parser does not allow a default value, but we'll keep it just in case
JetExpression defaultValue = parameter.getDefaultValue();
if (defaultValue != null) {
trace.report(SETTER_PARAMETER_WITH_DEFAULT_VALUE.on(defaultValue));
if (parameter.hasDefaultValue()) {
trace.report(SETTER_PARAMETER_WITH_DEFAULT_VALUE.on(parameter.getDefaultValue()));
}
JetType type;