Don't ignore methods of Object in tests

Ignore methods of kotlin.Any instead
This commit is contained in:
Alexander Udalov
2014-07-22 13:16:00 +04:00
parent cdbdfaf182
commit f3309d1fa7
3 changed files with 15 additions and 15 deletions
@@ -6,6 +6,7 @@ public abstract class ClassDoesNotOverrideMethod : java.util.Date {
invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long
public open override /*1*/ /*fake_override*/ fun after(/*0*/ p0: java.util.Date): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun after(/*0*/ p0: java.util.Date): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun before(/*0*/ p0: java.util.Date): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun before(/*0*/ p0: java.util.Date): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: java.util.Date): kotlin.Int public open override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: java.util.Date): kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ fun getCalendarDate(): sun.util.calendar.BaseCalendar.Date? invisible_fake final override /*1*/ /*fake_override*/ fun getCalendarDate(): sun.util.calendar.BaseCalendar.Date?
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun getDate(): kotlin.Int kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun getDate(): kotlin.Int
@@ -46,7 +46,7 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
public void testBuiltIns() throws Exception { public void testBuiltIns() throws Exception {
RecursiveDescriptorComparator.Configuration configuration = RecursiveDescriptorComparator.Configuration configuration =
RecursiveDescriptorComparator.RECURSIVE_ALL.includeMethodsOfObject(false).withRenderer( RecursiveDescriptorComparator.RECURSIVE_ALL.includeMethodsOfKotlinAny(false).withRenderer(
new DescriptorRendererBuilder() new DescriptorRendererBuilder()
.setWithDefinedIn(false) .setWithDefinedIn(false)
.setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE) .setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE)
@@ -61,8 +61,7 @@ public class RecursiveDescriptorComparator {
Predicates.<FqName>alwaysTrue(), Predicates.<FqName>alwaysTrue(),
FORBID_ERROR_TYPES, DEFAULT_RENDERER); FORBID_ERROR_TYPES, DEFAULT_RENDERER);
private static final ImmutableSet<String> JAVA_OBJECT_METHOD_NAMES = ImmutableSet.of( private static final ImmutableSet<String> KOTLIN_ANY_METHOD_NAMES = ImmutableSet.of("equals", "hashCode", "toString");
"equals", "hashCode", "finalize", "wait", "notify", "notifyAll", "toString", "clone", "getClass");
private final Configuration conf; private final Configuration conf;
@@ -142,8 +141,8 @@ public class RecursiveDescriptorComparator {
private boolean shouldSkip(@NotNull DeclarationDescriptor subDescriptor) { private boolean shouldSkip(@NotNull DeclarationDescriptor subDescriptor) {
return subDescriptor.getContainingDeclaration() instanceof ClassDescriptor return subDescriptor.getContainingDeclaration() instanceof ClassDescriptor
&& subDescriptor instanceof FunctionDescriptor && subDescriptor instanceof FunctionDescriptor
&& JAVA_OBJECT_METHOD_NAMES.contains(subDescriptor.getName().asString()) && KOTLIN_ANY_METHOD_NAMES.contains(subDescriptor.getName().asString())
&& !conf.includeMethodsOfJavaObject && !conf.includeMethodsOfKotlinAny
|| ||
subDescriptor instanceof PackageViewDescriptor subDescriptor instanceof PackageViewDescriptor
&& !conf.recurseIntoPackage.apply(((PackageViewDescriptor) subDescriptor).getFqName()); && !conf.recurseIntoPackage.apply(((PackageViewDescriptor) subDescriptor).getFqName());
@@ -232,7 +231,7 @@ public class RecursiveDescriptorComparator {
public static class Configuration { public static class Configuration {
private final boolean checkPrimaryConstructors; private final boolean checkPrimaryConstructors;
private final boolean checkPropertyAccessors; private final boolean checkPropertyAccessors;
private final boolean includeMethodsOfJavaObject; private final boolean includeMethodsOfKotlinAny;
private final Predicate<FqName> recurseIntoPackage; private final Predicate<FqName> recurseIntoPackage;
private final DescriptorRenderer renderer; private final DescriptorRenderer renderer;
@@ -241,46 +240,46 @@ public class RecursiveDescriptorComparator {
public Configuration( public Configuration(
boolean checkPrimaryConstructors, boolean checkPrimaryConstructors,
boolean checkPropertyAccessors, boolean checkPropertyAccessors,
boolean includeMethodsOfJavaObject, boolean includeMethodsOfKotlinAny,
Predicate<FqName> recurseIntoPackage, Predicate<FqName> recurseIntoPackage,
DescriptorValidator.ValidationVisitor validationStrategy, DescriptorValidator.ValidationVisitor validationStrategy,
DescriptorRenderer renderer DescriptorRenderer renderer
) { ) {
this.checkPrimaryConstructors = checkPrimaryConstructors; this.checkPrimaryConstructors = checkPrimaryConstructors;
this.checkPropertyAccessors = checkPropertyAccessors; this.checkPropertyAccessors = checkPropertyAccessors;
this.includeMethodsOfJavaObject = includeMethodsOfJavaObject; this.includeMethodsOfKotlinAny = includeMethodsOfKotlinAny;
this.recurseIntoPackage = recurseIntoPackage; this.recurseIntoPackage = recurseIntoPackage;
this.validationStrategy = validationStrategy; this.validationStrategy = validationStrategy;
this.renderer = renderer; this.renderer = renderer;
} }
public Configuration filterRecursion(@NotNull Predicate<FqName> recurseIntoPackage) { public Configuration filterRecursion(@NotNull Predicate<FqName> recurseIntoPackage) {
return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage, return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfKotlinAny, recurseIntoPackage,
validationStrategy, renderer); validationStrategy, renderer);
} }
public Configuration checkPrimaryConstructors(boolean checkPrimaryConstructors) { public Configuration checkPrimaryConstructors(boolean checkPrimaryConstructors) {
return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage, return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfKotlinAny, recurseIntoPackage,
validationStrategy, renderer); validationStrategy, renderer);
} }
public Configuration checkPropertyAccessors(boolean checkPropertyAccessors) { public Configuration checkPropertyAccessors(boolean checkPropertyAccessors) {
return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage, return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfKotlinAny, recurseIntoPackage,
validationStrategy, renderer); validationStrategy, renderer);
} }
public Configuration includeMethodsOfObject(boolean includeMethodsOfJavaObject) { public Configuration includeMethodsOfKotlinAny(boolean includeMethodsOfKotlinAny) {
return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage, return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfKotlinAny, recurseIntoPackage,
validationStrategy, renderer); validationStrategy, renderer);
} }
public Configuration withValidationStrategy(@NotNull DescriptorValidator.ValidationVisitor validationStrategy) { public Configuration withValidationStrategy(@NotNull DescriptorValidator.ValidationVisitor validationStrategy) {
return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage, return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfKotlinAny, recurseIntoPackage,
validationStrategy, renderer); validationStrategy, renderer);
} }
public Configuration withRenderer(@NotNull DescriptorRenderer renderer) { public Configuration withRenderer(@NotNull DescriptorRenderer renderer) {
return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage, return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfKotlinAny, recurseIntoPackage,
validationStrategy, renderer); validationStrategy, renderer);
} }
} }