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(); String getTypeText();
@Nullable @Nullable
String getDefaultValueText(); String getDefaultValueText();
boolean hasValOrValNode();
} }
@@ -46,7 +46,8 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
return new PsiJetParameterStubImpl(parentStub, psi.getFqName(), return new PsiJetParameterStubImpl(parentStub, psi.getFqName(),
psi.getName(), psi.isMutable(), psi.isVarArg(), psi.getName(), psi.isMutable(), psi.isVarArg(),
typeReference != null ? typeReference.getText() : null, typeReference != null ? typeReference.getText() : null,
defaultValue != null ? defaultValue.getText() : null); defaultValue != null ? defaultValue.getText() : null,
psi.getValOrVarNode() != null);
} }
@Override @Override
@@ -63,6 +64,7 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
dataStream.writeName(stub.getName()); dataStream.writeName(stub.getName());
dataStream.writeBoolean(stub.isMutable()); dataStream.writeBoolean(stub.isMutable());
dataStream.writeBoolean(stub.isVarArg()); dataStream.writeBoolean(stub.isVarArg());
dataStream.writeBoolean(stub.hasValOrValNode());
dataStream.writeName(stub.getTypeText()); dataStream.writeName(stub.getTypeText());
dataStream.writeName(stub.getDefaultValueText()); dataStream.writeName(stub.getDefaultValueText());
FqName name = stub.getFqName(); FqName name = stub.getFqName();
@@ -75,12 +77,13 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
StringRef name = dataStream.readName(); StringRef name = dataStream.readName();
boolean isMutable = dataStream.readBoolean(); boolean isMutable = dataStream.readBoolean();
boolean isVarArg = dataStream.readBoolean(); boolean isVarArg = dataStream.readBoolean();
boolean hasValOrValNode = dataStream.readBoolean();
StringRef typeText = dataStream.readName(); StringRef typeText = dataStream.readName();
StringRef defaultValueText = dataStream.readName(); StringRef defaultValueText = dataStream.readName();
StringRef fqNameAsString = dataStream.readName(); StringRef fqNameAsString = dataStream.readName();
FqName fqName = fqNameAsString != null ? new FqName(fqNameAsString.toString()) : null; FqName fqName = fqNameAsString != null ? new FqName(fqNameAsString.toString()) : null;
return new PsiJetParameterStubImpl(parentStub, fqName, name, isMutable, isVarArg, 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 typeText;
private final StringRef defaultValueText; private final StringRef defaultValueText;
private final FqName fqName; private final FqName fqName;
private final boolean hasValOrValNode;
public PsiJetParameterStubImpl( public PsiJetParameterStubImpl(
StubElement parent, StubElement parent,
FqName fqName, StringRef name, FqName fqName, StringRef name,
boolean isMutable, boolean isMutable,
boolean isVarArg, boolean isVarArg,
StringRef typeText, StringRef defaultValueText StringRef typeText, StringRef defaultValueText,
boolean hasValOrValNode
) { ) {
super(parent, JetStubElementTypes.VALUE_PARAMETER); super(parent, JetStubElementTypes.VALUE_PARAMETER);
this.name = name; this.name = name;
@@ -47,6 +49,7 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
this.typeText = typeText; this.typeText = typeText;
this.defaultValueText = defaultValueText; this.defaultValueText = defaultValueText;
this.fqName = fqName; this.fqName = fqName;
this.hasValOrValNode = hasValOrValNode;
} }
public PsiJetParameterStubImpl( public PsiJetParameterStubImpl(
@@ -55,10 +58,11 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
boolean isMutable, boolean isMutable,
boolean isVarArg, boolean isVarArg,
String typeText, String typeText,
String defaultValueText String defaultValueText,
boolean hasValOrValNode
) { ) {
this(parent, fqName, StringRef.fromString(name), isMutable, isVarArg, this(parent, fqName, StringRef.fromString(name), isMutable, isVarArg,
StringRef.fromString(typeText), StringRef.fromString(defaultValueText)); StringRef.fromString(typeText), StringRef.fromString(defaultValueText), hasValOrValNode);
} }
@Override @Override
@@ -87,6 +91,11 @@ public class PsiJetParameterStubImpl extends StubBase<JetParameter> implements P
return StringRef.toString(defaultValueText); return StringRef.toString(defaultValueText);
} }
@Override
public boolean hasValOrValNode() {
return hasValOrValNode;
}
@Override @Override
public String toString() { public String toString() {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();