Don't ignore methods of Object in tests
Ignore methods of kotlin.Any instead
This commit is contained in:
+1
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user