Refactor: Extract isObject with a new semantic

This commit is contained in:
Pavel V. Talanov
2015-03-04 14:20:49 +03:00
parent fc6f4208ec
commit fa590a5b83
4 changed files with 8 additions and 4 deletions
@@ -243,7 +243,7 @@ public class ModifiersChecker {
if (DescriptorUtils.isTrait(containingDeclaration)) {
return InnerModifierCheckResult.IN_TRAIT;
}
else if (DescriptorUtils.isDefaultObject(containingDeclaration) || DescriptorUtils.isNonDefaultObject(containingDeclaration)) {
else if (DescriptorUtils.isObject(containingDeclaration)) {
return InnerModifierCheckResult.IN_OBJECT;
}
else {
@@ -48,8 +48,7 @@ public class ConstantExpressionEvaluator private (val trace: BindingTrace) : Jet
if (descriptor.isVar()) {
return false
}
if (DescriptorUtils.isNonDefaultObject(descriptor.getContainingDeclaration()) ||
DescriptorUtils.isDefaultObject(descriptor.getContainingDeclaration()) ||
if (DescriptorUtils.isObject(descriptor.getContainingDeclaration()) ||
DescriptorUtils.isStaticDeclaration(descriptor)) {
val returnType = descriptor.getType()
return KotlinBuiltIns.isPrimitiveType(returnType) || KotlinBuiltIns.isString(returnType)
@@ -49,6 +49,7 @@ import java.util.jar.JarFile;
import java.util.zip.ZipOutputStream;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isNonDefaultObject;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isObject;
import static org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile;
public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir {
@@ -144,7 +145,7 @@ public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir {
assertEquals(allDescriptors.toString(), 2, allDescriptors.size());
for (DeclarationDescriptor descriptor : allDescriptors) {
assertTrue("Wrong name: " + descriptor, descriptor.getName().asString().equals("Lol"));
assertTrue("Should be an object: " + descriptor, isNonDefaultObject(descriptor));
assertTrue("Should be an object: " + descriptor, isObject(descriptor));
}
}
@@ -252,6 +252,10 @@ public class DescriptorUtils {
return isKindOf(descriptor, ClassKind.OBJECT);
}
public static boolean isObject(@NotNull DeclarationDescriptor descriptor) {
return isDefaultObject(descriptor) || isNonDefaultObject(descriptor);
}
public static boolean isEnumEntry(@NotNull DeclarationDescriptor descriptor) {
return isKindOf(descriptor, ClassKind.ENUM_ENTRY);
}