|
|
@@ -9,10 +9,7 @@ package net.ranides.assira.reflection.impl;
|
|
|
|
|
|
import net.ranides.assira.collection.arrays.ArrayUtils;
|
|
|
import net.ranides.assira.functional.VarFunction;
|
|
|
-import net.ranides.assira.reflection.IClass;
|
|
|
-import net.ranides.assira.reflection.IClasses;
|
|
|
-import net.ranides.assira.reflection.IContext;
|
|
|
-import net.ranides.assira.reflection.IExecutable;
|
|
|
+import net.ranides.assira.reflection.*;
|
|
|
import net.ranides.assira.trace.ExceptionUtils;
|
|
|
|
|
|
import java.lang.annotation.Annotation;
|
|
|
@@ -43,6 +40,36 @@ public abstract class AExecutable implements IExecutable {
|
|
|
return annotations().first(type);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public final boolean declares(IArguments arguments) {
|
|
|
+ return declares(arguments.types());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final boolean declares(IClasses arguments) {
|
|
|
+ return this.arguments().types().raw().list().equals(arguments.raw().list());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final boolean declares(IClass<?>... arguments) {
|
|
|
+ return declares(IClasses.typeinfo(arguments));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final boolean declares(Class<?>... arguments) {
|
|
|
+ return declares(IClasses.typeinfo(arguments));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final boolean declares() {
|
|
|
+ return declares(IClasses.EMPTY);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final boolean matches(IArguments arguments) {
|
|
|
+ return this.arguments().types().isSuper(arguments.types());
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public final boolean matches(IClasses arguments) {
|
|
|
return this.arguments().types().isSuper(arguments);
|