fpc/rtl/java/java_sysh.inc
Jonas Maebe 446d91eaab + ansistring support. Items of note:
o support for ansistring constants. It's done via a detour because the
      JVM only supports UTF-16 string constants (no array of byte or anything
      like that): store every ansicharacter in the lower 8 bits of an
      UTF-16 constant string, and at run time copy the characters to an
      ansistring. The alternative is to generate code that stores every
      character separately to an array.
    o the base ansistring support is implemented in a class called
      AnsistringClass, and an ansistring is simply an instance of this
      class under the hood
    o the compiler currently does generate nil pointers as empty
      ansistrings unlike for unicodestrings, where we always
      explicitly generate an empty string. The reason is that
      unicodestrings are the same as JLString and hence common
      for Java interoperation, while ansistrings are unlikely to
      be used in interaction with external Java code

  * fixed indentation

git-svn-id: branches/jvmbackend@18562 -
2011-08-20 08:10:39 +00:00

264 lines
10 KiB
PHP

{ 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.Arrays, java.util.Comparator }
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;
JLThrowable = class;
Arr1JLThrowable = array of JLThrowable;
Arr2JLThrowable = array of Arr1JLThrowable;
Arr3JLThrowable = array of Arr2JLThrowable;
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;
JLLinkageError = class;
Arr1JLLinkageError = array of JLLinkageError;
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;
Arr3JLError = array of Arr2JLError;
JLNumber = class;
Arr1JLNumber = array of JLNumber;
Arr2JLNumber = array of Arr1JLNumber;
Arr3JLNumber = array of Arr2JLNumber;
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;
JLCharacter = class;
Arr1JLCharacter = array of JLCharacter;
Arr2JLCharacter = array of Arr1JLCharacter;
Arr3JLCharacter = array of Arr2JLCharacter;
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;
JUArrays = class;
Arr1JUArrays = array of JUArrays;
Arr2JUArrays = array of Arr1JUArrays;
Arr3JUArrays = array of Arr2JUArrays;
JLIllegalArgumentException = class;
Arr1JLIllegalArgumentException = array of JLIllegalArgumentException;
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;
Arr3JLString = array of Arr2JLString;
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;
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;
JLCloneable = interface;
Arr1JLCloneable = array of JLCloneable;
Arr2JLCloneable = array of Arr1JLCloneable;
Arr3JLCloneable = array of Arr2JLCloneable;
JUComparator = interface;
Arr1JUComparator = array of JUComparator;
Arr2JUComparator = array of Arr1JUComparator;
Arr3JUComparator = array of Arr2JUComparator;
JLAppendable = interface;
Arr1JLAppendable = array of JLAppendable;
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;
Arr3JISerializable = array of Arr2JISerializable;
JLComparable = interface;
Arr1JLComparable = array of JLComparable;
Arr2JLComparable = array of Arr1JLComparable;
Arr3JLComparable = array of Arr2JLComparable;
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;
JUMap = interface external 'java.util' name 'Map';
Arr1JUMap = array of JUMap;
Arr2JUMap = array of Arr1JUMap;
Arr3JUMap = array of Arr2JUMap;