Add PsiJetParameterStub#hasValOrValNode

This commit is contained in:
Pavel V. Talanov
2014-03-27 20:47:34 +04:00
parent b52474381b
commit 420cae5307
3 changed files with 18 additions and 5 deletions
@@ -26,4 +26,5 @@ public interface PsiJetParameterStub extends PsiJetStubWithFqName<JetParameter>
String getTypeText();
@Nullable
String getDefaultValueText();
boolean hasValOrValNode();
}
@@ -46,7 +46,8 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
return new PsiJetParameterStubImpl(parentStub, psi.getFqName(),
psi.getName(), psi.isMutable(), psi.isVarArg(),
typeReference != null ? typeReference.getText() : null,
defaultValue != null ? defaultValue.getText() : null);
defaultValue != null ? defaultValue.getText() : null,
psi.getValOrVarNode() != null);
}
@Override
@@ -63,6 +64,7 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
dataStream.writeName(stub.getName());
dataStream.writeBoolean(stub.isMutable());
dataStream.writeBoolean(stub.isVarArg());
dataStream.writeBoolean(stub.hasValOrValNode());
dataStream.writeName(stub.getTypeText());
dataStream.writeName(stub.getDefaultValueText());
FqName name = stub.getFqName();
@@ -75,12 +77,13 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
StringRef name = dataStream.readName();
boolean isMutable = dataStream.readBoolean();
boolean isVarArg = dataStream.readBoolean();
boolean hasValOrValNode = dataStream.readBoolean();
StringRef typeText = dataStream.readName();
StringRef defaultValueText = dataStream.readName();
StringRef fqNameAsString = dataStream.readName();
FqName fqName = fqNameAsString != null ? new FqName(fqNameAsString.toString()) : null;
return new PsiJetParameterStubImpl(parentStub, fqName, name, isMutable, isVarArg,
typeText, defaultValueText);
typeText, defaultValueText, hasValOrValNode);
}
}
@@ -32,13 +32,15 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
private final StringRef typeText;
private final StringRef defaultValueText;
private final FqName fqName;
private final boolean hasValOrValNode;
public PsiJetParameterStubImpl(
StubElement parent,
FqName fqName, StringRef name,
boolean isMutable,
boolean isVarArg,
StringRef typeText, StringRef defaultValueText
StringRef typeText, StringRef defaultValueText,
boolean hasValOrValNode
) {
super(parent, JetStubElementTypes.VALUE_PARAMETER);
this.name = name;
@@ -47,6 +49,7 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
this.typeText = typeText;
this.defaultValueText = defaultValueText;
this.fqName = fqName;
this.hasValOrValNode = hasValOrValNode;
}
public PsiJetParameterStubImpl(
@@ -55,10 +58,11 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
boolean isMutable,
boolean isVarArg,
String typeText,
String defaultValueText
String defaultValueText,
boolean hasValOrValNode
) {
this(parent, fqName, StringRef.fromString(name), isMutable, isVarArg,
StringRef.fromString(typeText), StringRef.fromString(defaultValueText));
StringRef.fromString(typeText), StringRef.fromString(defaultValueText), hasValOrValNode);
}
@Override
@@ -87,6 +91,11 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
return StringRef.toString(defaultValueText);
}
@Override
public boolean hasValOrValNode() {
return hasValOrValNode;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();