Remove some usages of Name.guess (and rename this utility to discourage new usages)

This commit is contained in:
Pavel V. Talanov
2016-02-11 14:36:59 +03:00
parent 47ceb106c7
commit 1800e5a7db
13 changed files with 23 additions and 30 deletions
@@ -168,7 +168,7 @@ public abstract class FileBasedKotlinClass implements KotlinJvmBinaryClass {
@Override
public org.jetbrains.org.objectweb.asm.AnnotationVisitor visitArray(String name) {
final AnnotationArrayArgumentVisitor arv = v.visitArray(Name.guess(name));
final AnnotationArrayArgumentVisitor arv = v.visitArray(Name.identifier(name));
return arv == null ? null : new org.jetbrains.org.objectweb.asm.AnnotationVisitor(ASM5) {
@Override
public void visit(String name, @NotNull Object value) {
@@ -189,7 +189,7 @@ public abstract class FileBasedKotlinClass implements KotlinJvmBinaryClass {
@Override
public org.jetbrains.org.objectweb.asm.AnnotationVisitor visitAnnotation(String name, @NotNull String desc) {
AnnotationArgumentVisitor arv = v.visitAnnotation(Name.guess(name), resolveNameByDesc(desc, innerClasses));
AnnotationArgumentVisitor arv = v.visitAnnotation(Name.identifier(name), resolveNameByDesc(desc, innerClasses));
return arv == null ? null : convertAnnotationVisitor(arv, innerClasses);
}
@@ -210,7 +210,7 @@ public abstract class FileBasedKotlinClass implements KotlinJvmBinaryClass {
new ClassReader(getFileContents()).accept(new ClassVisitor(ASM5) {
@Override
public FieldVisitor visitField(int access, @NotNull String name, @NotNull String desc, String signature, Object value) {
final AnnotationVisitor v = memberVisitor.visitField(Name.guess(name), desc, value);
final AnnotationVisitor v = memberVisitor.visitField(Name.identifier(name), desc, value);
if (v == null) return null;
return new FieldVisitor(ASM5) {
@@ -228,7 +228,7 @@ public abstract class FileBasedKotlinClass implements KotlinJvmBinaryClass {
@Override
public MethodVisitor visitMethod(int access, @NotNull String name, @NotNull String desc, String signature, String[] exceptions) {
final MethodAnnotationVisitor v = memberVisitor.visitMethod(Name.guess(name), desc);
final MethodAnnotationVisitor v = memberVisitor.visitMethod(Name.identifier(name), desc);
if (v == null) return null;
return new MethodVisitor(ASM5) {
@@ -19,11 +19,8 @@ package org.jetbrains.kotlin.psi
import com.intellij.lang.ASTNode
import com.intellij.psi.PsiElement
import com.intellij.psi.tree.IElementType
import com.intellij.psi.tree.TokenSet
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.psi.stubs.KotlinEnumEntrySuperclassReferenceExpressionStub
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
@@ -57,7 +54,7 @@ class KtEnumEntrySuperclassReferenceExpression :
}
override fun getReferencedNameAsName(): Name {
return referencedElement.getName()?.let { Name.guess(it) } ?: SpecialNames.NO_NAME_PROVIDED;
return referencedElement.getName()?.let { Name.identifier(it) } ?: SpecialNames.NO_NAME_PROVIDED;
}
override fun getReferencedNameElement(): PsiElement {
@@ -22,9 +22,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.DESC_TO_CLASS_ID
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.INTERNAL_TO_CLASS_ID
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.NONE
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.*
import java.util.*
class JvmNameResolver(
@@ -85,7 +83,7 @@ class JvmNameResolver(
return string
}
override fun getName(index: Int) = Name.guess(getString(index))
override fun getName(index: Int) = Name.guessByFirstCharacter(getString(index))
override fun getClassId(index: Int): ClassId {
val string = getString(index)
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.load.java.structure.reflect
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.Name.guess
class ReflectJavaValueParameter(
private val returnType: ReflectJavaType,
@@ -33,7 +32,7 @@ class ReflectJavaValueParameter(
override fun isDeprecatedInJavaDoc() = false
override fun getName() = name?.let(Name::guess)
override fun getName() = name?.let(Name::guessByFirstCharacter)
override fun getType() = returnType
override fun isVararg() = isVararg
@@ -62,11 +62,11 @@ public final class FqNameUnsafe {
private void compute() {
int lastDot = fqName.lastIndexOf('.');
if (lastDot >= 0) {
shortName = Name.guess(fqName.substring(lastDot + 1));
shortName = Name.guessByFirstCharacter(fqName.substring(lastDot + 1));
parent = new FqNameUnsafe(fqName.substring(0, lastDot));
}
else {
shortName = Name.guess(fqName);
shortName = Name.guessByFirstCharacter(fqName);
parent = FqName.ROOT.toUnsafe();
}
}
@@ -151,7 +151,7 @@ public final class FqNameUnsafe {
ArraysKt.map(fqName.split("\\."), new Function1<String, Name>() {
@Override
public Name invoke(String name) {
return Name.guess(name);
return Name.guessByFirstCharacter(name);
}
});
}
@@ -67,9 +67,8 @@ public final class Name implements Comparable<Name> {
return new Name(name, true);
}
// TODO: wrong
@NotNull
public static Name guess(@NotNull String name) {
public static Name guessByFirstCharacter(@NotNull String name) {
if (name.startsWith("<")) {
return special(name);
}
@@ -31,7 +31,7 @@ class NameResolverImpl(
override fun getString(index: Int) = strings.getString(index)
override fun getName(index: Int) = Name.guess(strings.getString(index))
override fun getName(index: Int) = Name.guessByFirstCharacter(strings.getString(index))
override fun getClassId(index: Int): ClassId {
val (packageFqNameSegments, relativeClassNameSegments, isLocal) = traverseIds(index)
@@ -102,7 +102,7 @@ internal abstract class KDeclarationContainerImpl : ClassBasedDeclarationContain
}
fun findPropertyDescriptor(name: String, signature: String): PropertyDescriptor {
val properties = getProperties(Name.guess(name))
val properties = getProperties(Name.identifier(name))
.filter { descriptor ->
descriptor is PropertyDescriptor &&
RuntimeTypeMapper.mapPropertySignature(descriptor).asString() == signature
@@ -120,7 +120,7 @@ internal abstract class KDeclarationContainerImpl : ClassBasedDeclarationContain
}
fun findFunctionDescriptor(name: String, signature: String): FunctionDescriptor {
val functions = (if (name == "<init>") constructorDescriptors.toList() else getFunctions(Name.guess(name)))
val functions = (if (name == "<init>") constructorDescriptors.toList() else getFunctions(Name.identifier(name)))
.filter { descriptor ->
RuntimeTypeMapper.mapSignature(descriptor).asString() == signature
}
@@ -89,7 +89,7 @@ class MoveMemberToCompanionObjectIntention : SelfTargetingRangeIntention<KtNamed
val companionDescriptor = containingClassDescriptor.companionObjectDescriptor
val companionMemberScope = (companionDescriptor ?: containingClassDescriptor).scopeForMemberDeclarationResolution
val validator = CollectingNameValidator(element.getValueParameters().mapNotNull { it.name }) {
companionMemberScope.getContributedVariables(Name.guess(it), NoLookupLocation.FROM_IDE).isEmpty()
companionMemberScope.getContributedVariables(Name.identifier(it), NoLookupLocation.FROM_IDE).isEmpty()
}
return KotlinNameSuggester.suggestNamesByType(containingClassDescriptor.defaultType, validator, "receiver")
}
@@ -27,12 +27,12 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.codeInsight.shorten.addToShorteningWaitSet
import org.jetbrains.kotlin.idea.core.moveFunctionLiteralOutsideParentheses
import org.jetbrains.kotlin.idea.core.replaced
import org.jetbrains.kotlin.idea.refactoring.replaceListPsiAndKeepDelimiters
import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinChangeInfo
import org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinParameterInfo
import org.jetbrains.kotlin.idea.refactoring.changeSignature.isInsideOfCallerBody
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.createNameCounterpartMap
import org.jetbrains.kotlin.idea.refactoring.introduce.introduceVariable.KotlinIntroduceVariableHandler
import org.jetbrains.kotlin.idea.refactoring.replaceListPsiAndKeepDelimiters
import org.jetbrains.kotlin.idea.util.ShortenReferences
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor
@@ -47,8 +47,8 @@ import org.jetbrains.kotlin.resolve.calls.model.*
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
import org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
import org.jetbrains.kotlin.resolve.scopes.receivers.ImplicitReceiver
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
import org.jetbrains.kotlin.types.expressions.OperatorConventions
import org.jetbrains.kotlin.utils.sure
@@ -289,7 +289,7 @@ class KotlinFunctionCallUsage(
defaultValueForCall != null -> substituteReferences(defaultValueForCall, parameter.defaultValueParameterReferences, psiFactory)
else -> null
}
val argName = (if (isInsideOfCallerBody) null else name)?.let { Name.guess(it) }
val argName = (if (isInsideOfCallerBody) null else name)?.let { Name.identifier(it) }
return psiFactory.createArgument(argValue ?: psiFactory.createExpression("0"), argName).apply {
generatedArgumentValue = true
if (argValue == null) {
@@ -357,7 +357,7 @@ class KotlinFunctionCallUsage(
for (argInfo in newArgumentInfos) {
if (argInfo.shouldSkip()) continue
val name = argInfo.name?.let { Name.guess(it) }
val name = argInfo.name?.let { Name.identifier(it) }
if (argInfo.receiverValue != null) {
val receiverExpression = getReceiverExpression(argInfo.receiverValue, psiFactory) ?: continue
@@ -49,7 +49,7 @@ class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() {
.restrictToKotlinSources()
if (searchScope === GlobalSearchScope.EMPTY_SCOPE) return@runReadActionInSmartMode
for (name in getPropertyNamesCandidatesByAccessorName(Name.guess(method.name))) {
for (name in getPropertyNamesCandidatesByAccessorName(Name.identifier(method.name))) {
p.optimizer.searchWord(
name.asString(),
searchScope,
@@ -77,7 +77,7 @@ public final class NamePredicate implements Predicate<Name> {
public NamePredicate(@NotNull List<String> validNames) {
for (String validName : validNames) {
this.validNames.add(Name.guess(validName));
this.validNames.add(Name.guessByFirstCharacter(validName));
}
}
@@ -146,7 +146,7 @@ public final class StandardClasses {
@NotNull String javascriptName) {
JsObjectScope classScope = scopeMap.get(fullQualifiedClassName);
assert classScope != null;
FqNameUnsafe fullQualifiedMethodName = fullQualifiedClassName.child(Name.guess(shortMethodName));
FqNameUnsafe fullQualifiedMethodName = fullQualifiedClassName.child(Name.guessByFirstCharacter(shortMethodName));
standardObjects.put(fullQualifiedMethodName, classScope.declareName(javascriptName));
}