Refactored methods for val/var in PSI

This commit is contained in:
Valentin Kipyatkov
2015-05-29 23:14:20 +03:00
parent 034b74d3e5
commit 8fd6a64be9
71 changed files with 241 additions and 229 deletions
@@ -125,7 +125,7 @@ public abstract class DataClassMethodGenerator {
private List<PropertyDescriptor> getDataProperties() { private List<PropertyDescriptor> getDataProperties() {
List<PropertyDescriptor> result = Lists.newArrayList(); List<PropertyDescriptor> result = Lists.newArrayList();
for (JetParameter parameter : getPrimaryConstructorParameters()) { for (JetParameter parameter : getPrimaryConstructorParameters()) {
if (parameter.hasValOrVarNode()) { if (parameter.hasValOrVar()) {
result.add(bindingContext.get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter)); result.add(bindingContext.get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter));
} }
} }
@@ -104,7 +104,7 @@ public abstract class ClassBodyCodegen extends MemberCodegen<JetClassOrObject> {
private void generatePrimaryConstructorProperties(PropertyCodegen propertyCodegen, JetClassOrObject origin) { private void generatePrimaryConstructorProperties(PropertyCodegen propertyCodegen, JetClassOrObject origin) {
boolean isAnnotation = origin instanceof JetClass && ((JetClass) origin).isAnnotation(); boolean isAnnotation = origin instanceof JetClass && ((JetClass) origin).isAnnotation();
for (JetParameter p : getPrimaryConstructorParameters()) { for (JetParameter p : getPrimaryConstructorParameters()) {
if (p.hasValOrVarNode()) { if (p.hasValOrVar()) {
PropertyDescriptor propertyDescriptor = bindingContext.get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, p); PropertyDescriptor propertyDescriptor = bindingContext.get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, p);
if (propertyDescriptor != null) { if (propertyDescriptor != null) {
if (!isAnnotation) { if (!isAnnotation) {
@@ -1109,7 +1109,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
int curParam = 0; int curParam = 0;
List<ValueParameterDescriptor> parameters = constructorDescriptor.getValueParameters(); List<ValueParameterDescriptor> parameters = constructorDescriptor.getValueParameters();
for (JetParameter parameter : getPrimaryConstructorParameters()) { for (JetParameter parameter : getPrimaryConstructorParameters()) {
if (parameter.hasValOrVarNode()) { if (parameter.hasValOrVar()) {
VariableDescriptor descriptor = parameters.get(curParam); VariableDescriptor descriptor = parameters.get(curParam);
Type type = typeMapper.mapType(descriptor); Type type = typeMapper.mapType(descriptor);
iv.load(0, classAsmType); iv.load(0, classAsmType);
@@ -673,7 +673,7 @@ public class JetFlowInformationProvider {
report(Errors.UNUSED_PARAMETER.on((JetParameter) element, variableDescriptor), ctxt); report(Errors.UNUSED_PARAMETER.on((JetParameter) element, variableDescriptor), ctxt);
} }
else if (owner instanceof JetPrimaryConstructor) { else if (owner instanceof JetPrimaryConstructor) {
if (!((JetParameter) element).hasValOrVarNode() && if (!((JetParameter) element).hasValOrVar() &&
!((JetPrimaryConstructor) owner).getContainingClass().isAnnotation()) { !((JetPrimaryConstructor) owner).getContainingClass().isAnnotation()) {
report(Errors.UNUSED_PARAMETER.on((JetParameter) element, variableDescriptor), ctxt); report(Errors.UNUSED_PARAMETER.on((JetParameter) element, variableDescriptor), ctxt);
} }
@@ -317,7 +317,7 @@ public object PositioningStrategies {
public val VAL_OR_VAR_NODE: PositioningStrategy<JetProperty> = object : PositioningStrategy<JetProperty>() { public val VAL_OR_VAR_NODE: PositioningStrategy<JetProperty> = object : PositioningStrategy<JetProperty>() {
override fun mark(element: JetProperty): List<TextRange> { override fun mark(element: JetProperty): List<TextRange> {
return markNode(element.getValOrVarNode()) return markElement(element.getValOrVarKeyword())
} }
} }
@@ -245,7 +245,7 @@ private object DebugTextBuildingVisitor : JetVisitor<String, Unit>() {
override fun visitParameter(parameter: JetParameter, data: Unit?): String? { override fun visitParameter(parameter: JetParameter, data: Unit?): String? {
return buildText { return buildText {
if (parameter.hasValOrVarNode()) { if (parameter.hasValOrVar()) {
if (parameter.isMutable()) append("var ") else append("val ") if (parameter.isMutable()) append("var ") else append("val ")
} }
val name = parameter.getNameAsName() val name = parameter.getNameAsName()
@@ -54,8 +54,8 @@ public class JetMultiDeclaration extends JetDeclarationImpl {
} }
@Nullable @Nullable
public ASTNode getValOrVarNode() { public PsiElement getValOrVarKeyword() {
return getNode().findChildByType(TokenSet.create(VAL_KEYWORD, VAR_KEYWORD)); return findChildByType(TokenSet.create(VAL_KEYWORD, VAR_KEYWORD));
} }
@Nullable @Nullable
@@ -127,8 +127,10 @@ public class JetMultiDeclarationEntry extends JetNamedDeclarationNotStubbed impl
} }
@Override @Override
public ASTNode getValOrVarNode() { public PsiElement getValOrVarKeyword() {
return getParentNode().findChildByType(TokenSet.create(VAL_KEYWORD, VAR_KEYWORD)); ASTNode node = getParentNode().findChildByType(TokenSet.create(VAL_KEYWORD, VAR_KEYWORD));
if (node == null) return null;
return node.getPsi();
} }
@Nullable @Nullable
@@ -21,6 +21,7 @@ import com.intellij.navigation.ItemPresentation;
import com.intellij.navigation.ItemPresentationProviders; import com.intellij.navigation.ItemPresentationProviders;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.SearchScope;
import com.intellij.psi.tree.TokenSet;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.lexer.JetTokens; import org.jetbrains.kotlin.lexer.JetTokens;
@@ -105,26 +106,25 @@ public class JetParameter extends JetNamedDeclarationStub<KotlinParameterStub> i
return modifierList != null && modifierList.hasModifier(JetTokens.VARARG_KEYWORD); return modifierList != null && modifierList.hasModifier(JetTokens.VARARG_KEYWORD);
} }
public boolean hasValOrVarNode() { public boolean hasValOrVar() {
KotlinParameterStub stub = getStub(); KotlinParameterStub stub = getStub();
if (stub != null) { if (stub != null) {
return stub.hasValOrVarNode(); return stub.hasValOrVar();
} }
return getValOrVarNode() != null; return getValOrVarKeyword() != null;
} }
@Nullable @Nullable
public ASTNode getValOrVarNode() { public PsiElement getValOrVarKeyword() {
KotlinParameterStub stub = getStub(); KotlinParameterStub stub = getStub();
if (stub != null && !stub.hasValOrVarNode()) { if (stub != null && !stub.hasValOrVar()) {
return null; return null;
} }
ASTNode val = getNode().findChildByType(JetTokens.VAL_KEYWORD); return findChildByType(VAL_VAR_TOKEN_SET);
if (val != null) return val;
return getNode().findChildByType(JetTokens.VAR_KEYWORD);
} }
private static final TokenSet VAL_VAR_TOKEN_SET = TokenSet.create(JetTokens.VAL_KEYWORD, JetTokens.VAR_KEYWORD);
@Override @Override
public ItemPresentation getPresentation() { public ItemPresentation getPresentation() {
return ItemPresentationProviders.getItemPresentation(this); return ItemPresentationProviders.getItemPresentation(this);
@@ -268,12 +268,14 @@ public class JetProperty extends JetTypeParameterListOwnerStub<KotlinPropertyStu
@Override @Override
@NotNull @NotNull
public ASTNode getValOrVarNode() { public PsiElement getValOrVarKeyword() {
ASTNode node = getNode().findChildByType(TokenSet.create(VAL_KEYWORD, VAR_KEYWORD)); PsiElement element = findChildByType(VAL_VAR_TOKEN_SET);
assert node != null : "Val or var should always exist for property"; assert element != null : "Val or var should always exist for property";
return node; return element;
} }
private static final TokenSet VAL_VAR_TOKEN_SET = TokenSet.create(JetTokens.VAL_KEYWORD, JetTokens.VAR_KEYWORD);
@Override @Override
public ItemPresentation getPresentation() { public ItemPresentation getPresentation() {
return ItemPresentationProviders.getItemPresentation(this); return ItemPresentationProviders.getItemPresentation(this);
@@ -31,7 +31,6 @@ import org.jetbrains.kotlin.lexer.JetKeywordToken
import org.jetbrains.kotlin.lexer.JetModifierKeywordToken import org.jetbrains.kotlin.lexer.JetModifierKeywordToken
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.renderName
import org.jetbrains.kotlin.psi.JetPsiFactory.CallableBuilder.Target import org.jetbrains.kotlin.psi.JetPsiFactory.CallableBuilder.Target
import org.jetbrains.kotlin.resolve.ImportPath import org.jetbrains.kotlin.resolve.ImportPath
import java.io.PrintWriter import java.io.PrintWriter
@@ -46,18 +45,14 @@ public var JetFile.moduleInfo: ModuleInfo? by UserDataProperty(Key.create("MODUL
public class JetPsiFactory(private val project: Project) { public class JetPsiFactory(private val project: Project) {
public fun createValNode(): ASTNode { public fun createValKeyword(): PsiElement {
val property = createProperty("val x = 1") val property = createProperty("val x = 1")
return property.getValOrVarNode() return property.getValOrVarKeyword()
} }
public fun createVarNode(): ASTNode { public fun createVarKeyword(): PsiElement {
val property = createProperty("var x = 1") val property = createProperty("var x = 1")
return property.getValOrVarNode() return property.getValOrVarKeyword()
}
public fun createValOrVarNode(text: String): ASTNode {
return createParameterList("($text int x)").getParameters().first().getValOrVarNode()!!
} }
public fun createSafeCallNode(): ASTNode { public fun createSafeCallNode(): ASTNode {
@@ -448,7 +448,7 @@ public class JetPsiUtil {
@Nullable @Nullable
public static JetClass getClassIfParameterIsProperty(@NotNull JetParameter jetParameter) { public static JetClass getClassIfParameterIsProperty(@NotNull JetParameter jetParameter) {
if (jetParameter.hasValOrVarNode()) { if (jetParameter.hasValOrVar()) {
PsiElement grandParent = jetParameter.getParent().getParent(); PsiElement grandParent = jetParameter.getParent().getParent();
if (grandParent instanceof JetPrimaryConstructor) { if (grandParent instanceof JetPrimaryConstructor) {
return ((JetPrimaryConstructor) grandParent).getContainingClassOrNull(); return ((JetPrimaryConstructor) grandParent).getContainingClassOrNull();
@@ -767,7 +767,7 @@ public class JetPsiUtil {
PsiElement parent = declaration.getParent(); PsiElement parent = declaration.getParent();
// val/var parameter of primary constructor should not be considered as local // val/var parameter of primary constructor should not be considered as local
if (((JetParameter) declaration).getValOrVarNode() != null && parent != null && parent.getParent() instanceof JetPrimaryConstructor) { if (((JetParameter) declaration).hasValOrVar() && parent != null && parent.getParent() instanceof JetPrimaryConstructor) {
return null; return null;
} }
@@ -16,12 +16,12 @@
package org.jetbrains.kotlin.psi; package org.jetbrains.kotlin.psi;
import com.intellij.lang.ASTNode; import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
public interface JetVariableDeclaration extends JetCallableDeclaration, JetWithExpressionInitializer { public interface JetVariableDeclaration extends JetCallableDeclaration, JetWithExpressionInitializer {
boolean isVar(); boolean isVar();
@Nullable @Nullable
ASTNode getValOrVarNode(); PsiElement getValOrVarKeyword();
} }
@@ -299,7 +299,7 @@ public inline fun <reified T : JetElement, R> flatMapDescendantsOfTypeVisitor(ac
public fun JetClassOrObject.effectiveDeclarations(): List<JetDeclaration> { public fun JetClassOrObject.effectiveDeclarations(): List<JetDeclaration> {
return when(this) { return when(this) {
is JetClass -> getDeclarations() + getPrimaryConstructorParameters().filter { p -> p.hasValOrVarNode() } is JetClass -> getDeclarations() + getPrimaryConstructorParameters().filter { p -> p.hasValOrVar() }
else -> getDeclarations() else -> getDeclarations()
} }
} }
@@ -83,7 +83,7 @@ public trait KotlinEnumEntrySuperclassReferenceExpressionStub : StubElement<JetE
public trait KotlinParameterStub : KotlinStubWithFqName<JetParameter> { public trait KotlinParameterStub : KotlinStubWithFqName<JetParameter> {
public fun isMutable(): Boolean public fun isMutable(): Boolean
public fun hasValOrVarNode(): Boolean public fun hasValOrVar(): Boolean
public fun hasDefaultValue(): Boolean public fun hasDefaultValue(): Boolean
} }
@@ -39,14 +39,14 @@ public class JetParameterElementType extends JetStubElementType<KotlinParameterS
FqName fqName = psi.getFqName(); FqName fqName = psi.getFqName();
StringRef fqNameRef = StringRef.fromString(fqName != null ? fqName.asString() : null); StringRef fqNameRef = StringRef.fromString(fqName != null ? fqName.asString() : null);
return new KotlinParameterStubImpl(parentStub, fqNameRef, StringRef.fromString(psi.getName()), return new KotlinParameterStubImpl(parentStub, fqNameRef, StringRef.fromString(psi.getName()),
psi.isMutable(), psi.hasValOrVarNode(), psi.hasDefaultValue()); psi.isMutable(), psi.hasValOrVar(), psi.hasDefaultValue());
} }
@Override @Override
public void serialize(@NotNull KotlinParameterStub stub, @NotNull StubOutputStream dataStream) throws IOException { public void serialize(@NotNull KotlinParameterStub stub, @NotNull StubOutputStream dataStream) throws IOException {
dataStream.writeName(stub.getName()); dataStream.writeName(stub.getName());
dataStream.writeBoolean(stub.isMutable()); dataStream.writeBoolean(stub.isMutable());
dataStream.writeBoolean(stub.hasValOrVarNode()); dataStream.writeBoolean(stub.hasValOrVar());
dataStream.writeBoolean(stub.hasDefaultValue()); dataStream.writeBoolean(stub.hasDefaultValue());
FqName name = stub.getFqName(); FqName name = stub.getFqName();
dataStream.writeName(name != null ? name.asString() : null); dataStream.writeName(name != null ? name.asString() : null);
@@ -29,7 +29,7 @@ public class KotlinParameterStubImpl(
private val fqName: StringRef?, private val fqName: StringRef?,
private val name: StringRef?, private val name: StringRef?,
private val isMutable: Boolean, private val isMutable: Boolean,
private val hasValOrVarNode: Boolean, private val hasValOrVar: Boolean,
private val hasDefaultValue: Boolean private val hasDefaultValue: Boolean
) : KotlinStubBaseImpl<JetParameter>(parent, JetStubElementTypes.VALUE_PARAMETER), KotlinParameterStub { ) : KotlinStubBaseImpl<JetParameter>(parent, JetStubElementTypes.VALUE_PARAMETER), KotlinParameterStub {
override fun getName(): String? { override fun getName(): String? {
@@ -41,6 +41,6 @@ public class KotlinParameterStubImpl(
} }
override fun isMutable() = isMutable override fun isMutable() = isMutable
override fun hasValOrVarNode() = hasValOrVarNode override fun hasValOrVar() = hasValOrVar
override fun hasDefaultValue() = hasDefaultValue override fun hasDefaultValue() = hasDefaultValue
} }
@@ -174,7 +174,7 @@ public interface BindingContext {
PsiElement declarationPsiElement = DescriptorToSourceUtils.descriptorToDeclaration(propertyDescriptor); PsiElement declarationPsiElement = DescriptorToSourceUtils.descriptorToDeclaration(propertyDescriptor);
if (declarationPsiElement instanceof JetParameter) { if (declarationPsiElement instanceof JetParameter) {
JetParameter jetParameter = (JetParameter) declarationPsiElement; JetParameter jetParameter = (JetParameter) declarationPsiElement;
return jetParameter.hasValOrVarNode() || return jetParameter.hasValOrVar() ||
backingFieldRequired; // this part is unused because we do not allow access to constructor parameters in member bodies backingFieldRequired; // this part is unused because we do not allow access to constructor parameters in member bodies
} }
if (propertyDescriptor.getModality() == Modality.ABSTRACT) return false; if (propertyDescriptor.getModality() == Modality.ABSTRACT) return false;
@@ -332,7 +332,7 @@ public class DeclarationsChecker {
private void checkValOnAnnotationParameter(JetClass aClass) { private void checkValOnAnnotationParameter(JetClass aClass) {
for (JetParameter parameter : aClass.getPrimaryConstructorParameters()) { for (JetParameter parameter : aClass.getPrimaryConstructorParameters()) {
if (!parameter.hasValOrVarNode()) { if (!parameter.hasValOrVar()) {
trace.report(MISSING_VAL_ON_ANNOTATION_PARAMETER.on(parameter)); trace.report(MISSING_VAL_ON_ANNOTATION_PARAMETER.on(parameter));
} }
} }
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.resolve;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function0;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1193,9 +1192,9 @@ public class DescriptorResolver {
@NotNull JetParameter parameter, @NotNull JetParameter parameter,
@NotNull DiagnosticFactory1<PsiElement, JetKeywordToken> diagnosticFactory @NotNull DiagnosticFactory1<PsiElement, JetKeywordToken> diagnosticFactory
) { ) {
ASTNode valOrVarNode = parameter.getValOrVarNode(); PsiElement valOrVar = parameter.getValOrVarKeyword();
if (valOrVarNode != null) { if (valOrVar != null) {
trace.report(diagnosticFactory.on(valOrVarNode.getPsi(), ((JetKeywordToken) valOrVarNode.getElementType()))); trace.report(diagnosticFactory.on(valOrVar, ((JetKeywordToken) valOrVar.getNode().getElementType())));
} }
} }
@@ -348,7 +348,7 @@ class FunctionDescriptorResolver(
private fun checkConstructorParameterHasNoModifier(trace: BindingTrace, parameter: JetParameter) { private fun checkConstructorParameterHasNoModifier(trace: BindingTrace, parameter: JetParameter) {
// If is not a property, then it must have no modifier // If is not a property, then it must have no modifier
if (!parameter.hasValOrVarNode()) { if (!parameter.hasValOrVar()) {
DescriptorResolver.checkParameterHasNoModifier(trace, parameter) DescriptorResolver.checkParameterHasNoModifier(trace, parameter)
} }
} }
@@ -192,7 +192,7 @@ public class LazyTopDownAnalyzer {
private fun registerPrimaryConstructorParameters(klass: JetClass) { private fun registerPrimaryConstructorParameters(klass: JetClass) {
for (jetParameter in klass.getPrimaryConstructorParameters()) { for (jetParameter in klass.getPrimaryConstructorParameters()) {
if (jetParameter.hasValOrVarNode()) { if (jetParameter.hasValOrVar()) {
c.getPrimaryConstructorParameterProperties().put(jetParameter, lazyDeclarationResolver!!.resolveToDescriptor(jetParameter) as PropertyDescriptor) c.getPrimaryConstructorParameterProperties().put(jetParameter, lazyDeclarationResolver!!.resolveToDescriptor(jetParameter) as PropertyDescriptor)
} }
} }
@@ -146,7 +146,7 @@ public class LazyDeclarationResolver {
JetClass jetClass = ((JetPrimaryConstructor) grandFather).getContainingClass(); JetClass jetClass = ((JetPrimaryConstructor) grandFather).getContainingClass();
// This is a primary constructor parameter // This is a primary constructor parameter
ClassDescriptor classDescriptor = getClassDescriptor(jetClass); ClassDescriptor classDescriptor = getClassDescriptor(jetClass);
if (parameter.hasValOrVarNode()) { if (parameter.hasValOrVar()) {
classDescriptor.getDefaultType().getMemberScope().getProperties(parameter.getNameAsSafeName()); classDescriptor.getDefaultType().getMemberScope().getProperties(parameter.getNameAsSafeName());
return getBindingContext().get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter); return getBindingContext().get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter);
} }
@@ -33,7 +33,7 @@ public class PsiBasedClassMemberDeclarationProvider(
} }
for (parameter in classInfo.getPrimaryConstructorParameters()) { for (parameter in classInfo.getPrimaryConstructorParameters()) {
if (parameter.hasValOrVarNode()) { if (parameter.hasValOrVar()) {
index.putToIndex(parameter) index.putToIndex(parameter)
} }
} }
@@ -316,7 +316,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
WritableScopeImpl scope = new WritableScopeImpl(JetScope.Empty.INSTANCE$, primaryConstructor, RedeclarationHandler.DO_NOTHING, "Scope with constructor parameters in " + getName()); WritableScopeImpl scope = new WritableScopeImpl(JetScope.Empty.INSTANCE$, primaryConstructor, RedeclarationHandler.DO_NOTHING, "Scope with constructor parameters in " + getName());
for (int i = 0; i < originalClassInfo.getPrimaryConstructorParameters().size(); i++) { for (int i = 0; i < originalClassInfo.getPrimaryConstructorParameters().size(); i++) {
JetParameter jetParameter = originalClassInfo.getPrimaryConstructorParameters().get(i); JetParameter jetParameter = originalClassInfo.getPrimaryConstructorParameters().get(i);
if (!jetParameter.hasValOrVarNode()) { if (!jetParameter.hasValOrVar()) {
scope.addVariableDescriptor(primaryConstructor.getValueParameters().get(i)); scope.addVariableDescriptor(primaryConstructor.getValueParameters().get(i));
} }
} }
@@ -145,7 +145,7 @@ public open class LazyClassMemberScope(
for (parameter in constructor.getValueParameters()) { for (parameter in constructor.getValueParameters()) {
if (parameter.getType().isError()) continue if (parameter.getType().isError()) continue
if (!primaryConstructorParameters.get(parameter.getIndex()).hasValOrVarNode()) continue if (!primaryConstructorParameters.get(parameter.getIndex()).hasValOrVar()) continue
val properties = getProperties(parameter.getName()) val properties = getProperties(parameter.getName())
if (properties.isEmpty()) continue if (properties.isEmpty()) continue
@@ -220,7 +220,7 @@ public open class LazyClassMemberScope(
if (name != valueParameterDescriptor.getName()) continue if (name != valueParameterDescriptor.getName()) continue
val parameter = primaryConstructorParameters.get(valueParameterDescriptor.getIndex()) val parameter = primaryConstructorParameters.get(valueParameterDescriptor.getIndex())
if (parameter.hasValOrVarNode()) { if (parameter.hasValOrVar()) {
val propertyDescriptor = c.descriptorResolver.resolvePrimaryConstructorParameterToAProperty( val propertyDescriptor = c.descriptorResolver.resolvePrimaryConstructorParameterToAProperty(
thisDescriptor, valueParameterDescriptor, thisDescriptor.getScopeForClassHeaderResolution(), parameter, trace) thisDescriptor, valueParameterDescriptor, thisDescriptor.getScopeForClassHeaderResolution(), parameter, trace)
result.add(propertyDescriptor) result.add(propertyDescriptor)
@@ -44,7 +44,7 @@ public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Dia
if (element is JetPropertyAccessor) { if (element is JetPropertyAccessor) {
parent = parent?.getParent() parent = parent?.getParent()
} }
if (element is JetParameter && element.getValOrVarNode() != null) { if (element is JetParameter && element.hasValOrVar()) {
// property declared in constructor // property declared in constructor
val parentClass = (parent?.getParent()?.getParent() as? JetClass) val parentClass = (parent?.getParent()?.getParent() as? JetClass)
if (parentClass != null) { if (parentClass != null) {
@@ -134,7 +134,7 @@ public class JetSourceNavigationHelper {
// property constructor parameters // property constructor parameters
List<JetParameter> constructorParameters = containingClass.getPrimaryConstructorParameters(); List<JetParameter> constructorParameters = containingClass.getPrimaryConstructorParameters();
for (JetParameter constructorParameter : constructorParameters) { for (JetParameter constructorParameter : constructorParameters) {
if (memberName.equals(constructorParameter.getNameAsName()) && constructorParameter.hasValOrVarNode()) { if (memberName.equals(constructorParameter.getNameAsName()) && constructorParameter.hasValOrVar()) {
return constructorParameter; return constructorParameter;
} }
} }
@@ -129,7 +129,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) {
val typeArgumentsWithoutReceiverAndReturnType val typeArgumentsWithoutReceiverAndReturnType
= typeArgumentList.subList(if (isExtensionFunctionType) 1 else 0, typeArgumentList.size() - 1) = typeArgumentList.subList(if (isExtensionFunctionType) 1 else 0, typeArgumentList.size() - 1)
typeArgumentsWithoutReceiverAndReturnType.forEach { argument -> typeArgumentsWithoutReceiverAndReturnType.forEach { argument ->
val parameter = KotlinParameterStubImpl(parameterList, fqName = null, name = null, isMutable = false, hasValOrVarNode = false, hasDefaultValue = false) val parameter = KotlinParameterStubImpl(parameterList, fqName = null, name = null, isMutable = false, hasValOrVar = false, hasDefaultValue = false)
createTypeReferenceStub(parameter, argument.getType()) createTypeReferenceStub(parameter, argument.getType())
} }
@@ -150,7 +150,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) {
name = name.ref(), name = name.ref(),
fqName = null, fqName = null,
hasDefaultValue = false, hasDefaultValue = false,
hasValOrVarNode = false, hasValOrVar = false,
isMutable = false isMutable = false
) )
val isVararg = valueParameterProto.hasVarargElementType() val isVararg = valueParameterProto.hasVarargElementType()
@@ -87,9 +87,9 @@ private object DeclarationKindDetector : JetVisitor<AnnotationHostKind?, Unit?>(
override fun visitNamedFunction(d: JetNamedFunction, _: Unit?) = detect(d, "fun") override fun visitNamedFunction(d: JetNamedFunction, _: Unit?) = detect(d, "fun")
override fun visitProperty(d: JetProperty, _: Unit?) = detect(d, d.getValOrVarNode().getText()!!) override fun visitProperty(d: JetProperty, _: Unit?) = detect(d, d.getValOrVarKeyword().getText()!!)
override fun visitMultiDeclaration(d: JetMultiDeclaration, _: Unit?) = detect(d, d.getValOrVarNode()?.getText() ?: "val", override fun visitMultiDeclaration(d: JetMultiDeclaration, _: Unit?) = detect(d, d.getValOrVarKeyword()?.getText() ?: "val",
name = d.getEntries().map { it.getName() }.join(", ", "(", ")")) name = d.getEntries().map { it.getName() }.join(", ", "(", ")"))
override fun visitTypeParameter(d: JetTypeParameter, _: Unit?) = detect(d, "type parameter", newLineNeeded = false) override fun visitTypeParameter(d: JetTypeParameter, _: Unit?) = detect(d, "type parameter", newLineNeeded = false)
@@ -128,7 +128,7 @@ public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, Re
else if (element instanceof KotlinLightMethod) { else if (element instanceof KotlinLightMethod) {
JetDeclaration declaration = ((KotlinLightMethod) element).getOrigin(); JetDeclaration declaration = ((KotlinLightMethod) element).getOrigin();
if (declaration instanceof JetProperty if (declaration instanceof JetProperty
|| (declaration instanceof JetParameter && ((JetParameter) declaration).hasValOrVarNode())) { || (declaration instanceof JetParameter && ((JetParameter) declaration).hasValOrVar())) {
searchNamedElement(queryParameters, (PsiNamedElement) declaration); searchNamedElement(queryParameters, (PsiNamedElement) declaration);
} }
else if (declaration instanceof JetPropertyAccessor) { else if (declaration instanceof JetPropertyAccessor) {
@@ -59,7 +59,7 @@ fun PsiNamedElement.getAccessorNames(readable: Boolean = true, writable: Boolean
is JetProperty -> is JetProperty ->
return LightClassUtil.getLightClassPropertyMethods(this).toNameList() return LightClassUtil.getLightClassPropertyMethods(this).toNameList()
is JetParameter -> is JetParameter ->
if (hasValOrVarNode()) { if (hasValOrVar()) {
return LightClassUtil.getLightClassPropertyMethods(this).toNameList() return LightClassUtil.getLightClassPropertyMethods(this).toNameList()
} }
} }
@@ -90,7 +90,7 @@ public fun PsiNamedElement.getSpecialNamesToSearch(): List<String> {
} }
fun JetParameter.dataClassComponentFunctionName(): Name? { fun JetParameter.dataClassComponentFunctionName(): Name? {
if (!hasValOrVarNode()) return null if (!hasValOrVar()) return null
// Forcing full resolve of owner class: otherwise DATA_CLASS_COMPONENT_FUNCTION won't be calculated. // Forcing full resolve of owner class: otherwise DATA_CLASS_COMPONENT_FUNCTION won't be calculated.
// This is a hack, but better solution would need refactoring of data class component function resolution: they need to be resolved // This is a hack, but better solution would need refactoring of data class component function resolution: they need to be resolved
@@ -194,7 +194,7 @@ fun PsiReference.isUsageInContainingDeclaration(declaration: JetNamedDeclaration
fun PsiReference.isCallableOverrideUsage(declaration: JetNamedDeclaration): Boolean { fun PsiReference.isCallableOverrideUsage(declaration: JetNamedDeclaration): Boolean {
val decl2Desc = { declaration: JetDeclaration -> val decl2Desc = { declaration: JetDeclaration ->
if (declaration is JetParameter && declaration.hasValOrVarNode()) declaration.propertyDescriptor else declaration.descriptor if (declaration is JetParameter && declaration.hasValOrVar()) declaration.propertyDescriptor else declaration.descriptor
} }
return checkUsageVsOriginalDescriptor(declaration, decl2Desc) { usageDescriptor, targetDescriptor -> return checkUsageVsOriginalDescriptor(declaration, decl2Desc) { usageDescriptor, targetDescriptor ->
@@ -156,7 +156,7 @@ public class JetStructureViewElement implements StructureViewTreeElement, Querya
JetClass jetClass = (JetClass) element; JetClass jetClass = (JetClass) element;
List<JetDeclaration> declarations = new ArrayList<JetDeclaration>(); List<JetDeclaration> declarations = new ArrayList<JetDeclaration>();
for (JetParameter parameter : jetClass.getPrimaryConstructorParameters()) { for (JetParameter parameter : jetClass.getPrimaryConstructorParameters()) {
if (parameter.hasValOrVarNode()) { if (parameter.hasValOrVar()) {
declarations.add(parameter); declarations.add(parameter);
} }
} }
@@ -76,8 +76,8 @@ public class JetDeclarationMover extends AbstractJetUpDownMover {
@Override @Override
public void visitProperty(@NotNull JetProperty property) { public void visitProperty(@NotNull JetProperty property) {
PsiElement valOrVarNode = property.getValOrVarNode().getPsi(); PsiElement valOrVarKeyword = property.getValOrVarKeyword();
if (valOrVarNode != null) memberSuspects.add(valOrVarNode); if (valOrVarKeyword != null) memberSuspects.add(valOrVarKeyword);
JetTypeParameterList typeParameterList = property.getTypeParameterList(); JetTypeParameterList typeParameterList = property.getTypeParameterList();
if (typeParameterList != null) memberSuspects.add(typeParameterList); if (typeParameterList != null) memberSuspects.add(typeParameterList);
@@ -181,6 +181,10 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder {
betweenInside(WHILE_KEYWORD, LPAR, DO_WHILE).spacing(1, 1, 0, false, 0) betweenInside(WHILE_KEYWORD, LPAR, DO_WHILE).spacing(1, 1, 0, false, 0)
betweenInside(WHEN_KEYWORD, LPAR, WHEN).spacing(1, 1, 0, false, 0) betweenInside(WHEN_KEYWORD, LPAR, WHEN).spacing(1, 1, 0, false, 0)
betweenInside(LPAR, VALUE_PARAMETER, FOR).spaces(0)
betweenInside(LPAR, MULTI_VARIABLE_DECLARATION, FOR).spaces(0)
betweenInside(LOOP_RANGE, RPAR, FOR).spaces(0)
val TYPE_COLON_ELEMENTS = TokenSet.create(PROPERTY, FUN, VALUE_PARAMETER, MULTI_VARIABLE_DECLARATION_ENTRY, FUNCTION_LITERAL) val TYPE_COLON_ELEMENTS = TokenSet.create(PROPERTY, FUN, VALUE_PARAMETER, MULTI_VARIABLE_DECLARATION_ENTRY, FUNCTION_LITERAL)
beforeInside(COLON, TYPE_COLON_ELEMENTS) { spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON) } beforeInside(COLON, TYPE_COLON_ELEMENTS) { spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON) }
afterInside(COLON, TYPE_COLON_ELEMENTS) { spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON) } afterInside(COLON, TYPE_COLON_ELEMENTS) { spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON) }
@@ -106,7 +106,7 @@ public class UnusedSymbolInspection : AbstractKotlinInspection() {
if (declaration is JetEnumEntry) return if (declaration is JetEnumEntry) return
if (declaration.hasModifier(JetTokens.OVERRIDE_KEYWORD)) return if (declaration.hasModifier(JetTokens.OVERRIDE_KEYWORD)) return
if (declaration is JetProperty && declaration.isLocal()) return if (declaration is JetProperty && declaration.isLocal()) return
if (declaration is JetParameter && (declaration.getParent()?.getParent() !is JetPrimaryConstructor || !declaration.hasValOrVarNode())) return if (declaration is JetParameter && (declaration.getParent()?.getParent() !is JetPrimaryConstructor || !declaration.hasValOrVar())) return
if (declaration is JetNamedFunction && isConventionalName(declaration)) return if (declaration is JetNamedFunction && isConventionalName(declaration)) return
// More expensive, resolve-based checks // More expensive, resolve-based checks
@@ -108,12 +108,12 @@ public open class ChangeVisibilityModifierIntention protected constructor(
if (JetPsiUtil.isLocal(declaration)) return null if (JetPsiUtil.isLocal(declaration)) return null
return when (declaration) { return when (declaration) {
is JetNamedFunction -> declaration.getFunKeyword()?.getTextRange() is JetNamedFunction -> declaration.getFunKeyword()?.getTextRange()
is JetProperty -> declaration.getValOrVarNode().getTextRange() is JetProperty -> declaration.getValOrVarKeyword().getTextRange()
is JetClass -> declaration.getClassOrInterfaceKeyword()?.getTextRange() is JetClass -> declaration.getClassOrInterfaceKeyword()?.getTextRange()
is JetObjectDeclaration -> declaration.getObjectKeyword().getTextRange() is JetObjectDeclaration -> declaration.getObjectKeyword().getTextRange()
is JetPrimaryConstructor -> declaration.getValueParameterList()?.let { TextRange.from(it.startOffset, 0) } //TODO: use constructor keyword if exist is JetPrimaryConstructor -> declaration.getValueParameterList()?.let { TextRange.from(it.startOffset, 0) } //TODO: use constructor keyword if exist
is JetSecondaryConstructor -> declaration.getConstructorKeyword().getTextRange() is JetSecondaryConstructor -> declaration.getConstructorKeyword().getTextRange()
is JetParameter -> declaration.getValOrVarNode()?.getTextRange() is JetParameter -> declaration.getValOrVarKeyword()?.getTextRange()
else -> null else -> null
} }
} }
@@ -71,7 +71,7 @@ public class ConvertFunctionToPropertyIntention : JetSelfTargetingIntention<JetN
originalFunction.typeFqNameToAdd?.let { function.setTypeReference(psiFactory.createType(it)) } originalFunction.typeFqNameToAdd?.let { function.setTypeReference(psiFactory.createType(it)) }
} }
function.getFunKeyword()!!.replace(propertySample.getValOrVarNode().getPsi()) function.getFunKeyword()!!.replace(propertySample.getValOrVarKeyword())
function.getValueParameterList()?.delete() function.getValueParameterList()?.delete()
val insertAfter = (function.getEqualsToken() ?: function.getBodyExpression()) val insertAfter = (function.getEqualsToken() ?: function.getBodyExpression())
?.siblings(forward = false, withItself = false) ?.siblings(forward = false, withItself = false)
@@ -58,7 +58,7 @@ public class ConvertPropertyToFunctionIntention : JetSelfTargetingIntention<JetP
val sampleFunction = psiFactory.createFunction("fun foo() {\n\n}"); val sampleFunction = psiFactory.createFunction("fun foo() {\n\n}");
property.getValOrVarNode().getPsi().replace(sampleFunction.getFunKeyword()!!); property.getValOrVarKeyword().replace(sampleFunction.getFunKeyword()!!);
property.addAfter(psiFactory.createParameterList("()"), property.getNameIdentifier()); property.addAfter(psiFactory.createParameterList("()"), property.getNameIdentifier());
if (property.getInitializer() == null) { if (property.getInitializer() == null) {
if (getter != null) { if (getter != null) {
@@ -39,7 +39,9 @@ public class ChangeVariableMutabilityFix(element: JetProperty, private val makeV
} }
override fun invoke(project: Project, editor: Editor?, file: JetFile) { override fun invoke(project: Project, editor: Editor?, file: JetFile) {
element.getValOrVarNode().getPsi().replace(JetPsiFactory(project).createValOrVarNode(if (makeVar) "var" else "val").getPsi()) val factory = JetPsiFactory(project)
val newKeyword = if (makeVar) factory.createVarKeyword() else factory.createValKeyword()
element.getValOrVarKeyword().replace(newKeyword)
} }
companion object { companion object {
@@ -17,10 +17,9 @@
package org.jetbrains.kotlin.idea.quickfix; package org.jetbrains.kotlin.idea.quickfix;
import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.lang.ASTNode;
import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project; import com.intellij.openapi.project.Project;
import com.intellij.psi.TokenType; import com.intellij.psi.PsiElement;
import com.intellij.util.IncorrectOperationException; import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -35,7 +34,7 @@ public class RemoveValVarFromParameterFix extends JetIntentionAction<JetParamete
public RemoveValVarFromParameterFix(@NotNull JetParameter element) { public RemoveValVarFromParameterFix(@NotNull JetParameter element) {
super(element); super(element);
ASTNode valOrVarNode = element.getValOrVarNode(); PsiElement valOrVarNode = element.getValOrVarKeyword();
assert valOrVarNode != null : "Val or var node not found for " + PsiUtilPackage.getElementTextWithContext(element); assert valOrVarNode != null : "Val or var node not found for " + PsiUtilPackage.getElementTextWithContext(element);
varOrVal = valOrVarNode.getText(); varOrVal = valOrVarNode.getText();
} }
@@ -54,12 +53,9 @@ public class RemoveValVarFromParameterFix extends JetIntentionAction<JetParamete
@Override @Override
protected void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { protected void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException {
ASTNode valOrVarNode = element.getValOrVarNode(); PsiElement keyword = element.getValOrVarKeyword();
if (valOrVarNode == null) return; if (keyword == null) return;
keyword.delete();
ASTNode next = valOrVarNode.getTreeNext();
ASTNode firstNodeToKeep = next.getElementType() == TokenType.WHITE_SPACE ? next.getTreeNext() : next;
element.getNode().removeRange(valOrVarNode, firstNodeToKeep);
} }
@@ -756,7 +756,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
private fun setupValVarTemplate(builder: TemplateBuilder, property: JetProperty) { private fun setupValVarTemplate(builder: TemplateBuilder, property: JetProperty) {
if (!(callableInfo as PropertyInfo).writable) { if (!(callableInfo as PropertyInfo).writable) {
builder.replaceElement(property.getValOrVarNode().getPsi()!!, ValVarExpression) builder.replaceElement(property.getValOrVarKeyword(), ValVarExpression)
} }
} }
@@ -65,7 +65,7 @@ public class JetChangeSignatureData(
name = parameterDescriptor.getName().asString(), name = parameterDescriptor.getName().asString(),
type = parameterDescriptor.getType(), type = parameterDescriptor.getType(),
defaultValueForParameter = jetParameter?.getDefaultValue(), defaultValueForParameter = jetParameter?.getDefaultValue(),
valOrVar = jetParameter?.getValOrVarNode().toValVar(), valOrVar = jetParameter?.getValOrVarKeyword().toValVar(),
modifierList = jetParameter?.getModifierList() modifierList = jetParameter?.getModifierList()
) )
} }
@@ -16,22 +16,31 @@
package org.jetbrains.kotlin.idea.refactoring.changeSignature package org.jetbrains.kotlin.idea.refactoring.changeSignature
import com.intellij.lang.ASTNode import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.lexer.JetTokens
import org.jetbrains.kotlin.psi.JetPsiFactory
public enum class JetValVar(val name: String) { public enum class JetValVar(val name: String) {
None("none"), None("none") {
Val("val"), override fun createKeyword(factory: JetPsiFactory) = null
Var("var"); },
Val("val") {
override fun createKeyword(factory: JetPsiFactory) = factory.createValKeyword()
},
Var("var"){
override fun createKeyword(factory: JetPsiFactory) = factory.createVarKeyword()
};
override fun toString(): String = name override fun toString(): String = name
abstract fun createKeyword(factory: JetPsiFactory): PsiElement?
} }
fun ASTNode?.toValVar(): JetValVar { fun PsiElement?.toValVar(): JetValVar {
return when { return when {
this == null -> JetValVar.None this == null -> JetValVar.None
getElementType() == JetTokens.VAL_KEYWORD -> JetValVar.Val getNode().getElementType() == JetTokens.VAL_KEYWORD -> JetValVar.Val
getElementType() == JetTokens.VAR_KEYWORD -> JetValVar.Var getNode().getElementType() == JetTokens.VAR_KEYWORD -> JetValVar.Var
else -> throw IllegalArgumentException("Unknown val/var token: " + getText()) else -> throw IllegalArgumentException("Unknown val/var token: " + getText())
} }
} }
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.idea.refactoring.changeSignature.usages; package org.jetbrains.kotlin.idea.refactoring.changeSignature.usages;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiComment; import com.intellij.psi.PsiComment;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethod; import com.intellij.psi.PsiMethod;
@@ -26,11 +25,21 @@ import kotlin.KotlinPackage;
import kotlin.Pair; import kotlin.Pair;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.ClassDescriptor; import org.jetbrains.kotlin.descriptors.ClassDescriptor;
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
import org.jetbrains.kotlin.descriptors.FunctionDescriptor; import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor; import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor;
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
import org.jetbrains.kotlin.idea.codeInsight.shorten.ShortenPackage;
import org.jetbrains.kotlin.idea.refactoring.JetRefactoringUtil;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.ChangeSignaturePackage;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetChangeInfo;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetValVar;
import org.jetbrains.kotlin.idea.util.ShortenReferences; import org.jetbrains.kotlin.idea.util.ShortenReferences;
import org.jetbrains.kotlin.idea.util.ShortenReferences.Options;
import org.jetbrains.kotlin.lexer.JetModifierKeywordToken;
import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.psi.typeRefHelpers.TypeRefHelpersPackage; import org.jetbrains.kotlin.psi.typeRefHelpers.TypeRefHelpersPackage;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
@@ -38,16 +47,6 @@ import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils;
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode; import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode;
import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.JetType;
import org.jetbrains.kotlin.types.TypeSubstitutor; import org.jetbrains.kotlin.types.TypeSubstitutor;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.lexer.JetModifierKeywordToken;
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
import org.jetbrains.kotlin.idea.util.ShortenReferences.Options;
import org.jetbrains.kotlin.idea.codeInsight.shorten.ShortenPackage;
import org.jetbrains.kotlin.idea.refactoring.JetRefactoringUtil;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.ChangeSignaturePackage;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetChangeInfo;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetValVar;
import java.util.List; import java.util.List;
@@ -351,22 +350,22 @@ public class JetFunctionDefinitionUsage<T extends PsiElement> extends JetUsageIn
} }
private void changeParameter(int parameterIndex, JetParameter parameter, JetParameterInfo parameterInfo) { private void changeParameter(int parameterIndex, JetParameter parameter, JetParameterInfo parameterInfo) {
ASTNode valOrVarAstNode = parameter.getValOrVarNode(); PsiElement valOrVarKeyword = parameter.getValOrVarKeyword();
PsiElement valOrVarNode = valOrVarAstNode != null ? valOrVarAstNode.getPsi() : null;
JetValVar valOrVar = parameterInfo.getValOrVar(); JetValVar valOrVar = parameterInfo.getValOrVar();
JetPsiFactory psiFactory = JetPsiFactory(getProject()); JetPsiFactory psiFactory = JetPsiFactory(getProject());
if (valOrVarNode != null) { if (valOrVarKeyword != null) {
if (valOrVar == JetValVar.None) { PsiElement newKeyword = valOrVar.createKeyword(psiFactory);
valOrVarNode.delete(); if (newKeyword != null) {
valOrVarKeyword.replace(newKeyword);
} }
else { else {
valOrVarNode.replace(psiFactory.createValOrVarNode(valOrVar.toString()).getPsi()); valOrVarKeyword.delete();
} }
} }
else if (valOrVar != JetValVar.None) { else if (valOrVar != JetValVar.None) {
PsiElement firstChild = parameter.getFirstChild(); PsiElement firstChild = parameter.getFirstChild();
parameter.addBefore(psiFactory.createValOrVarNode(valOrVar.toString()).getPsi(), firstChild); parameter.addBefore(valOrVar.createKeyword(psiFactory), firstChild);
parameter.addBefore(psiFactory.createWhiteSpace(), firstChild); parameter.addBefore(psiFactory.createWhiteSpace(), firstChild);
} }
@@ -324,7 +324,7 @@ public open class KotlinIntroduceParameterHandler(
private fun findInternalParameterUsages(targetParent: JetNamedDeclaration): Map<JetParameter, List<PsiReference>> { private fun findInternalParameterUsages(targetParent: JetNamedDeclaration): Map<JetParameter, List<PsiReference>> {
return targetParent.getValueParameters() return targetParent.getValueParameters()
.filter { !it.hasValOrVarNode() } .filter { !it.hasValOrVar() }
.map { .map {
it to DefaultSearchHelper<JetParameter>() it to DefaultSearchHelper<JetParameter>()
.newRequest(UsagesSearchTarget(element = it)) .newRequest(UsagesSearchTarget(element = it))
@@ -259,12 +259,12 @@ public class KotlinInplaceVariableIntroducer<D extends JetCallableDeclaration> e
PsiDocumentManager.getInstance(myProject).commitDocument(myEditor.getDocument()); PsiDocumentManager.getInstance(myProject).commitDocument(myEditor.getDocument());
JetPsiFactory psiFactory = new JetPsiFactory(myProject); JetPsiFactory psiFactory = new JetPsiFactory(myProject);
ASTNode node = varCheckbox.isSelected() ? psiFactory.createVarNode() : psiFactory.createValNode(); PsiElement keyword = varCheckbox.isSelected() ? psiFactory.createVarKeyword() : psiFactory.createValKeyword();
ASTNode valOrVarNode = myDeclaration instanceof JetProperty PsiElement valOrVar = myDeclaration instanceof JetProperty
? ((JetProperty) myDeclaration).getValOrVarNode() ? ((JetProperty) myDeclaration).getValOrVarKeyword()
: ((JetParameter) myDeclaration).getValOrVarNode(); : ((JetParameter) myDeclaration).getValOrVarKeyword();
valOrVarNode.getPsi().replace(node.getPsi()); valOrVar.replace(keyword);
} }
}.execute(); }.execute();
} }
@@ -538,7 +538,7 @@ public class JetPsiUnifier(
} }
private fun JetDeclaration.isNameRelevant(): Boolean { private fun JetDeclaration.isNameRelevant(): Boolean {
if (this is JetParameter && hasValOrVarNode()) return true if (this is JetParameter && hasValOrVar()) return true
val parent = getParent() val parent = getParent()
return parent is JetClassBody || parent is JetFile return parent is JetClassBody || parent is JetFile
@@ -6,7 +6,7 @@ PsiJetFileStubImpl[package=test]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=javaClass] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=javaClass]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -8,13 +8,13 @@ PsiJetFileStubImpl[package=test.a]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=i] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=j] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=j]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -16,7 +16,7 @@ PsiJetFileStubImpl[package=]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=a] REFERENCE_EXPRESSION:[referencedName=a]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=c1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c1]
MODIFIER_LIST:[] MODIFIER_LIST:[]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a] ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a]
CONSTRUCTOR_CALLEE: CONSTRUCTOR_CALLEE:
@@ -28,7 +28,7 @@ PsiJetFileStubImpl[package=]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=c2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c2]
MODIFIER_LIST:[] MODIFIER_LIST:[]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a] ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a]
CONSTRUCTOR_CALLEE: CONSTRUCTOR_CALLEE:
@@ -95,7 +95,7 @@ PsiJetFileStubImpl[package=]
FUN:[fqName=Annotations.annotationWithVararg, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=annotationWithVararg] FUN:[fqName=Annotations.annotationWithVararg, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=annotationWithVararg]
MODIFIER_LIST:[private final] MODIFIER_LIST:[private final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=i] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
MODIFIER_LIST:[vararg] MODIFIER_LIST:[vararg]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a] ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a]
CONSTRUCTOR_CALLEE: CONSTRUCTOR_CALLEE:
@@ -138,7 +138,7 @@ PsiJetFileStubImpl[package=]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=b] REFERENCE_EXPRESSION:[referencedName=b]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
MODIFIER_LIST:[] MODIFIER_LIST:[]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a] ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a]
CONSTRUCTOR_CALLEE: CONSTRUCTOR_CALLEE:
@@ -156,7 +156,7 @@ PsiJetFileStubImpl[package=]
FUN:[fqName=Annotations.types, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=types] FUN:[fqName=Annotations.types, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=types]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=param] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param]
TYPE_REFERENCE: TYPE_REFERENCE:
ANNOTATION: ANNOTATION:
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a] ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a]
@@ -6,31 +6,31 @@ PsiJetFileStubImpl[package=test]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p4] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p5] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p5]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -17,13 +17,13 @@ PsiJetFileStubImpl[package=a.b.c]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=i] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=j] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=j]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -5,13 +5,13 @@ PsiJetFileStubImpl[package=]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=c] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=a] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=A] REFERENCE_EXPRESSION:[referencedName=A]
@@ -19,7 +19,7 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.DependencyOnNestedClasses.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f] FUN:[fqName=test.DependencyOnNestedClasses.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=nc] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=nc]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -29,7 +29,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=D] REFERENCE_EXPRESSION:[referencedName=D]
REFERENCE_EXPRESSION:[referencedName=Companion] REFERENCE_EXPRESSION:[referencedName=Companion]
REFERENCE_EXPRESSION:[referencedName=NestedInClassObject] REFERENCE_EXPRESSION:[referencedName=NestedInClassObject]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=i] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -37,7 +37,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=dependency] REFERENCE_EXPRESSION:[referencedName=dependency]
REFERENCE_EXPRESSION:[referencedName=D] REFERENCE_EXPRESSION:[referencedName=D]
REFERENCE_EXPRESSION:[referencedName=Inner] REFERENCE_EXPRESSION:[referencedName=Inner]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=ii] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=ii]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -47,7 +47,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=D] REFERENCE_EXPRESSION:[referencedName=D]
REFERENCE_EXPRESSION:[referencedName=Inner] REFERENCE_EXPRESSION:[referencedName=Inner]
REFERENCE_EXPRESSION:[referencedName=Inner] REFERENCE_EXPRESSION:[referencedName=Inner]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=nn] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=nn]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -12,7 +12,7 @@ PsiJetFileStubImpl[package=a]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=c] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -332,13 +332,13 @@ PsiJetFileStubImpl[package=a]
REFERENCE_EXPRESSION:[referencedName=InheritingClasses] REFERENCE_EXPRESSION:[referencedName=InheritingClasses]
REFERENCE_EXPRESSION:[referencedName=E] REFERENCE_EXPRESSION:[referencedName=E]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -360,13 +360,13 @@ PsiJetFileStubImpl[package=a]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -38,7 +38,7 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.NestedClasses.Inner.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f] FUN:[fqName=test.NestedClasses.Inner.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TI] REFERENCE_EXPRESSION:[referencedName=TI]
@@ -58,11 +58,11 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.NestedClasses.Inner.II.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f] FUN:[fqName=test.NestedClasses.Inner.II.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TII] REFERENCE_EXPRESSION:[referencedName=TII]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -84,7 +84,7 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TOuter] REFERENCE_EXPRESSION:[referencedName=TOuter]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TOuter] REFERENCE_EXPRESSION:[referencedName=TOuter]
@@ -111,7 +111,7 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.NestedClasses.Nested.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f] FUN:[fqName=test.NestedClasses.Nested.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TN] REFERENCE_EXPRESSION:[referencedName=TN]
@@ -134,11 +134,11 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.NestedClasses.Nested.NI.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f] FUN:[fqName=test.NestedClasses.Nested.NI.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TN] REFERENCE_EXPRESSION:[referencedName=TN]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TNI] REFERENCE_EXPRESSION:[referencedName=TNI]
@@ -165,7 +165,7 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.NestedClasses.Nested.NN.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f] FUN:[fqName=test.NestedClasses.Nested.NN.f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=f]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=TNN] REFERENCE_EXPRESSION:[referencedName=TNN]
@@ -6,7 +6,7 @@ PsiJetFileStubImpl[package=test]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -23,7 +23,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=test] REFERENCE_EXPRESSION:[referencedName=test]
REFERENCE_EXPRESSION:[referencedName=anno] REFERENCE_EXPRESSION:[referencedName=anno]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -32,7 +32,7 @@ PsiJetFileStubImpl[package=test]
SECONDARY_CONSTRUCTOR: SECONDARY_CONSTRUCTOR:
MODIFIER_LIST:[private] MODIFIER_LIST:[private]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -65,11 +65,11 @@ PsiJetFileStubImpl[package=test]
SECONDARY_CONSTRUCTOR: SECONDARY_CONSTRUCTOR:
MODIFIER_LIST:[public] MODIFIER_LIST:[public]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T] REFERENCE_EXPRESSION:[referencedName=T]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=g] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=g]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G] REFERENCE_EXPRESSION:[referencedName=G]
@@ -86,7 +86,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=test] REFERENCE_EXPRESSION:[referencedName=test]
REFERENCE_EXPRESSION:[referencedName=anno] REFERENCE_EXPRESSION:[referencedName=anno]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=z] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=z]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -61,7 +61,7 @@ PsiJetFileStubImpl[package=a.b.c.topLevelMembersAnnotated]
REFERENCE_EXPRESSION:[referencedName=f] REFERENCE_EXPRESSION:[referencedName=f]
REFERENCE_EXPRESSION:[referencedName=b] REFERENCE_EXPRESSION:[referencedName=b]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
MODIFIER_LIST:[] MODIFIER_LIST:[]
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a] ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a]
CONSTRUCTOR_CALLEE: CONSTRUCTOR_CALLEE:
@@ -55,7 +55,7 @@ PsiJetFileStubImpl[package=foo.TopLevelMembers]
FUN:[fqName=foo.TopLevelMembers.funWithParams, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=funWithParams] FUN:[fqName=foo.TopLevelMembers.funWithParams, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=funWithParams]
MODIFIER_LIST:[private] MODIFIER_LIST:[private]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=c] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -69,13 +69,13 @@ PsiJetFileStubImpl[package=foo.TopLevelMembers]
FUN:[fqName=foo.TopLevelMembers.funWithVarargParam, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=funWithVarargParam] FUN:[fqName=foo.TopLevelMembers.funWithVarargParam, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=funWithVarargParam]
MODIFIER_LIST:[private] MODIFIER_LIST:[private]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=c] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=v] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=v]
MODIFIER_LIST:[vararg] MODIFIER_LIST:[vararg]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -105,7 +105,7 @@ PsiJetFileStubImpl[package=foo.TopLevelMembers]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=i] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -22,7 +22,7 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -128,15 +128,15 @@ PsiJetFileStubImpl[package=test]
TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T] TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T]
MODIFIER_LIST:[reified] MODIFIER_LIST:[reified]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=g] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=g]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G] REFERENCE_EXPRESSION:[referencedName=G]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=body] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=body]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G] REFERENCE_EXPRESSION:[referencedName=G]
@@ -149,15 +149,15 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.TypeParams.useParams, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParams] FUN:[fqName=test.TypeParams.useParams, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParams]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T2] REFERENCE_EXPRESSION:[referencedName=T2]
@@ -166,15 +166,15 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Unit] REFERENCE_EXPRESSION:[referencedName=Unit]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T3] REFERENCE_EXPRESSION:[referencedName=T3]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p4] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T4] REFERENCE_EXPRESSION:[referencedName=T4]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=P5] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=P5]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T5] REFERENCE_EXPRESSION:[referencedName=T5]
@@ -186,23 +186,23 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.TypeParams.useParamsInOtherOrder, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParamsInOtherOrder] FUN:[fqName=test.TypeParams.useParamsInOtherOrder, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParamsInOtherOrder]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T3] REFERENCE_EXPRESSION:[referencedName=T3]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T3] REFERENCE_EXPRESSION:[referencedName=T3]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p4] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T5] REFERENCE_EXPRESSION:[referencedName=T5]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=P5] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=P5]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
@@ -214,7 +214,7 @@ PsiJetFileStubImpl[package=test]
FUN:[fqName=test.TypeParams.useParamsInTypeArg, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParamsInTypeArg] FUN:[fqName=test.TypeParams.useParamsInTypeArg, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=useParamsInTypeArg]
MODIFIER_LIST:[internal final] MODIFIER_LIST:[internal final]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -225,7 +225,7 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -242,7 +242,7 @@ PsiJetFileStubImpl[package=test]
NULLABLE_TYPE: NULLABLE_TYPE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T5] REFERENCE_EXPRESSION:[referencedName=T5]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
FUNCTION_TYPE_RECEIVER: FUNCTION_TYPE_RECEIVER:
@@ -250,11 +250,11 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T4] REFERENCE_EXPRESSION:[referencedName=T4]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T2] REFERENCE_EXPRESSION:[referencedName=T2]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T3] REFERENCE_EXPRESSION:[referencedName=T3]
@@ -273,27 +273,27 @@ PsiJetFileStubImpl[package=test]
TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G2] TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G2]
TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G3] TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=G3]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G1] REFERENCE_EXPRESSION:[referencedName=G1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G2] REFERENCE_EXPRESSION:[referencedName=G2]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G3] REFERENCE_EXPRESSION:[referencedName=G3]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p4] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p5] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p5]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T2] REFERENCE_EXPRESSION:[referencedName=T2]
@@ -320,27 +320,27 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G1] REFERENCE_EXPRESSION:[referencedName=G1]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G1] REFERENCE_EXPRESSION:[referencedName=G1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G2] REFERENCE_EXPRESSION:[referencedName=G2]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G3] REFERENCE_EXPRESSION:[referencedName=G3]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p4] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p5] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p5]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T2] REFERENCE_EXPRESSION:[referencedName=T2]
@@ -377,23 +377,23 @@ PsiJetFileStubImpl[package=test]
TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T2] TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T2]
TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T3] TYPE_PARAMETER:[fqName=null, isInVariance=false, isOutVariance=false, name=T3]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p1] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p2] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p2]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T2] REFERENCE_EXPRESSION:[referencedName=T2]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p3] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p3]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T3] REFERENCE_EXPRESSION:[referencedName=T3]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p4] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p4]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T4] REFERENCE_EXPRESSION:[referencedName=T4]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p5] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p5]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T5] REFERENCE_EXPRESSION:[referencedName=T5]
@@ -410,7 +410,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
@@ -427,7 +427,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=p] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T1] REFERENCE_EXPRESSION:[referencedName=T1]
+12 -12
View File
@@ -18,11 +18,11 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -33,7 +33,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
NULLABLE_TYPE: NULLABLE_TYPE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -88,14 +88,14 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
NULLABLE_TYPE: NULLABLE_TYPE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
NULLABLE_TYPE: NULLABLE_TYPE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -127,13 +127,13 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -166,13 +166,13 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=kotlin] REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
@@ -287,15 +287,15 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE: TYPE_REFERENCE:
FUNCTION_TYPE: FUNCTION_TYPE:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=P1] REFERENCE_EXPRESSION:[referencedName=P1]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=P2] REFERENCE_EXPRESSION:[referencedName=P2]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=null] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=P3] REFERENCE_EXPRESSION:[referencedName=P3]
+2
View File
@@ -13,4 +13,6 @@ fun f() {
for (i in array(1, 2)) { for (i in array(1, 2)) {
} }
for ((i, j) in x) continue
} }
+3 -1
View File
@@ -10,10 +10,12 @@ fun f() {
for for
(i in array(1, 2)){} (i in array(1, 2)){}
for(i in array(1, 2))continue for( i in array(1, 2) )continue
for (i in array(1, 2)) for (i in array(1, 2))
{ {
} }
for( (i,j) in x) continue
} }
+2 -2
View File
@@ -2,11 +2,11 @@ PsiJetFileStubImpl[package=]
PACKAGE_DIRECTIVE: PACKAGE_DIRECTIVE:
FUN:[fqName=some, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=some] FUN:[fqName=some, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=some]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=t] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=t]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=true, hasValOrVarNode=false, isMutable=false, name=other] VALUE_PARAMETER:[fqName=null, hasDefaultValue=true, hasValOrVar=false, isMutable=false, name=other]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
+3 -3
View File
@@ -4,15 +4,15 @@ PsiJetFileStubImpl[package=test]
CLASS:[fqName=test.A, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A, superNames=[]] CLASS:[fqName=test.A, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A, superNames=[]]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=test.A.b, hasDefaultValue=false, hasValOrVarNode=true, isMutable=false, name=b] VALUE_PARAMETER:[fqName=test.A.b, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=b]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
VALUE_PARAMETER:[fqName=test.A.c, hasDefaultValue=false, hasValOrVarNode=true, isMutable=true, name=c] VALUE_PARAMETER:[fqName=test.A.c, hasDefaultValue=false, hasValOrVar=true, isMutable=true, name=c]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=justParam] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=justParam]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
+6 -6
View File
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
CLASS:[fqName=test.SecondaryConstructors, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=SecondaryConstructors, superNames=[]] CLASS:[fqName=test.SecondaryConstructors, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=SecondaryConstructors, superNames=[]]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=Boolean] REFERENCE_EXPRESSION:[referencedName=Boolean]
@@ -18,7 +18,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=anno] REFERENCE_EXPRESSION:[referencedName=anno]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=String] REFERENCE_EXPRESSION:[referencedName=String]
@@ -26,7 +26,7 @@ PsiJetFileStubImpl[package=test]
SECONDARY_CONSTRUCTOR: SECONDARY_CONSTRUCTOR:
MODIFIER_LIST:[private] MODIFIER_LIST:[private]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
@@ -50,11 +50,11 @@ PsiJetFileStubImpl[package=test]
CLASS_BODY: CLASS_BODY:
SECONDARY_CONSTRUCTOR: SECONDARY_CONSTRUCTOR:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=x] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=T] REFERENCE_EXPRESSION:[referencedName=T]
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=g] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=g]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=G] REFERENCE_EXPRESSION:[referencedName=G]
@@ -68,7 +68,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=anno] REFERENCE_EXPRESSION:[referencedName=anno]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=z] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=z]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=Int] REFERENCE_EXPRESSION:[referencedName=Int]
+2 -2
View File
@@ -6,7 +6,7 @@ PsiJetFileStubImpl[package=]
MODIFIER_LIST:[annotation] MODIFIER_LIST:[annotation]
PRIMARY_CONSTRUCTOR: PRIMARY_CONSTRUCTOR:
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=b.e, hasDefaultValue=false, hasValOrVarNode=true, isMutable=false, name=e] VALUE_PARAMETER:[fqName=b.e, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=e]
TYPE_REFERENCE: TYPE_REFERENCE:
USER_TYPE:[isAbsoluteInRootPackage=false] USER_TYPE:[isAbsoluteInRootPackage=false]
REFERENCE_EXPRESSION:[referencedName=E] REFERENCE_EXPRESSION:[referencedName=E]
@@ -17,7 +17,7 @@ PsiJetFileStubImpl[package=]
ENUM_ENTRY:[fqName=E.E2, isEnumEntry=true, isInterface=false, isLocal=false, isTopLevel=false, name=E2, superNames=[]] ENUM_ENTRY:[fqName=E.E2, isEnumEntry=true, isInterface=false, isLocal=false, isTopLevel=false, name=E2, superNames=[]]
FUN:[fqName=types, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=types] FUN:[fqName=types, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, name=types]
VALUE_PARAMETER_LIST: VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVarNode=false, isMutable=false, name=param] VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param]
TYPE_REFERENCE: TYPE_REFERENCE:
ANNOTATION: ANNOTATION:
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a] ANNOTATION_ENTRY:[hasValueArguments=false, shortName=a]
@@ -62,7 +62,7 @@ public interface PostProcessor {
val property = (psiElement as? JetSimpleNameExpression)?.getReference()?.resolve() as? JetProperty val property = (psiElement as? JetSimpleNameExpression)?.getReference()?.resolve() as? JetProperty
if (property != null && !property.isVar()) { if (property != null && !property.isVar()) {
val factory = JetPsiFactory(psiElement.getProject()) val factory = JetPsiFactory(psiElement.getProject())
property.getValOrVarNode().getPsi()!!.replace(factory.createVarNode().getPsi()!!) property.getValOrVarKeyword().replace(factory.createVarKeyword())
} }
} }
@@ -66,7 +66,7 @@ class JsDataClassGenerator extends DataClassMethodGenerator {
JsExpression argumentValue; JsExpression argumentValue;
JsExpression parameterValue = new JsNameRef(paramName); JsExpression parameterValue = new JsNameRef(paramName);
if (!constructorParam.hasValOrVarNode()) { if (!constructorParam.hasValOrVar()) {
assert !function.getValueParameters().get(i).hasDefaultValue(); assert !function.getValueParameters().get(i).hasDefaultValue();
// Caller cannot rely on default value and pass undefined here. // Caller cannot rely on default value and pass undefined here.
argumentValue = parameterValue; argumentValue = parameterValue;