Using FqNameUnsafe for relative class names
This commit is contained in:
committed by
Alexander Udalov
parent
699d5acd36
commit
347e2c27aa
+6
-5
@@ -2,13 +2,14 @@ package org.jetbrains.jet.descriptors.serialization;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
public final class ClassId {
|
||||
private final FqName packageFqName;
|
||||
private final FqName relativeClassName;
|
||||
private final FqNameUnsafe relativeClassName;
|
||||
|
||||
public ClassId(@NotNull FqName packageFqName, @NotNull FqName relativeClassName) {
|
||||
public ClassId(@NotNull FqName packageFqName, @NotNull FqNameUnsafe relativeClassName) {
|
||||
this.packageFqName = packageFqName;
|
||||
assert !relativeClassName.isRoot() : "Class name must not be root. " + packageFqName;
|
||||
this.relativeClassName = relativeClassName;
|
||||
@@ -20,7 +21,7 @@ public final class ClassId {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public FqName getRelativeClassName() {
|
||||
public FqNameUnsafe getRelativeClassName() {
|
||||
return relativeClassName;
|
||||
}
|
||||
|
||||
@@ -29,9 +30,9 @@ public final class ClassId {
|
||||
return new ClassId(getPackageFqName(), relativeClassName.child(name));
|
||||
}
|
||||
|
||||
public FqName asSingleFqName() {
|
||||
public FqNameUnsafe asSingleFqName() {
|
||||
if (packageFqName.isRoot()) return relativeClassName;
|
||||
return new FqName(packageFqName.getFqName() + "." + relativeClassName.getFqName());
|
||||
return new FqNameUnsafe(packageFqName.getFqName() + "." + relativeClassName.getFqName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-1
@@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
import static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.*;
|
||||
@@ -80,7 +81,7 @@ public class NameResolver {
|
||||
packageFqName = FqName.ROOT;
|
||||
}
|
||||
|
||||
return new ClassId(packageFqName, new FqName(relativeClassName.toString()));
|
||||
return new ClassId(packageFqName, new FqNameUnsafe(relativeClassName.toString()));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user