mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-16 23:58:26 +02:00

o sets of enums are handled as JUEnumSet instances, others as JUBitSet derivatives (both smallsets and varsets, to make interoperability with Java easier) o special handling of set constants: these have to be constructed at run time. In case of constants in the code, create an internal constsym to represent them. These and regular constsyms are then aliased by an another internal staticvarsym that is used to initialise them in the unit initialisation code. o until they are constructed at run time, set constants are encoded as constant Java strings (with the characters containing the set bits) o hlcgobj conversion of tcginnode.pass_generate_code() for the genjumps part (that's the only part of the generic code that's used by the JVM target) o as far as explicit typecasting support is concerned, currently the following ones are supported (both from/to setdefs): ordinal types, enums, any other set types (whose size is the same on native targets) o enum setdefs also emit signatures o overloading routines for different ordinal set types, or for different enum set types, is not supported on the JVM target git-svn-id: branches/jvmbackend@18662 -
344 lines
13 KiB
PHP
344 lines
13 KiB
PHP
{ Imports for Java packages/classes: java.io.Serializable, java.lang.AbstractStringBuilder, java.lang.Appendable, java.lang.Boolean, java.lang.Byte, java.lang.CharSequence, java.lang.Character, java.lang.Class, java.lang.Cloneable, java.lang.Comparable, java.lang.Double, java.lang.Enum, java.lang.Error, java.lang.Exception, java.lang.Float, java.lang.IllegalArgumentException, java.lang.IndexOutOfBoundsException, java.lang.Integer, java.lang.Iterable, java.lang.LinkageError, java.lang.Long, java.lang.Number, java.lang.Object, java.lang.RuntimeException, java.lang.Short, 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.AbstractCollection, java.util.AbstractMap, java.util.AbstractSet, java.util.Arrays, java.util.BitSet, java.util.Collection, java.util.Comparator, java.util.EnumSet, java.util.HashMap, java.util.Iterator, java.util.Map, java.util.Set }
|
|
type
|
|
JLStringBuffer = class;
|
|
Arr1JLStringBuffer = array of JLStringBuffer;
|
|
Arr2JLStringBuffer = array of Arr1JLStringBuffer;
|
|
Arr3JLStringBuffer = array of Arr2JLStringBuffer;
|
|
|
|
JLObject = class;
|
|
Arr1JLObject = array of JLObject;
|
|
Arr2JLObject = array of Arr1JLObject;
|
|
Arr3JLObject = array of Arr2JLObject;
|
|
|
|
JLStringBuilder = class;
|
|
Arr1JLStringBuilder = array of JLStringBuilder;
|
|
Arr2JLStringBuilder = array of Arr1JLStringBuilder;
|
|
Arr3JLStringBuilder = array of Arr2JLStringBuilder;
|
|
|
|
JLAbstractStringBuilder = class;
|
|
Arr1JLAbstractStringBuilder = array of JLAbstractStringBuilder;
|
|
Arr2JLAbstractStringBuilder = array of Arr1JLAbstractStringBuilder;
|
|
Arr3JLAbstractStringBuilder = array of Arr2JLAbstractStringBuilder;
|
|
|
|
JLEnum = class;
|
|
Arr1JLEnum = array of JLEnum;
|
|
Arr2JLEnum = array of Arr1JLEnum;
|
|
Arr3JLEnum = array of Arr2JLEnum;
|
|
|
|
JLError = class;
|
|
Arr1JLError = array of JLError;
|
|
Arr2JLError = array of Arr1JLError;
|
|
Arr3JLError = array of Arr2JLError;
|
|
|
|
JLNumber = class;
|
|
Arr1JLNumber = array of JLNumber;
|
|
Arr2JLNumber = array of Arr1JLNumber;
|
|
Arr3JLNumber = array of Arr2JLNumber;
|
|
|
|
JLCharacter = class;
|
|
Arr1JLCharacter = array of JLCharacter;
|
|
Arr2JLCharacter = array of Arr1JLCharacter;
|
|
Arr3JLCharacter = array of Arr2JLCharacter;
|
|
|
|
JUArrays = class;
|
|
Arr1JUArrays = array of JUArrays;
|
|
Arr2JUArrays = array of Arr1JUArrays;
|
|
Arr3JUArrays = array of Arr2JUArrays;
|
|
|
|
JLBoolean = class;
|
|
Arr1JLBoolean = array of JLBoolean;
|
|
Arr2JLBoolean = array of Arr1JLBoolean;
|
|
Arr3JLBoolean = array of Arr2JLBoolean;
|
|
|
|
JLLong = class;
|
|
Arr1JLLong = array of JLLong;
|
|
Arr2JLLong = array of Arr1JLLong;
|
|
Arr3JLLong = array of Arr2JLLong;
|
|
|
|
JLShort = class;
|
|
Arr1JLShort = array of JLShort;
|
|
Arr2JLShort = array of Arr1JLShort;
|
|
Arr3JLShort = array of Arr2JLShort;
|
|
|
|
JLInteger = class;
|
|
Arr1JLInteger = array of JLInteger;
|
|
Arr2JLInteger = array of Arr1JLInteger;
|
|
Arr3JLInteger = array of Arr2JLInteger;
|
|
|
|
JLThrowable = class;
|
|
Arr1JLThrowable = array of JLThrowable;
|
|
Arr2JLThrowable = array of Arr1JLThrowable;
|
|
Arr3JLThrowable = array of Arr2JLThrowable;
|
|
|
|
JLLinkageError = class;
|
|
Arr1JLLinkageError = array of JLLinkageError;
|
|
Arr2JLLinkageError = array of Arr1JLLinkageError;
|
|
Arr3JLLinkageError = array of Arr2JLLinkageError;
|
|
|
|
JLByte = class;
|
|
Arr1JLByte = array of JLByte;
|
|
Arr2JLByte = array of Arr1JLByte;
|
|
Arr3JLByte = array of Arr2JLByte;
|
|
|
|
JUAbstractCollection = class;
|
|
Arr1JUAbstractCollection = array of JUAbstractCollection;
|
|
Arr2JUAbstractCollection = array of Arr1JUAbstractCollection;
|
|
Arr3JUAbstractCollection = array of Arr2JUAbstractCollection;
|
|
|
|
JUAbstractMap = class;
|
|
Arr1JUAbstractMap = array of JUAbstractMap;
|
|
Arr2JUAbstractMap = array of Arr1JUAbstractMap;
|
|
Arr3JUAbstractMap = array of Arr2JUAbstractMap;
|
|
|
|
JLRArray = class;
|
|
Arr1JLRArray = array of JLRArray;
|
|
Arr2JLRArray = array of Arr1JLRArray;
|
|
Arr3JLRArray = array of Arr2JLRArray;
|
|
|
|
JUEnumSet = class;
|
|
Arr1JUEnumSet = array of JUEnumSet;
|
|
Arr2JUEnumSet = array of Arr1JUEnumSet;
|
|
Arr3JUEnumSet = array of Arr2JUEnumSet;
|
|
|
|
JLException = class;
|
|
Arr1JLException = array of JLException;
|
|
Arr2JLException = array of Arr1JLException;
|
|
Arr3JLException = array of Arr2JLException;
|
|
|
|
JLIndexOutOfBoundsException = class;
|
|
Arr1JLIndexOutOfBoundsException = array of JLIndexOutOfBoundsException;
|
|
Arr2JLIndexOutOfBoundsException = array of Arr1JLIndexOutOfBoundsException;
|
|
Arr3JLIndexOutOfBoundsException = array of Arr2JLIndexOutOfBoundsException;
|
|
|
|
JUHashMap = class;
|
|
Arr1JUHashMap = array of JUHashMap;
|
|
Arr2JUHashMap = array of Arr1JUHashMap;
|
|
Arr3JUHashMap = array of Arr2JUHashMap;
|
|
|
|
JLDouble = class;
|
|
Arr1JLDouble = array of JLDouble;
|
|
Arr2JLDouble = array of Arr1JLDouble;
|
|
Arr3JLDouble = array of Arr2JLDouble;
|
|
|
|
JTCollator = class;
|
|
Arr1JTCollator = array of JTCollator;
|
|
Arr2JTCollator = array of Arr1JTCollator;
|
|
Arr3JTCollator = array of Arr2JTCollator;
|
|
|
|
JUBitSet = class;
|
|
Arr1JUBitSet = array of JUBitSet;
|
|
Arr2JUBitSet = array of Arr1JUBitSet;
|
|
Arr3JUBitSet = array of Arr2JUBitSet;
|
|
|
|
JLIllegalArgumentException = class;
|
|
Arr1JLIllegalArgumentException = array of JLIllegalArgumentException;
|
|
Arr2JLIllegalArgumentException = array of Arr1JLIllegalArgumentException;
|
|
Arr3JLIllegalArgumentException = array of Arr2JLIllegalArgumentException;
|
|
|
|
JLString = class;
|
|
Arr1JLString = array of JLString;
|
|
Arr2JLString = array of Arr1JLString;
|
|
Arr3JLString = array of Arr2JLString;
|
|
|
|
JLClass = class;
|
|
Arr1JLClass = array of JLClass;
|
|
Arr2JLClass = array of Arr1JLClass;
|
|
Arr3JLClass = array of Arr2JLClass;
|
|
|
|
JUAbstractSet = class;
|
|
Arr1JUAbstractSet = array of JUAbstractSet;
|
|
Arr2JUAbstractSet = array of Arr1JUAbstractSet;
|
|
Arr3JUAbstractSet = array of Arr2JUAbstractSet;
|
|
|
|
JLFloat = class;
|
|
Arr1JLFloat = array of JLFloat;
|
|
Arr2JLFloat = array of Arr1JLFloat;
|
|
Arr3JLFloat = array of Arr2JLFloat;
|
|
|
|
JLSystem = class;
|
|
Arr1JLSystem = array of JLSystem;
|
|
Arr2JLSystem = array of Arr1JLSystem;
|
|
Arr3JLSystem = array of Arr2JLSystem;
|
|
|
|
JLRuntimeException = class;
|
|
Arr1JLRuntimeException = array of JLRuntimeException;
|
|
Arr2JLRuntimeException = array of Arr1JLRuntimeException;
|
|
Arr3JLRuntimeException = array of Arr2JLRuntimeException;
|
|
|
|
JLIterable = interface;
|
|
Arr1JLIterable = array of JLIterable;
|
|
Arr2JLIterable = array of Arr1JLIterable;
|
|
Arr3JLIterable = array of Arr2JLIterable;
|
|
|
|
JUIterator = interface;
|
|
Arr1JUIterator = array of JUIterator;
|
|
Arr2JUIterator = array of Arr1JUIterator;
|
|
Arr3JUIterator = array of Arr2JUIterator;
|
|
|
|
JLCloneable = interface;
|
|
Arr1JLCloneable = array of JLCloneable;
|
|
Arr2JLCloneable = array of Arr1JLCloneable;
|
|
Arr3JLCloneable = array of Arr2JLCloneable;
|
|
|
|
JLAppendable = interface;
|
|
Arr1JLAppendable = array of JLAppendable;
|
|
Arr2JLAppendable = array of Arr1JLAppendable;
|
|
Arr3JLAppendable = array of Arr2JLAppendable;
|
|
|
|
JUCollection = interface;
|
|
Arr1JUCollection = array of JUCollection;
|
|
Arr2JUCollection = array of Arr1JUCollection;
|
|
Arr3JUCollection = array of Arr2JUCollection;
|
|
|
|
JUMap = interface;
|
|
Arr1JUMap = array of JUMap;
|
|
Arr2JUMap = array of Arr1JUMap;
|
|
Arr3JUMap = array of Arr2JUMap;
|
|
|
|
JUSet = interface;
|
|
Arr1JUSet = array of JUSet;
|
|
Arr2JUSet = array of Arr1JUSet;
|
|
Arr3JUSet = array of Arr2JUSet;
|
|
|
|
JLRType = interface;
|
|
Arr1JLRType = array of JLRType;
|
|
Arr2JLRType = array of Arr1JLRType;
|
|
Arr3JLRType = array of Arr2JLRType;
|
|
|
|
JLComparable = interface;
|
|
Arr1JLComparable = array of JLComparable;
|
|
Arr2JLComparable = array of Arr1JLComparable;
|
|
Arr3JLComparable = array of Arr2JLComparable;
|
|
|
|
JLCharSequence = interface;
|
|
Arr1JLCharSequence = array of JLCharSequence;
|
|
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;
|
|
|
|
JUComparator = interface;
|
|
Arr1JUComparator = array of JUComparator;
|
|
Arr2JUComparator = array of Arr1JUComparator;
|
|
Arr3JUComparator = array of Arr2JUComparator;
|
|
|
|
JISerializable = interface;
|
|
Arr1JISerializable = array of JISerializable;
|
|
Arr2JISerializable = array of Arr1JISerializable;
|
|
Arr3JISerializable = array of Arr2JISerializable;
|
|
|
|
JLStackTraceElement = class external 'java.lang' name 'StackTraceElement';
|
|
Arr1JLStackTraceElement = array of JLStackTraceElement;
|
|
Arr2JLStackTraceElement = array of Arr1JLStackTraceElement;
|
|
Arr3JLStackTraceElement = array of Arr2JLStackTraceElement;
|
|
|
|
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;
|
|
Arr2JUProperties = array of Arr1JUProperties;
|
|
Arr3JUProperties = array of Arr2JUProperties;
|
|
|
|
JIInputStream = class external 'java.io' name 'InputStream';
|
|
Arr1JIInputStream = array of JIInputStream;
|
|
Arr2JIInputStream = array of Arr1JIInputStream;
|
|
Arr3JIInputStream = array of Arr2JIInputStream;
|
|
|
|
JLSecurityManager = class external 'java.lang' name 'SecurityManager';
|
|
Arr1JLSecurityManager = array of JLSecurityManager;
|
|
Arr2JLSecurityManager = array of Arr1JLSecurityManager;
|
|
Arr3JLSecurityManager = array of Arr2JLSecurityManager;
|
|
|
|
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;
|
|
|
|
JUList = interface external 'java.util' name 'List';
|
|
Arr1JUList = array of JUList;
|
|
Arr2JUList = array of Arr1JUList;
|
|
Arr3JUList = array of Arr2JUList;
|
|
|
|
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;
|
|
|
|
|