Inline trait support

This commit is contained in:
Mikhael Bogdanov
2014-02-28 15:27:48 +04:00
parent 286dd50be4
commit 6d1effe981
3 changed files with 21 additions and 7 deletions
@@ -34,13 +34,21 @@ public class DeserializedResolverUtils {
private DeserializedResolverUtils() {
}
@NotNull
public static FqName kotlinFqNameToJavaFqName(@NotNull FqNameUnsafe kotlinFqName) {
return kotlinFqNameToJavaFqName(kotlinFqName, false);
}
@NotNull
public static FqName kotlinFqNameToJavaFqName(@NotNull FqNameUnsafe kotlinFqName, boolean addTraitImplSuffix) {
List<Name> segments = kotlinFqName.pathSegments();
List<String> correctedSegments = new ArrayList<String>(segments.size());
for (Name segment : segments) {
correctedSegments.add(isClassObjectName(segment) ? JvmAbi.CLASS_OBJECT_CLASS_NAME : segment.getIdentifier());
}
if (addTraitImplSuffix) {
int lastIndex = correctedSegments.size() - 1;
correctedSegments.set(lastIndex, correctedSegments.get(lastIndex) + JvmAbi.TRAIT_IMPL_SUFFIX);
}
return FqName.fromSegments(correctedSegments);
}