+ added several reflection classes for use in array processing

git-svn-id: branches/jvmbackend@18502 -
This commit is contained in:
Jonas Maebe 2011-08-20 08:05:12 +00:00
parent 49de6346ce
commit 6c35ea202b
2 changed files with 215 additions and 29 deletions

View File

@ -75,6 +75,46 @@
class function mapLibraryName(para1: JLString): JLString; static; overload;
end;
JLRAnnotatedElement = interface external 'java.lang.reflect' name 'AnnotatedElement'
function isAnnotationPresent(para1: JLClass): jboolean; overload;
function getAnnotation(para1: JLClass): JLAAnnotation; overload;
function getAnnotations(): Arr1JLAAnnotation; overload;
function getDeclaredAnnotations(): Arr1JLAAnnotation; overload;
end;
JLRArray = class sealed external 'java.lang.reflect' name 'Array' (JLObject)
public
class function newInstance(para1: JLClass; para2: jint): JLObject; static; overload; // throws java.lang.NegativeArraySizeException
class function newInstance(para1: JLClass; para2: Arr1jint): JLObject; static; overload; // throws java.lang.IllegalArgumentException, java.lang.NegativeArraySizeException
class function newInstance(para1: JLClass; var para2: array of jint): JLObject; static; overload; // throws java.lang.IllegalArgumentException, java.lang.NegativeArraySizeException
class function getLength(para1: JLObject): jint; static; overload; // throws java.lang.IllegalArgumentException
class function get(para1: JLObject; para2: jint): JLObject; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getBoolean(para1: JLObject; para2: jint): jboolean; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getByte(para1: JLObject; para2: jint): jbyte; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getChar(para1: JLObject; para2: jint): jchar; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getShort(para1: JLObject; para2: jint): jshort; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getInt(para1: JLObject; para2: jint): jint; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getLong(para1: JLObject; para2: jint): jlong; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getFloat(para1: JLObject; para2: jint): jfloat; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class function getDouble(para1: JLObject; para2: jint): jdouble; static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure &set(para1: JLObject; para2: jint; para3: JLObject); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setBoolean(para1: JLObject; para2: jint; para3: jboolean); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setByte(para1: JLObject; para2: jint; para3: jbyte); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setChar(para1: JLObject; para2: jint; para3: jchar); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setShort(para1: JLObject; para2: jint; para3: jshort); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setInt(para1: JLObject; para2: jint; para3: jint); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setLong(para1: JLObject; para2: jint; para3: jlong); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setFloat(para1: JLObject; para2: jint; para3: jfloat); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
class procedure setDouble(para1: JLObject; para2: jint; para3: jdouble); static; overload; // throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException
end;
JLRGenericDeclaration = interface external 'java.lang.reflect' name 'GenericDeclaration'
function getTypeParameters(): Arr1JLRTypeVariable; overload;
end;
JLRType = interface external 'java.lang.reflect' name 'Type'
end;
JUComparator = interface external 'java.util' name 'Comparator'
function compare(para1: JLObject; para2: JLObject): jint; overload;
function equals(para1: JLObject): jboolean; overload;
@ -613,6 +653,87 @@
function compareTo(para1: JLObject): jint; overload; virtual;
end;
JLClass = class sealed external 'java.lang' name 'Class' (JLObject, JISerializable, JLRGenericDeclaration, JLRType, JLRAnnotatedElement)
public
type
InnerMethodArray = class;
Arr1InnerMethodArray = array of InnerMethodArray;
Arr2InnerMethodArray = array of Arr1InnerMethodArray;
Arr3InnerMethodArray = array of Arr2InnerMethodArray;
InnerEnclosingMethodInfo = class;
Arr1InnerEnclosingMethodInfo = array of InnerEnclosingMethodInfo;
Arr2InnerEnclosingMethodInfo = array of Arr1InnerEnclosingMethodInfo;
Arr3InnerEnclosingMethodInfo = array of Arr2InnerEnclosingMethodInfo;
InnerMethodArray = class external 'java.lang' name 'Class$MethodArray'
end;
InnerEnclosingMethodInfo = class sealed external 'java.lang' name 'Class$EnclosingMethodInfo'
end;
public
function toString(): JLString; overload; virtual;
class function forName(para1: JLString): JLClass; static; overload; // throws java.lang.ClassNotFoundException
class function forName(para1: JLString; para2: jboolean; para3: JLClassLoader): JLClass; static; overload; // throws java.lang.ClassNotFoundException
function newInstance(): JLObject; overload; virtual; // throws java.lang.InstantiationException, java.lang.IllegalAccessException
function isInstance(para1: JLObject): jboolean; overload; virtual;
function isAssignableFrom(para1: JLClass): jboolean; overload; virtual;
function isInterface(): jboolean; overload; virtual;
function isArray(): jboolean; overload; virtual;
function isPrimitive(): jboolean; overload; virtual;
function isAnnotation(): jboolean; overload; virtual;
function isSynthetic(): jboolean; overload; virtual;
function getName(): JLString; overload; virtual;
function getClassLoader(): JLClassLoader; overload; virtual;
function getTypeParameters(): Arr1JLRTypeVariable; overload; virtual;
function getSuperclass(): JLClass; overload; virtual;
function getGenericSuperclass(): JLRType; overload; virtual;
function getPackage(): JLPackage; overload; virtual;
function getInterfaces(): Arr1JLClass; overload; virtual;
function getGenericInterfaces(): Arr1JLRType; overload; virtual;
function getComponentType(): JLClass; overload; virtual;
function getModifiers(): jint; overload; virtual;
function getSigners(): Arr1JLObject; overload; virtual;
function getEnclosingMethod(): JLRMethod; overload; virtual;
function getEnclosingConstructor(): JLRConstructor; overload; virtual;
function getDeclaringClass(): JLClass; overload; virtual;
function getEnclosingClass(): JLClass; overload; virtual;
function getSimpleName(): JLString; overload; virtual;
function getCanonicalName(): JLString; overload; virtual;
function isAnonymousClass(): jboolean; overload; virtual;
function isLocalClass(): jboolean; overload; virtual;
function isMemberClass(): jboolean; overload; virtual;
function getClasses(): Arr1JLClass; overload; virtual;
function getFields(): Arr1JLRField; overload; virtual; // throws java.lang.SecurityException
function getMethods(): Arr1JLRMethod; overload; virtual; // throws java.lang.SecurityException
function getConstructors(): Arr1JLRConstructor; overload; virtual; // throws java.lang.SecurityException
function getField(para1: JLString): JLRField; overload; virtual; // throws java.lang.NoSuchFieldException, java.lang.SecurityException
function getMethod(para1: JLString; para2: Arr1JLClass): JLRMethod; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getMethod(para1: JLString; var para2: array of JLClass): JLRMethod; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getConstructor(para1: Arr1JLClass): JLRConstructor; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getConstructor(var para1: array of JLClass): JLRConstructor; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getDeclaredClasses(): Arr1JLClass; overload; virtual; // throws java.lang.SecurityException
function getDeclaredFields(): Arr1JLRField; overload; virtual; // throws java.lang.SecurityException
function getDeclaredMethods(): Arr1JLRMethod; overload; virtual; // throws java.lang.SecurityException
function getDeclaredConstructors(): Arr1JLRConstructor; overload; virtual; // throws java.lang.SecurityException
function getDeclaredField(para1: JLString): JLRField; overload; virtual; // throws java.lang.NoSuchFieldException, java.lang.SecurityException
function getDeclaredMethod(para1: JLString; para2: Arr1JLClass): JLRMethod; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getDeclaredMethod(para1: JLString; var para2: array of JLClass): JLRMethod; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getDeclaredConstructor(para1: Arr1JLClass): JLRConstructor; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getDeclaredConstructor(var para1: array of JLClass): JLRConstructor; overload; virtual; // throws java.lang.NoSuchMethodException, java.lang.SecurityException
function getResourceAsStream(para1: JLString): JIInputStream; overload; virtual;
function getResource(para1: JLString): JNURL; overload; virtual;
function getProtectionDomain(): JSProtectionDomain; overload; virtual;
function desiredAssertionStatus(): jboolean; overload; virtual;
function isEnum(): jboolean; overload; virtual;
function getEnumConstants(): Arr1JLObject; overload; virtual;
function cast(para1: JLObject): JLObject; overload; virtual;
function asSubclass(para1: JLClass): JLClass; overload; virtual;
function getAnnotation(para1: JLClass): JLAAnnotation; overload; virtual;
function isAnnotationPresent(para1: JLClass): jboolean; overload; virtual;
function getAnnotations(): Arr1JLAAnnotation; overload; virtual;
function getDeclaredAnnotations(): Arr1JLAAnnotation; overload; virtual;
end;
JTCollator = class abstract external 'java.text' name 'Collator' (JLObject, JUComparator, JLCloneable)
public
type

