Add PsiJetParameterStub#hasDefaultValue

This commit is contained in:
Pavel V. Talanov
2014-03-27 21:01:05 +04:00
parent f8d9a69aa9
commit e8d065a80f
3 changed files with 15 additions and 5 deletions
@@ -22,4 +22,5 @@ public interface PsiJetParameterStub extends PsiJetStubWithFqName<JetParameter>
boolean isMutable();
boolean isVarArg();
boolean hasValOrValNode();
boolean hasDefaultValue();
}
@@ -24,9 +24,7 @@ import com.intellij.psi.stubs.StubOutputStream;
import com.intellij.util.io.StringRef;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetExpression;
import org.jetbrains.jet.lang.psi.JetParameter;
import org.jetbrains.jet.lang.psi.JetTypeReference;
import org.jetbrains.jet.lang.psi.stubs.PsiJetParameterStub;
import org.jetbrains.jet.lang.psi.stubs.impl.PsiJetParameterStubImpl;
import org.jetbrains.jet.lang.resolve.name.FqName;
@@ -41,7 +39,8 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
@Override
public PsiJetParameterStub createStub(@NotNull JetParameter psi, StubElement parentStub) {
return new PsiJetParameterStubImpl(parentStub, psi.getFqName(), StringRef.fromString(psi.getName()),
psi.isMutable(), psi.isVarArg(), psi.getValOrVarNode() != null);
psi.isMutable(), psi.isVarArg(), psi.getValOrVarNode() != null,
psi.getDefaultValue() != null);
}
@Override
@@ -59,6 +58,7 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
dataStream.writeBoolean(stub.isMutable());
dataStream.writeBoolean(stub.isVarArg());
dataStream.writeBoolean(stub.hasValOrValNode());
dataStream.writeBoolean(stub.hasDefaultValue());
FqName name = stub.getFqName();
dataStream.writeName(name != null ? name.asString() : null);
}
@@ -70,9 +70,10 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
boolean isMutable = dataStream.readBoolean();
boolean isVarArg = dataStream.readBoolean();
boolean hasValOrValNode = dataStream.readBoolean();
boolean hasDefaultValue = dataStream.readBoolean();
StringRef fqNameAsString = dataStream.readName();
FqName fqName = fqNameAsString != null ? new FqName(fqNameAsString.toString()) : null;
return new PsiJetParameterStubImpl(parentStub, fqName, name, isMutable, isVarArg, hasValOrValNode);
return new PsiJetParameterStubImpl(parentStub, fqName, name, isMutable, isVarArg, hasValOrValNode, hasDefaultValue);
}
}
@@ -32,13 +32,15 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
//TODO: store as StringRef
private final FqName fqName;
private final boolean hasValOrValNode;
private final boolean hasDefaultValue;
public PsiJetParameterStubImpl(
StubElement parent,
FqName fqName, StringRef name,
boolean isMutable,
boolean isVarArg,
boolean hasValOrValNode
boolean hasValOrValNode,
boolean hasDefaultValue
) {
super(parent, JetStubElementTypes.VALUE_PARAMETER);
this.name = name;
@@ -46,6 +48,7 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
this.isVarArg = isVarArg;
this.fqName = fqName;
this.hasValOrValNode = hasValOrValNode;
this.hasDefaultValue = hasDefaultValue;
}
@Override
@@ -68,6 +71,11 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
return hasValOrValNode;
}
@Override
public boolean hasDefaultValue() {
return hasDefaultValue;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();