-package org.simantics.scl.compiler.internal.codegen.types;\r
-\r
-import org.cojen.classfile.TypeDesc;\r
-import org.simantics.scl.compiler.constants.generic.ClassRef;\r
-\r
-@SuppressWarnings("hiding")\r
-public interface JavaReferenceValidator<Class,Method,Field,Constructor> {\r
-\r
- /**\r
- * Tries to find the given class or returns null if the class\r
- * does not exist.\r
- */\r
- Class findClass(TypeDesc name);\r
- \r
- boolean isInterface(Class clazz);\r
- \r
- boolean isPublic(Class clazz);\r
- \r
- /**\r
- * Finds all methods that are compatible with type\r
- * <pre>types[0] -> types[1] -> ... -> types[types.length-1]</pre> \r
- */\r
- Method[] findCompatibleMethods(Class clazz, boolean isStatic, String name, \r
- TypeDesc[] parameterTypes, TypeDesc returnType);\r
- TypeDesc getReturnType(Method method); \r
- TypeDesc[] getParameterTypes(Method method);\r
-\r
- Constructor[] findCompatibleConstructors(Class clazz, TypeDesc[] types);\r
- TypeDesc[] getConstructorParameterTypes(Constructor constructor);\r
- \r
- Field findField(Class clazz, String name);\r
- boolean isStaticField(Field field);\r
- TypeDesc getFieldType(Field field);\r
- boolean isAssignableFrom(TypeDesc to, TypeDesc from);\r
-\r
- Method[] chooseBest(Method[] methods);\r
- \r
- /**\r
- * Returns a class ref object to the class or null if the\r
- * class is not found.\r
- */\r
- ClassRef getClassRef(String className);\r
-}\r
+package org.simantics.scl.compiler.internal.codegen.types;
+
+import org.cojen.classfile.TypeDesc;
+import org.simantics.scl.compiler.constants.generic.ClassRef;
+
+@SuppressWarnings("hiding")
+public interface JavaReferenceValidator<Class,Method,Field,Constructor> {
+
+ /**
+ * Tries to find the given class or returns null if the class
+ * does not exist.
+ */
+ Class findClass(TypeDesc name);
+
+ boolean isInterface(Class clazz);
+
+ boolean isPublic(Class clazz);
+
+ /**
+ * Finds all methods that are compatible with type
+ * <pre>types[0] -> types[1] -> ... -> types[types.length-1]</pre>
+ */
+ Method[] findCompatibleMethods(Class clazz, boolean isStatic, String name,
+ TypeDesc[] parameterTypes, TypeDesc returnType);
+ TypeDesc getReturnType(Method method);
+ TypeDesc[] getParameterTypes(Method method);
+
+ Constructor[] findCompatibleConstructors(Class clazz, TypeDesc[] types);
+ TypeDesc[] getConstructorParameterTypes(Constructor constructor);
+
+ Field findField(Class clazz, String name);
+ boolean isStaticField(Field field);
+ TypeDesc getFieldType(Field field);
+ boolean isAssignableFrom(TypeDesc to, TypeDesc from);
+
+ Method[] chooseBest(Method[] methods);
+
+ /**
+ * Returns a class ref object to the class or null if the
+ * class is not found.
+ */
+ ClassRef getClassRef(String className);
+
+ ClassLoader getClassLoader();
+}