View File

@ -1,4 +1,4 @@
{ Imports for Java packages/classes: java.io.Serializable, java.lang.AbstractStringBuilder, java.lang.Appendable, java.lang.CharSequence, java.lang.Character, java.lang.Cloneable, java.lang.Comparable, java.lang.Double, java.lang.Error, java.lang.Exception, java.lang.Float, java.lang.IllegalArgumentException, java.lang.IndexOutOfBoundsException, java.lang.LinkageError, java.lang.Number, java.lang.Object, java.lang.RuntimeException, java.lang.String, java.lang.StringBuffer, java.lang.StringBuilder, java.lang.System, java.lang.Throwable, java.text.Collator, java.util.Comparator }
{ Imports for Java packages/classes: java.io.Serializable, java.lang.AbstractStringBuilder, java.lang.Appendable, java.lang.CharSequence, java.lang.Character, java.lang.Class, java.lang.Cloneable, java.lang.Comparable, java.lang.Double, java.lang.Error, java.lang.Exception, java.lang.Float, java.lang.IllegalArgumentException, java.lang.IndexOutOfBoundsException, java.lang.LinkageError, java.lang.Number, java.lang.Object, java.lang.RuntimeException, java.lang.String, java.lang.StringBuffer, java.lang.StringBuilder, java.lang.System, java.lang.Throwable, java.lang.reflect.AnnotatedElement, java.lang.reflect.Array, java.lang.reflect.GenericDeclaration, java.lang.reflect.Type, java.text.Collator, java.util.Comparator }
type
JLStringBuffer = class;
Arr1JLStringBuffer = array of JLStringBuffer;
@ -30,6 +30,11 @@ type
Arr2JLLinkageError = array of Arr1JLLinkageError;
Arr3JLLinkageError = array of Arr2JLLinkageError;
JLRArray = class;
Arr1JLRArray = array of JLRArray;
Arr2JLRArray = array of Arr1JLRArray;
Arr3JLRArray = array of Arr2JLRArray;
JLError = class;
Arr1JLError = array of JLError;
Arr2JLError = array of Arr1JLError;
@ -70,6 +75,11 @@ type
Arr2JLIllegalArgumentException = array of Arr1JLIllegalArgumentException;
Arr3JLIllegalArgumentException = array of Arr2JLIllegalArgumentException;
JLClass = class;
Arr1JLClass = array of JLClass;
Arr2JLClass = array of Arr1JLClass;
Arr3JLClass = array of Arr2JLClass;
JLString = class;
Arr1JLString = array of JLString;
Arr2JLString = array of Arr1JLString;
@ -95,6 +105,16 @@ type
Arr2JLCharSequence = array of Arr1JLCharSequence;
Arr3JLCharSequence = array of Arr2JLCharSequence;
JLRGenericDeclaration = interface;
Arr1JLRGenericDeclaration = array of JLRGenericDeclaration;
Arr2JLRGenericDeclaration = array of Arr1JLRGenericDeclaration;
Arr3JLRGenericDeclaration = array of Arr2JLRGenericDeclaration;
JLRAnnotatedElement = interface;
Arr1JLRAnnotatedElement = array of JLRAnnotatedElement;
Arr2JLRAnnotatedElement = array of Arr1JLRAnnotatedElement;
Arr3JLRAnnotatedElement = array of Arr2JLRAnnotatedElement;
JLCloneable = interface;
Arr1JLCloneable = array of JLCloneable;
Arr2JLCloneable = array of Arr1JLCloneable;
@ -110,6 +130,11 @@ type
Arr2JLAppendable = array of Arr1JLAppendable;
Arr3JLAppendable = array of Arr2JLAppendable;
JLRType = interface;
Arr1JLRType = array of JLRType;
Arr2JLRType = array of Arr1JLRType;
Arr3JLRType = array of Arr2JLRType;
JISerializable = interface;
Arr1JISerializable = array of JISerializable;
Arr2JISerializable = array of Arr1JISerializable;
@ -125,15 +150,10 @@ type
Arr2JLStackTraceElement = array of Arr1JLStackTraceElement;
Arr3JLStackTraceElement = array of Arr2JLStackTraceElement;
JTCollationKey = class external 'java.text' name 'CollationKey';
Arr1JTCollationKey = array of JTCollationKey;
Arr2JTCollationKey = array of Arr1JTCollationKey;
Arr3JTCollationKey = array of Arr2JTCollationKey;
JIPrintWriter = class external 'java.io' name 'PrintWriter';
Arr1JIPrintWriter = array of JIPrintWriter;
Arr2JIPrintWriter = array of Arr1JIPrintWriter;
Arr3JIPrintWriter = array of Arr2JIPrintWriter;
JLClassLoader = class external 'java.lang' name 'ClassLoader';
Arr1JLClassLoader = array of JLClassLoader;
Arr2JLClassLoader = array of Arr1JLClassLoader;
Arr3JLClassLoader = array of Arr2JLClassLoader;
JUProperties = class external 'java.util' name 'Properties';
Arr1JUProperties = array of JUProperties;
@ -145,41 +165,86 @@ type
Arr2JIInputStream = array of Arr1JIInputStream;
Arr3JIInputStream = array of Arr2JIInputStream;
JIConsole = class external 'java.io' name 'Console';
Arr1JIConsole = array of JIConsole;
Arr2JIConsole = array of Arr1JIConsole;
Arr3JIConsole = array of Arr2JIConsole;
JLClass = class external 'java.lang' name 'Class';
Arr1JLClass = array of JLClass;
Arr2JLClass = array of Arr1JLClass;
Arr3JLClass = array of Arr2JLClass;
JULocale = class external 'java.util' name 'Locale';
Arr1JULocale = array of JULocale;
Arr2JULocale = array of Arr1JULocale;
Arr3JULocale = array of Arr2JULocale;
JLSecurityManager = class external 'java.lang' name 'SecurityManager';
Arr1JLSecurityManager = array of JLSecurityManager;
Arr2JLSecurityManager = array of Arr1JLSecurityManager;
Arr3JLSecurityManager = array of Arr2JLSecurityManager;
JNCCharset = class external 'java.nio.charset' name 'Charset';
Arr1JNCCharset = array of JNCCharset;
Arr2JNCCharset = array of Arr1JNCCharset;
Arr3JNCCharset = array of Arr2JNCCharset;
JSProtectionDomain = class external 'java.security' name 'ProtectionDomain';
Arr1JSProtectionDomain = array of JSProtectionDomain;
Arr2JSProtectionDomain = array of Arr1JSProtectionDomain;
Arr3JSProtectionDomain = array of Arr2JSProtectionDomain;
JLRField = class external 'java.lang.reflect' name 'Field';
Arr1JLRField = array of JLRField;
Arr2JLRField = array of Arr1JLRField;
Arr3JLRField = array of Arr2JLRField;
JIPrintStream = class external 'java.io' name 'PrintStream';
Arr1JIPrintStream = array of JIPrintStream;
Arr2JIPrintStream = array of Arr1JIPrintStream;
Arr3JIPrintStream = array of Arr2JIPrintStream;
JLRMethod = class external 'java.lang.reflect' name 'Method';
Arr1JLRMethod = array of JLRMethod;
Arr2JLRMethod = array of Arr1JLRMethod;
Arr3JLRMethod = array of Arr2JLRMethod;
JTCollationKey = class external 'java.text' name 'CollationKey';
Arr1JTCollationKey = array of JTCollationKey;
Arr2JTCollationKey = array of Arr1JTCollationKey;
Arr3JTCollationKey = array of Arr2JTCollationKey;
JLRConstructor = class external 'java.lang.reflect' name 'Constructor';
Arr1JLRConstructor = array of JLRConstructor;
Arr2JLRConstructor = array of Arr1JLRConstructor;
Arr3JLRConstructor = array of Arr2JLRConstructor;
JIPrintWriter = class external 'java.io' name 'PrintWriter';
Arr1JIPrintWriter = array of JIPrintWriter;
Arr2JIPrintWriter = array of Arr1JIPrintWriter;
Arr3JIPrintWriter = array of Arr2JIPrintWriter;
JLPackage = class external 'java.lang' name 'Package';
Arr1JLPackage = array of JLPackage;
Arr2JLPackage = array of Arr1JLPackage;
Arr3JLPackage = array of Arr2JLPackage;
JNURL = class external 'java.net' name 'URL';
Arr1JNURL = array of JNURL;
Arr2JNURL = array of Arr1JNURL;
Arr3JNURL = array of Arr2JNURL;
JIConsole = class external 'java.io' name 'Console';
Arr1JIConsole = array of JIConsole;
Arr2JIConsole = array of Arr1JIConsole;
Arr3JIConsole = array of Arr2JIConsole;
JULocale = class external 'java.util' name 'Locale';
Arr1JULocale = array of JULocale;
Arr2JULocale = array of Arr1JULocale;
Arr3JULocale = array of Arr2JULocale;
JNCCharset = class external 'java.nio.charset' name 'Charset';
Arr1JNCCharset = array of JNCCharset;
Arr2JNCCharset = array of Arr1JNCCharset;
Arr3JNCCharset = array of Arr2JNCCharset;
JLAAnnotation = interface external 'java.lang.annotation' name 'Annotation';
Arr1JLAAnnotation = array of JLAAnnotation;
Arr2JLAAnnotation = array of Arr1JLAAnnotation;
Arr3JLAAnnotation = array of Arr2JLAAnnotation;
JNCChannel = interface external 'java.nio.channels' name 'Channel';
Arr1JNCChannel = array of JNCChannel;
Arr2JNCChannel = array of Arr1JNCChannel;
Arr3JNCChannel = array of Arr2JNCChannel;
JLRTypeVariable = interface external 'java.lang.reflect' name 'TypeVariable';
Arr1JLRTypeVariable = array of JLRTypeVariable;
Arr2JLRTypeVariable = array of Arr1JLRTypeVariable;
Arr3JLRTypeVariable = array of Arr2JLRTypeVariable;
JUMap = interface external 'java.util' name 'Map';
Arr1JUMap = array of JUMap;
Arr2JUMap = array of Arr1JUMap;