IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
IKVM.Runtime Namespace Reference

Namespaces

namespace  Accessors
 
namespace  Extensions
 
namespace  JNI
 
namespace  StubGen
 
namespace  Syntax
 
namespace  Util
 
namespace  Vfs
 

Classes

class  Annotation
 
class  ArrayUtil
 
class  Assertions
 
class  AtomicReferenceFieldUpdaterEmitter
 
class  AttributeHelper
 Provides methods to help in generating IKVM attributes. More...
 
class  BigEndianBinaryReader
 
class  BootstrapClassLoader
 Represents the bootstrap class loader of the system, containing only built-in .NET assemblies. More...
 
class  Boxer
 
class  ByteCodeHelper
 
class  ByteCodeHelperMethods
 
struct  ByteCodeMetaData
 
class  ClassCircularityError
 
class  ClassFile
 
class  ClassFormatError
 
class  ClassLiteral
 Provides a static cache of java.lang.Class instances per .NET type. More...
 
class  ClassLoadingException
 This is not a Java exception, but instead it wraps a Java exception that was thrown by a class loader. It is used so ClassFile.LoadClassHelper() can catch Java exceptions and turn them into UnloadableTypeWrappers without inadvertantly hiding exceptions caused by coding errors in the IKVM code. More...
 
class  ClassNotFoundException
 
class  CodeEmitter
 
class  CodeEmitterFactory
 
class  CodeEmitterLabel
 
class  CodeEmitterLocal
 
struct  CodeInfo
 
class  Compiler
 
class  CompilerFactory
 Manages instances of Compiler. More...
 
class  CoreClasses
 Contains references to common Java base types.
 
class  DefineMethodHelper
 
struct  DoubleConverter
 
class  DynamicCallerIDProvider
 
class  DynamicClassLoader
 Provides access to dynamically emitted Java types.
 
class  DynamicClassLoaderFactory
 Maintains instances of DynamicClassLoader. More...
 
class  DynamicMethodUtil
 Provides utilities for working with dynamic methods. More...
 
class  EmitIntrinsicContext
 
class  EnumHelper
 
class  ExceptionHelper
 
class  ExceptionTableEntryComparer
 Implements the IComparer<T> interface for ExceptionTableEntry. More...
 
struct  ExModifiers
 
struct  FloatConverter
 
class  GhostTag
 
interface  IIndyCallSite
 
class  IllegalAccessError
 
class  IncompatibleClassChangeError
 
class  IndyCallSite
 
struct  InstructionState
 
class  InterlockedMethods
 
class  InternalException
 Represents an internal error that occurred within IKVM. More...
 
class  Intrinsics
 
struct  InvokeCache
 
interface  IReflectionException
 
class  JavaSecurityException
 
class  JsrInliner
 A customized and simplified version of MethodAnalyzer that exists purely to inline jsr instructions. More...
 
class  JVM
 Main state of the running JVM. More...
 
class  LambdaMetafactory
 IL based implementation of InvokeDynamic. Supports LambdaMetafactory specific boot strap methods. More...
 
class  Launcher
 Utility for launching a Java class from a main entry point. Parses JVM command line options, then passes the remainder through to the underlying Java main method. More...
 
class  LibIkvm
 Holds a reference to the 'ikvm' native library. This class cannot depend on NativeLibrary as that class can potentially use libikvm on down-level platforms.
 
class  LibJava
 Required native methods available in libjava.
 
class  LibJvm
 Required native methods available in libjvm.
 
class  LinkageError
 
class  LiveObjectHolder
 
class  LocalVar
 
struct  LocalVarInfo
 
class  MethodAnalyzer
 
class  MethodAnalyzerFactory
 Provides instances of MethodAnalyzer. More...
 
class  MethodHandleUtil
 
struct  MethodParametersEntry
 
struct  MHA
 
class  NamePrefix
 
class  NativeLibrary
 Provides methods to load libraries from standard .NET search locations. This class is not used to load native libraries for JNI. On platforms that have native NativeLibrary support, that support is used. On other platforms, libikvm is used to invoke the platform loader. More...
 
class  NativeLibraryExport
 Represents a handle to an export loaded by NativeLibrary.
 
class  NativeLibraryHandle
 Represents a handle to a module loaded by NativeLibrary.
 
class  NestedTypeName
 
class  NoClassDefFoundError
 
class  Profiler
 
class  ReflectUtil
 
class  RetargetableJavaException
 .NET exception that corresponds to a Java exception. More...
 
class  RuntimeAccessStubJavaMethod
 
class  RuntimeAnonymousJavaType
 Represents an intrinsified anonymous class. Currently only used by LambdaMetafactory. More...
 
class  RuntimeArrayJavaType
 
class  RuntimeAssemblyClassLoader
 Runtime support for the virtual class loader that appears to load .NET assemblies.
 
class  RuntimeAssemblyClassLoaderFactory
 Maintains instances of RuntimeAssemblyClassLoader. More...
 
class  RuntimeByteCodeJavaType
 
class  RuntimeByteCodePropertyJavaField
 Represents a .NET property defined in Java with the ikvm.lang.Property annotation. More...
 
class  RuntimeClassLoader
 Runtime support for a class loader. More...
 
class  RuntimeClassLoaderFactory
 Manages instances of RuntimeClassLoader. More...
 
class  RuntimeConstantJavaField
 Wraps a const field. More...
 
class  RuntimeConstructorAccessStubJavaMethod
 
class  RuntimeContext
 Maintains services relevant to an instane of the IKVM runtime. More...
 
class  RuntimeContextOptions
 
class  RuntimeDefaultInterfaceJavaMethod
 
class  RuntimeGenericClassLoader
 
class  RuntimeGhostJavaMethod
 
class  RuntimeInit
 Initializes the JVM at module load. More...
 
class  RuntimeJavaField
 
class  RuntimeJavaMember
 
class  RuntimeJavaMethod
 
class  RuntimeJavaType
 Encapsulates the information about a type available to Java.
 
class  RuntimeJavaTypeFactory
 
class  RuntimeManagedByteCodeAccessStubJavaField
 
class  RuntimeManagedByteCodeJavaType
 Represents a runtime Java type derived from a .NET assembly which was the result of the IKVM compiler. More...
 
class  RuntimeManagedByteCodeJavaTypeFactory
 
class  RuntimeManagedByteCodePropertyJavaField
 Represents a .NET property defined in Java with the 'ikvm.lang.Property' annotation. More...
 
class  RuntimeManagedJavaType
 Implements a RuntimeJavaType that exposes existing managed .NET types not the result of static compilation. More...
 
class  RuntimeManagedJavaTypeFactory
 Manages instances of RuntimeManagedJavaType. More...
 
class  RuntimeMirandaJavaMethod
 
class  RuntimePrimitiveJavaType
 
class  RuntimePrimitiveJavaTypeFactory
 
class  RuntimePrivateInterfaceJavaMethod
 
class  RuntimeSimpleCallJavaMethod
 
class  RuntimeSimpleJavaField
 Field wrapper implementation for standard fields. More...
 
class  RuntimeSmartJavaMethod
 
class  RuntimeStubJavaType
 Defines a runtime java type with no implementation. More...
 
class  RuntimeTypicalJavaMethod
 
class  RuntimeUnloadableJavaType
 
class  RuntimeUtil
 Maintains various information about the current runtime environment. More...
 
class  RuntimeVerifierJavaType
 
class  RuntimeVerifierJavaTypeFactory
 
class  RuntimeVolatileLongDoubleJavaField
 Field wrapper for a field of type 'volatile long' or 'volatile double'. More...
 
class  Serialization
 
struct  StackState
 
class  StringConstants
 
class  SymbolExtensions
 
class  TypeNameUtil
 
class  Types
 Provides various cached system types. More...
 
class  UnicodeUtil
 
class  UnsupportedClassVersionError
 
struct  UntangledExceptionTable
 
class  ValueObject
 Anonymous generic object type.
 
class  VerifyError
 

Enumerations

enum  ByteCode : byte {
  __nop = 0 , __aconst_null = 1 , __iconst_m1 = 2 , __iconst_0 = 3 ,
  __iconst_1 = 4 , __iconst_2 = 5 , __iconst_3 = 6 , __iconst_4 = 7 ,
  __iconst_5 = 8 , __lconst_0 = 9 , __lconst_1 = 10 , __fconst_0 = 11 ,
  __fconst_1 = 12 , __fconst_2 = 13 , __dconst_0 = 14 , __dconst_1 = 15 ,
  __bipush = 16 , __sipush = 17 , __ldc = 18 , __ldc_w = 19 ,
  __ldc2_w = 20 , __iload = 21 , __lload = 22 , __fload = 23 ,
  __dload = 24 , __aload = 25 , __iload_0 = 26 , __iload_1 = 27 ,
  __iload_2 = 28 , __iload_3 = 29 , __lload_0 = 30 , __lload_1 = 31 ,
  __lload_2 = 32 , __lload_3 = 33 , __fload_0 = 34 , __fload_1 = 35 ,
  __fload_2 = 36 , __fload_3 = 37 , __dload_0 = 38 , __dload_1 = 39 ,
  __dload_2 = 40 , __dload_3 = 41 , __aload_0 = 42 , __aload_1 = 43 ,
  __aload_2 = 44 , __aload_3 = 45 , __iaload = 46 , __laload = 47 ,
  __faload = 48 , __daload = 49 , __aaload = 50 , __baload = 51 ,
  __caload = 52 , __saload = 53 , __istore = 54 , __lstore = 55 ,
  __fstore = 56 , __dstore = 57 , __astore = 58 , __istore_0 = 59 ,
  __istore_1 = 60 , __istore_2 = 61 , __istore_3 = 62 , __lstore_0 = 63 ,
  __lstore_1 = 64 , __lstore_2 = 65 , __lstore_3 = 66 , __fstore_0 = 67 ,
  __fstore_1 = 68 , __fstore_2 = 69 , __fstore_3 = 70 , __dstore_0 = 71 ,
  __dstore_1 = 72 , __dstore_2 = 73 , __dstore_3 = 74 , __astore_0 = 75 ,
  __astore_1 = 76 , __astore_2 = 77 , __astore_3 = 78 , __iastore = 79 ,
  __lastore = 80 , __fastore = 81 , __dastore = 82 , __aastore = 83 ,
  __bastore = 84 , __castore = 85 , __sastore = 86 , __pop = 87 ,
  __pop2 = 88 , __dup = 89 , __dup_x1 = 90 , __dup_x2 = 91 ,
  __dup2 = 92 , __dup2_x1 = 93 , __dup2_x2 = 94 , __swap = 95 ,
  __iadd = 96 , __ladd = 97 , __fadd = 98 , __dadd = 99 ,
  __isub = 100 , __lsub = 101 , __fsub = 102 , __dsub = 103 ,
  __imul = 104 , __lmul = 105 , __fmul = 106 , __dmul = 107 ,
  __idiv = 108 , __ldiv = 109 , __fdiv = 110 , __ddiv = 111 ,
  __irem = 112 , __lrem = 113 , __frem = 114 , __drem = 115 ,
  __ineg = 116 , __lneg = 117 , __fneg = 118 , __dneg = 119 ,
  __ishl = 120 , __lshl = 121 , __ishr = 122 , __lshr = 123 ,
  __iushr = 124 , __lushr = 125 , __iand = 126 , __land = 127 ,
  __ior = 128 , __lor = 129 , __ixor = 130 , __lxor = 131 ,
  __iinc = 132 , __i2l = 133 , __i2f = 134 , __i2d = 135 ,
  __l2i = 136 , __l2f = 137 , __l2d = 138 , __f2i = 139 ,
  __f2l = 140 , __f2d = 141 , __d2i = 142 , __d2l = 143 ,
  __d2f = 144 , __i2b = 145 , __i2c = 146 , __i2s = 147 ,
  __lcmp = 148 , __fcmpl = 149 , __fcmpg = 150 , __dcmpl = 151 ,
  __dcmpg = 152 , __ifeq = 153 , __ifne = 154 , __iflt = 155 ,
  __ifge = 156 , __ifgt = 157 , __ifle = 158 , __if_icmpeq = 159 ,
  __if_icmpne = 160 , __if_icmplt = 161 , __if_icmpge = 162 , __if_icmpgt = 163 ,
  __if_icmple = 164 , __if_acmpeq = 165 , __if_acmpne = 166 , __goto = 167 ,
  __jsr = 168 , __ret = 169 , __tableswitch = 170 , __lookupswitch = 171 ,
  __ireturn = 172 , __lreturn = 173 , __freturn = 174 , __dreturn = 175 ,
  __areturn = 176 , __return = 177 , __getstatic = 178 , __putstatic = 179 ,
  __getfield = 180 , __putfield = 181 , __invokevirtual = 182 , __invokespecial = 183 ,
  __invokestatic = 184 , __invokeinterface = 185 , __invokedynamic = 186 , __new = 187 ,
  __newarray = 188 , __anewarray = 189 , __arraylength = 190 , __athrow = 191 ,
  __checkcast = 192 , __instanceof = 193 , __monitorenter = 194 , __monitorexit = 195 ,
  __wide = 196 , __multianewarray = 197 , __ifnull = 198 , __ifnonnull = 199 ,
  __goto_w = 200 , __jsr_w = 201
}
 
enum  ByteCodeFlags : byte { None = 0 , FixedArg = 1 , CannotThrow = 2 }
 
enum  ByteCodeFlowControl : byte {
  Next , Branch , CondBranch , Return ,
  Throw , Switch
}
 
enum  ByteCodeMode : byte {
  Unused , Simple , Constant_1 , Constant_2 ,
  Branch_2 , Local_1 , Constant_2_1_1 , Immediate_1 ,
  Immediate_2 , Local_1_Immediate_1 , Tableswitch , Lookupswitch ,
  Constant_2_Immediate_1 , Branch_4 , WidePrefix
}
 
enum  ByteCodeModeWide : byte { Unused , Local_2 , Local_2_Immediate_2 }
 
enum  ClassFileParseOptions {
  None = 0 , LocalVariableTable = 1 , LineNumberTable = 2 , RelaxedClassNameValidation = 4 ,
  TrustedAnnotations = 8 , RemoveAssertions = 16 , StaticImport = 32
}
 
enum  CodeGenOptions {
  None = 0 , DisableOptimizations = 1 , NoStackTraceInfo = 2 , StrictFinalFieldSemantics = 4 ,
  NoJNI = 8 , RemoveAsserts = 16 , NoAutomagicSerialization = 32 , DisableDynamicBinding = 64 ,
  NoRefEmitHelpers = 128 , RemoveUnusedFields = 256 , EmitSymbols = 512
}
 
enum  HardError : short {
  NoClassDefFoundError , IllegalAccessError , InstantiationError , IncompatibleClassChangeError ,
  NoSuchFieldError , AbstractMethodError , NoSuchMethodError , LinkageError ,
  IllegalAccessException
}
 
enum  LoadMode {
  Find = ReturnNull , LoadOrNull = Load | ReturnNull , LoadOrThrow = Load | ThrowClassNotFound , Link = Load | ReturnUnloadable | SuppressExceptions ,
  Load = 0x0001 , DontReturnUnloadable = 0x0002 , ReturnUnloadable = 0x0004 , ReturnNull = 0x0004 | DontReturnUnloadable ,
  ThrowClassNotFound = 0x0008 | DontReturnUnloadable , MaskReturn = ReturnUnloadable | ReturnNull | ThrowClassNotFound , SuppressExceptions = 0x0010 , WarnClassNotFound = 0x0020
}
 
enum  MemberFlags : short {
  None = 0 , HideFromReflection = 1 , ExplicitOverride = 2 , MirandaMethod = 8 ,
  AccessStub = 16 , InternalAccess = 32 , PropertyAccessor = 64 , Intrinsic = 128 ,
  CallerID = 256 , NonPublicTypeInSignature = 512 , DelegateInvokeWithByRefParameter = 1024 , Type2FinalField = 2048 ,
  NoOp = 4096 , ModuleInitializer = 8192
}
 Describes various options applied to a member. More...
 
enum  NormalizedByteCode : byte {
  __nop = 0 , __aconst_null = 1 , __lconst_0 = 9 , __lconst_1 = 10 ,
  __fconst_0 = 11 , __fconst_1 = 12 , __fconst_2 = 13 , __dconst_0 = 14 ,
  __dconst_1 = 15 , __ldc = 18 , __iload = 21 , __lload = 22 ,
  __fload = 23 , __dload = 24 , __aload = 25 , __iaload = 46 ,
  __laload = 47 , __faload = 48 , __daload = 49 , __aaload = 50 ,
  __baload = 51 , __caload = 52 , __saload = 53 , __istore = 54 ,
  __lstore = 55 , __fstore = 56 , __dstore = 57 , __astore = 58 ,
  __iastore = 79 , __lastore = 80 , __fastore = 81 , __dastore = 82 ,
  __aastore = 83 , __bastore = 84 , __castore = 85 , __sastore = 86 ,
  __pop = 87 , __pop2 = 88 , __dup = 89 , __dup_x1 = 90 ,
  __dup_x2 = 91 , __dup2 = 92 , __dup2_x1 = 93 , __dup2_x2 = 94 ,
  __swap = 95 , __iadd = 96 , __ladd = 97 , __fadd = 98 ,
  __dadd = 99 , __isub = 100 , __lsub = 101 , __fsub = 102 ,
  __dsub = 103 , __imul = 104 , __lmul = 105 , __fmul = 106 ,
  __dmul = 107 , __idiv = 108 , __ldiv = 109 , __fdiv = 110 ,
  __ddiv = 111 , __irem = 112 , __lrem = 113 , __frem = 114 ,
  __drem = 115 , __ineg = 116 , __lneg = 117 , __fneg = 118 ,
  __dneg = 119 , __ishl = 120 , __lshl = 121 , __ishr = 122 ,
  __lshr = 123 , __iushr = 124 , __lushr = 125 , __iand = 126 ,
  __land = 127 , __ior = 128 , __lor = 129 , __ixor = 130 ,
  __lxor = 131 , __iinc = 132 , __i2l = 133 , __i2f = 134 ,
  __i2d = 135 , __l2i = 136 , __l2f = 137 , __l2d = 138 ,
  __f2i = 139 , __f2l = 140 , __f2d = 141 , __d2i = 142 ,
  __d2l = 143 , __d2f = 144 , __i2b = 145 , __i2c = 146 ,
  __i2s = 147 , __lcmp = 148 , __fcmpl = 149 , __fcmpg = 150 ,
  __dcmpl = 151 , __dcmpg = 152 , __ifeq = 153 , __ifne = 154 ,
  __iflt = 155 , __ifge = 156 , __ifgt = 157 , __ifle = 158 ,
  __if_icmpeq = 159 , __if_icmpne = 160 , __if_icmplt = 161 , __if_icmpge = 162 ,
  __if_icmpgt = 163 , __if_icmple = 164 , __if_acmpeq = 165 , __if_acmpne = 166 ,
  __goto = 167 , __jsr = 168 , __ret = 169 , __tableswitch = 170 ,
  __lookupswitch = 171 , __ireturn = 172 , __lreturn = 173 , __freturn = 174 ,
  __dreturn = 175 , __areturn = 176 , __return = 177 , __getstatic = 178 ,
  __putstatic = 179 , __getfield = 180 , __putfield = 181 , __invokevirtual = 182 ,
  __invokespecial = 183 , __invokestatic = 184 , __invokeinterface = 185 , __invokedynamic = 186 ,
  __new = 187 , __newarray = 188 , __anewarray = 189 , __arraylength = 190 ,
  __athrow = 191 , __checkcast = 192 , __instanceof = 193 , __monitorenter = 194 ,
  __monitorexit = 195 , __multianewarray = 197 , __ifnull = 198 , __ifnonnull = 199 ,
  __privileged_invokestatic = 235 , __privileged_invokevirtual = 237 , __privileged_invokespecial = 238 , __ldc_nothrow = 239 ,
  __methodhandle_invoke = 240 , __methodhandle_link = 241 , __goto_finally = 242 , __intrinsic_gettype = 243 ,
  __athrow_no_unmap = 244 , __dynamic_getstatic = 245 , __dynamic_putstatic = 246 , __dynamic_getfield = 247 ,
  __dynamic_putfield = 248 , __dynamic_invokeinterface = 249 , __dynamic_invokestatic = 250 , __dynamic_invokevirtual = 251 ,
  __dynamic_invokespecial = 252 , __clone_array = 253 , __static_error = 254 , __iconst = 255
}
 
enum  SimpleOpCode : byte { Call , Callvirt , Newobj }
 
enum  TypeFlags : ushort {
  None = 0 , HasIncompleteInterfaceImplementation = 1 , InternalAccess = 2 , HasStaticInitializer = 4 ,
  VerifyError = 8 , ClassFormatError = 16 , HasUnsupportedAbstractMethods = 32 , Anonymous = 64 ,
  Linked = 128
}
 

Functions

delegate void MHV ()
 
delegate void MHV< T1 > (T1 t1)
 
delegate void MHV< T1, T2 > (T1 t1, T2 t2)
 
delegate void MHV< T1, T2, T3 > (T1 t1, T2 t2, T3 t3)
 
delegate void MHV< T1, T2, T3, T4 > (T1 t1, T2 t2, T3 t3, T4 t4)
 
delegate void MHV< T1, T2, T3, T4, T5 > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
 
delegate void MHV< T1, T2, T3, T4, T5, T6 > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
 
delegate void MHV< T1, T2, T3, T4, T5, T6, T7 > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
 
delegate void MHV< T1, T2, T3, T4, T5, T6, T7, T8 > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
 
delegate TResult MH< TResult > ()
 
delegate TResult MH< T1, TResult > (T1 t1)
 
delegate TResult MH< T1, T2, TResult > (T1 t1, T2 t2)
 
delegate TResult MH< T1, T2, T3, TResult > (T1 t1, T2 t2, T3 t3)
 
delegate TResult MH< T1, T2, T3, T4, TResult > (T1 t1, T2 t2, T3 t3, T4 t4)
 
delegate TResult MH< T1, T2, T3, T4, T5, TResult > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
 
delegate TResult MH< T1, T2, T3, T4, T5, T6, TResult > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
 
delegate TResult MH< T1, T2, T3, T4, T5, T6, T7, TResult > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
 
delegate TResult MH< T1, T2, T3, T4, T5, T6, T7, T8, TResult > (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
 
record struct MethodKey (string ClassName, string MethodName, string MethodSig)
 

Enumeration Type Documentation

◆ ByteCode

enum IKVM.Runtime.ByteCode : byte
Enumerator
__nop 
__aconst_null 
__iconst_m1 
__iconst_0 
__iconst_1 
__iconst_2 
__iconst_3 
__iconst_4 
__iconst_5 
__lconst_0 
__lconst_1 
__fconst_0 
__fconst_1 
__fconst_2 
__dconst_0 
__dconst_1 
__bipush 
__sipush 
__ldc 
__ldc_w 
__ldc2_w 
__iload 
__lload 
__fload 
__dload 
__aload 
__iload_0 
__iload_1 
__iload_2 
__iload_3 
__lload_0 
__lload_1 
__lload_2 
__lload_3 
__fload_0 
__fload_1 
__fload_2 
__fload_3 
__dload_0 
__dload_1 
__dload_2 
__dload_3 
__aload_0 
__aload_1 
__aload_2 
__aload_3 
__iaload 
__laload 
__faload 
__daload 
__aaload 
__baload 
__caload 
__saload 
__istore 
__lstore 
__fstore 
__dstore 
__astore 
__istore_0 
__istore_1 
__istore_2 
__istore_3 
__lstore_0 
__lstore_1 
__lstore_2 
__lstore_3 
__fstore_0 
__fstore_1 
__fstore_2 
__fstore_3 
__dstore_0 
__dstore_1 
__dstore_2 
__dstore_3 
__astore_0 
__astore_1 
__astore_2 
__astore_3 
__iastore 
__lastore 
__fastore 
__dastore 
__aastore 
__bastore 
__castore 
__sastore 
__pop 
__pop2 
__dup 
__dup_x1 
__dup_x2 
__dup2 
__dup2_x1 
__dup2_x2 
__swap 
__iadd 
__ladd 
__fadd 
__dadd 
__isub 
__lsub 
__fsub 
__dsub 
__imul 
__lmul 
__fmul 
__dmul 
__idiv 
__ldiv 
__fdiv 
__ddiv 
__irem 
__lrem 
__frem 
__drem 
__ineg 
__lneg 
__fneg 
__dneg 
__ishl 
__lshl 
__ishr 
__lshr 
__iushr 
__lushr 
__iand 
__land 
__ior 
__lor 
__ixor 
__lxor 
__iinc 
__i2l 
__i2f 
__i2d 
__l2i 
__l2f 
__l2d 
__f2i 
__f2l 
__f2d 
__d2i 
__d2l 
__d2f 
__i2b 
__i2c 
__i2s 
__lcmp 
__fcmpl 
__fcmpg 
__dcmpl 
__dcmpg 
__ifeq 
__ifne 
__iflt 
__ifge 
__ifgt 
__ifle 
__if_icmpeq 
__if_icmpne 
__if_icmplt 
__if_icmpge 
__if_icmpgt 
__if_icmple 
__if_acmpeq 
__if_acmpne 
__goto 
__jsr 
__ret 
__tableswitch 
__lookupswitch 
__ireturn 
__lreturn 
__freturn 
__dreturn 
__areturn 
__return 
__getstatic 
__putstatic 
__getfield 
__putfield 
__invokevirtual 
__invokespecial 
__invokestatic 
__invokeinterface 
__invokedynamic 
__new 
__newarray 
__anewarray 
__arraylength 
__athrow 
__checkcast 
__instanceof 
__monitorenter 
__monitorexit 
__wide 
__multianewarray 
__ifnull 
__ifnonnull 
__goto_w 
__jsr_w 

Definition at line 28 of file ByteCode.cs.

29 {
30
31 __nop = 0,
32 __aconst_null = 1,
33 __iconst_m1 = 2,
34 __iconst_0 = 3,
35 __iconst_1 = 4,
36 __iconst_2 = 5,
37 __iconst_3 = 6,
38 __iconst_4 = 7,
39 __iconst_5 = 8,
40 __lconst_0 = 9,
41 __lconst_1 = 10,
42 __fconst_0 = 11,
43 __fconst_1 = 12,
44 __fconst_2 = 13,
45 __dconst_0 = 14,
46 __dconst_1 = 15,
47 __bipush = 16,
48 __sipush = 17,
49 __ldc = 18,
50 __ldc_w = 19,
51 __ldc2_w = 20,
52 __iload = 21,
53 __lload = 22,
54 __fload = 23,
55 __dload = 24,
56 __aload = 25,
57 __iload_0 = 26,
58 __iload_1 = 27,
59 __iload_2 = 28,
60 __iload_3 = 29,
61 __lload_0 = 30,
62 __lload_1 = 31,
63 __lload_2 = 32,
64 __lload_3 = 33,
65 __fload_0 = 34,
66 __fload_1 = 35,
67 __fload_2 = 36,
68 __fload_3 = 37,
69 __dload_0 = 38,
70 __dload_1 = 39,
71 __dload_2 = 40,
72 __dload_3 = 41,
73 __aload_0 = 42,
74 __aload_1 = 43,
75 __aload_2 = 44,
76 __aload_3 = 45,
77 __iaload = 46,
78 __laload = 47,
79 __faload = 48,
80 __daload = 49,
81 __aaload = 50,
82 __baload = 51,
83 __caload = 52,
84 __saload = 53,
85 __istore = 54,
86 __lstore = 55,
87 __fstore = 56,
88 __dstore = 57,
89 __astore = 58,
90 __istore_0 = 59,
91 __istore_1 = 60,
92 __istore_2 = 61,
93 __istore_3 = 62,
94 __lstore_0 = 63,
95 __lstore_1 = 64,
96 __lstore_2 = 65,
97 __lstore_3 = 66,
98 __fstore_0 = 67,
99 __fstore_1 = 68,
100 __fstore_2 = 69,
101 __fstore_3 = 70,
102 __dstore_0 = 71,
103 __dstore_1 = 72,
104 __dstore_2 = 73,
105 __dstore_3 = 74,
106 __astore_0 = 75,
107 __astore_1 = 76,
108 __astore_2 = 77,
109 __astore_3 = 78,
110 __iastore = 79,
111 __lastore = 80,
112 __fastore = 81,
113 __dastore = 82,
114 __aastore = 83,
115 __bastore = 84,
116 __castore = 85,
117 __sastore = 86,
118 __pop = 87,
119 __pop2 = 88,
120 __dup = 89,
121 __dup_x1 = 90,
122 __dup_x2 = 91,
123 __dup2 = 92,
124 __dup2_x1 = 93,
125 __dup2_x2 = 94,
126 __swap = 95,
127 __iadd = 96,
128 __ladd = 97,
129 __fadd = 98,
130 __dadd = 99,
131 __isub = 100,
132 __lsub = 101,
133 __fsub = 102,
134 __dsub = 103,
135 __imul = 104,
136 __lmul = 105,
137 __fmul = 106,
138 __dmul = 107,
139 __idiv = 108,
140 __ldiv = 109,
141 __fdiv = 110,
142 __ddiv = 111,
143 __irem = 112,
144 __lrem = 113,
145 __frem = 114,
146 __drem = 115,
147 __ineg = 116,
148 __lneg = 117,
149 __fneg = 118,
150 __dneg = 119,
151 __ishl = 120,
152 __lshl = 121,
153 __ishr = 122,
154 __lshr = 123,
155 __iushr = 124,
156 __lushr = 125,
157 __iand = 126,
158 __land = 127,
159 __ior = 128,
160 __lor = 129,
161 __ixor = 130,
162 __lxor = 131,
163 __iinc = 132,
164 __i2l = 133,
165 __i2f = 134,
166 __i2d = 135,
167 __l2i = 136,
168 __l2f = 137,
169 __l2d = 138,
170 __f2i = 139,
171 __f2l = 140,
172 __f2d = 141,
173 __d2i = 142,
174 __d2l = 143,
175 __d2f = 144,
176 __i2b = 145,
177 __i2c = 146,
178 __i2s = 147,
179 __lcmp = 148,
180 __fcmpl = 149,
181 __fcmpg = 150,
182 __dcmpl = 151,
183 __dcmpg = 152,
184 __ifeq = 153,
185 __ifne = 154,
186 __iflt = 155,
187 __ifge = 156,
188 __ifgt = 157,
189 __ifle = 158,
190 __if_icmpeq = 159,
191 __if_icmpne = 160,
192 __if_icmplt = 161,
193 __if_icmpge = 162,
194 __if_icmpgt = 163,
195 __if_icmple = 164,
196 __if_acmpeq = 165,
197 __if_acmpne = 166,
198 __goto = 167,
199 __jsr = 168,
200 __ret = 169,
201 __tableswitch = 170,
202 __lookupswitch = 171,
203 __ireturn = 172,
204 __lreturn = 173,
205 __freturn = 174,
206 __dreturn = 175,
207 __areturn = 176,
208 __return = 177,
209 __getstatic = 178,
210 __putstatic = 179,
211 __getfield = 180,
212 __putfield = 181,
213 __invokevirtual = 182,
214 __invokespecial = 183,
215 __invokestatic = 184,
216 __invokeinterface = 185,
217 __invokedynamic = 186,
218 __new = 187,
219 __newarray = 188,
220 __anewarray = 189,
221 __arraylength = 190,
222 __athrow = 191,
223 __checkcast = 192,
224 __instanceof = 193,
225 __monitorenter = 194,
226 __monitorexit = 195,
227 __wide = 196,
228 __multianewarray = 197,
229 __ifnull = 198,
230 __ifnonnull = 199,
231 __goto_w = 200,
232 __jsr_w = 201
233
234 }

◆ ByteCodeFlags

Enumerator
None 
FixedArg 
CannotThrow 

Definition at line 29 of file ByteCodeFlags.cs.

31 {
32
33 None = 0,
34 FixedArg = 1,
35 CannotThrow = 2
36
37 }

◆ ByteCodeFlowControl

Enumerator
Next 
Branch 
CondBranch 
Return 
Throw 
Switch 

Definition at line 28 of file ByteCodeFlowControl.cs.

29 {
30 Next,
31 Branch,
33 Return,
34 Throw,
35 Switch,
36 }

◆ ByteCodeMode

Enumerator
Unused 
Simple 
Constant_1 
Constant_2 
Branch_2 
Local_1 
Constant_2_1_1 
Immediate_1 
Immediate_2 
Local_1_Immediate_1 
Tableswitch 
Lookupswitch 
Constant_2_Immediate_1 
Branch_4 
WidePrefix 

Definition at line 28 of file ByteCodeMode.cs.

◆ ByteCodeModeWide

Enumerator
Unused 
Local_2 
Local_2_Immediate_2 

Definition at line 28 of file ByteCodeModeWide.cs.

◆ ClassFileParseOptions

Enumerator
None 
LocalVariableTable 
LineNumberTable 
RelaxedClassNameValidation 
TrustedAnnotations 
RemoveAssertions 
StaticImport 

Definition at line 29 of file ClassFileParseOptions.cs.

◆ CodeGenOptions

Enumerator
None 
DisableOptimizations 
NoStackTraceInfo 
StrictFinalFieldSemantics 
NoJNI 
RemoveAsserts 
NoAutomagicSerialization 
DisableDynamicBinding 
NoRefEmitHelpers 
RemoveUnusedFields 
EmitSymbols 

Definition at line 29 of file CodeGenOptions.cs.

◆ HardError

enum IKVM.Runtime.HardError : short
Enumerator
NoClassDefFoundError 
IllegalAccessError 
InstantiationError 
IncompatibleClassChangeError 
NoSuchFieldError 
AbstractMethodError 
NoSuchMethodError 
LinkageError 
IllegalAccessException 

Definition at line 28 of file HardError.cs.

◆ LoadMode

Enumerator
Find 
LoadOrNull 
LoadOrThrow 
Link 
Load 
DontReturnUnloadable 
ReturnUnloadable 
ReturnNull 
ThrowClassNotFound 
MaskReturn 
SuppressExceptions 
WarnClassNotFound 

Definition at line 29 of file LoadMode.cs.

31 {
32
33 // These are the modes that should be used
38
39 // call into Java class loader
40 Load = 0x0001,
41
42 // return value
43 DontReturnUnloadable = 0x0002, // This is used with a bitwise OR to disable returning unloadable
44 ReturnUnloadable = 0x0004,
48
49 // exceptions (not ClassNotFoundException)
50 SuppressExceptions = 0x0010,
51
52 // warnings
53 WarnClassNotFound = 0x0020,
54
55 }

◆ MemberFlags

Describes various options applied to a member.

Enumerator
None 
HideFromReflection 

Member should be hidden from Java reflection.

ExplicitOverride 
MirandaMethod 

Member is a Java miranda method.

AccessStub 
InternalAccess 

Member should be generated with "internal" .NET access.

PropertyAccessor 

Method represents a property accessor.

Intrinsic 
CallerID 
NonPublicTypeInSignature 
DelegateInvokeWithByRefParameter 
Type2FinalField 
NoOp 

Member is an empty static initializer.

ModuleInitializer 

Member is a module initializer method.

Definition at line 32 of file MemberFlags.cs.

34 {
35
36 None = 0,
37
42
44
48 MirandaMethod = 8,
49
50 AccessStub = 16,
51
55 InternalAccess = 32,
56
60 PropertyAccessor = 64,
61
62 Intrinsic = 128,
63
64 CallerID = 256,
65
66 NonPublicTypeInSignature = 512, // this flag is only available after linking and is not set for access stubs
67
69
70 Type2FinalField = 2048,
71
75 NoOp = 4096,
76
80 ModuleInitializer = 8192,
81
82 }
@ MirandaMethod
Member is a Java miranda method.
@ ModuleInitializer
Member is a module initializer method.
@ NoOp
Member is an empty static initializer.
@ InternalAccess
Member should be generated with "internal" .NET access.
@ HideFromReflection
Member should be hidden from Java reflection.

◆ NormalizedByteCode

Enumerator
__nop 
__aconst_null 
__lconst_0 
__lconst_1 
__fconst_0 
__fconst_1 
__fconst_2 
__dconst_0 
__dconst_1 
__ldc 
__iload 
__lload 
__fload 
__dload 
__aload 
__iaload 
__laload 
__faload 
__daload 
__aaload 
__baload 
__caload 
__saload 
__istore 
__lstore 
__fstore 
__dstore 
__astore 
__iastore 
__lastore 
__fastore 
__dastore 
__aastore 
__bastore 
__castore 
__sastore 
__pop 
__pop2 
__dup 
__dup_x1 
__dup_x2 
__dup2 
__dup2_x1 
__dup2_x2 
__swap 
__iadd 
__ladd 
__fadd 
__dadd 
__isub 
__lsub 
__fsub 
__dsub 
__imul 
__lmul 
__fmul 
__dmul 
__idiv 
__ldiv 
__fdiv 
__ddiv 
__irem 
__lrem 
__frem 
__drem 
__ineg 
__lneg 
__fneg 
__dneg 
__ishl 
__lshl 
__ishr 
__lshr 
__iushr 
__lushr 
__iand 
__land 
__ior 
__lor 
__ixor 
__lxor 
__iinc 
__i2l 
__i2f 
__i2d 
__l2i 
__l2f 
__l2d 
__f2i 
__f2l 
__f2d 
__d2i 
__d2l 
__d2f 
__i2b 
__i2c 
__i2s 
__lcmp 
__fcmpl 
__fcmpg 
__dcmpl 
__dcmpg 
__ifeq 
__ifne 
__iflt 
__ifge 
__ifgt 
__ifle 
__if_icmpeq 
__if_icmpne 
__if_icmplt 
__if_icmpge 
__if_icmpgt 
__if_icmple 
__if_acmpeq 
__if_acmpne 
__goto 
__jsr 
__ret 
__tableswitch 
__lookupswitch 
__ireturn 
__lreturn 
__freturn 
__dreturn 
__areturn 
__return 
__getstatic 
__putstatic 
__getfield 
__putfield 
__invokevirtual 
__invokespecial 
__invokestatic 
__invokeinterface 
__invokedynamic 
__new 
__newarray 
__anewarray 
__arraylength 
__athrow 
__checkcast 
__instanceof 
__monitorenter 
__monitorexit 
__multianewarray 
__ifnull 
__ifnonnull 
__privileged_invokestatic 
__privileged_invokevirtual 
__privileged_invokespecial 
__ldc_nothrow 
__methodhandle_invoke 
__methodhandle_link 
__goto_finally 
__intrinsic_gettype 
__athrow_no_unmap 
__dynamic_getstatic 
__dynamic_putstatic 
__dynamic_getfield 
__dynamic_putfield 
__dynamic_invokeinterface 
__dynamic_invokestatic 
__dynamic_invokevirtual 
__dynamic_invokespecial 
__clone_array 
__static_error 
__iconst 

Definition at line 28 of file NormalizedByteCode.cs.

29 {
30
31 __nop = 0,
32 __aconst_null = 1,
33 __lconst_0 = 9,
34 __lconst_1 = 10,
35 __fconst_0 = 11,
36 __fconst_1 = 12,
37 __fconst_2 = 13,
38 __dconst_0 = 14,
39 __dconst_1 = 15,
40 __ldc = 18,
41 __iload = 21,
42 __lload = 22,
43 __fload = 23,
44 __dload = 24,
45 __aload = 25,
46 __iaload = 46,
47 __laload = 47,
48 __faload = 48,
49 __daload = 49,
50 __aaload = 50,
51 __baload = 51,
52 __caload = 52,
53 __saload = 53,
54 __istore = 54,
55 __lstore = 55,
56 __fstore = 56,
57 __dstore = 57,
58 __astore = 58,
59 __iastore = 79,
60 __lastore = 80,
61 __fastore = 81,
62 __dastore = 82,
63 __aastore = 83,
64 __bastore = 84,
65 __castore = 85,
66 __sastore = 86,
67 __pop = 87,
68 __pop2 = 88,
69 __dup = 89,
70 __dup_x1 = 90,
71 __dup_x2 = 91,
72 __dup2 = 92,
73 __dup2_x1 = 93,
74 __dup2_x2 = 94,
75 __swap = 95,
76 __iadd = 96,
77 __ladd = 97,
78 __fadd = 98,
79 __dadd = 99,
80 __isub = 100,
81 __lsub = 101,
82 __fsub = 102,
83 __dsub = 103,
84 __imul = 104,
85 __lmul = 105,
86 __fmul = 106,
87 __dmul = 107,
88 __idiv = 108,
89 __ldiv = 109,
90 __fdiv = 110,
91 __ddiv = 111,
92 __irem = 112,
93 __lrem = 113,
94 __frem = 114,
95 __drem = 115,
96 __ineg = 116,
97 __lneg = 117,
98 __fneg = 118,
99 __dneg = 119,
100 __ishl = 120,
101 __lshl = 121,
102 __ishr = 122,
103 __lshr = 123,
104 __iushr = 124,
105 __lushr = 125,
106 __iand = 126,
107 __land = 127,
108 __ior = 128,
109 __lor = 129,
110 __ixor = 130,
111 __lxor = 131,
112 __iinc = 132,
113 __i2l = 133,
114 __i2f = 134,
115 __i2d = 135,
116 __l2i = 136,
117 __l2f = 137,
118 __l2d = 138,
119 __f2i = 139,
120 __f2l = 140,
121 __f2d = 141,
122 __d2i = 142,
123 __d2l = 143,
124 __d2f = 144,
125 __i2b = 145,
126 __i2c = 146,
127 __i2s = 147,
128 __lcmp = 148,
129 __fcmpl = 149,
130 __fcmpg = 150,
131 __dcmpl = 151,
132 __dcmpg = 152,
133 __ifeq = 153,
134 __ifne = 154,
135 __iflt = 155,
136 __ifge = 156,
137 __ifgt = 157,
138 __ifle = 158,
139 __if_icmpeq = 159,
140 __if_icmpne = 160,
141 __if_icmplt = 161,
142 __if_icmpge = 162,
143 __if_icmpgt = 163,
144 __if_icmple = 164,
145 __if_acmpeq = 165,
146 __if_acmpne = 166,
147 __goto = 167,
148 __jsr = 168,
149 __ret = 169,
150 __tableswitch = 170,
151 __lookupswitch = 171,
152 __ireturn = 172,
153 __lreturn = 173,
154 __freturn = 174,
155 __dreturn = 175,
156 __areturn = 176,
157 __return = 177,
158 __getstatic = 178,
159 __putstatic = 179,
160 __getfield = 180,
161 __putfield = 181,
162 __invokevirtual = 182,
163 __invokespecial = 183,
164 __invokestatic = 184,
165 __invokeinterface = 185,
166 __invokedynamic = 186,
167 __new = 187,
168 __newarray = 188,
169 __anewarray = 189,
170 __arraylength = 190,
171 __athrow = 191,
172 __checkcast = 192,
173 __instanceof = 193,
174 __monitorenter = 194,
175 __monitorexit = 195,
176 __multianewarray = 197,
177 __ifnull = 198,
178 __ifnonnull = 199,
179 // This is where the pseudo-bytecodes start
180 __privileged_invokestatic = 235, // the privileged bytecodes are used for accessing host class members
183 __ldc_nothrow = 239,
186 __goto_finally = 242,
188 __athrow_no_unmap = 244,
191 __dynamic_getfield = 247,
192 __dynamic_putfield = 248,
197 __clone_array = 253,
198 __static_error = 254, // not a real instruction, this signals an instruction that is compiled as an exception
199 __iconst = 255
200
201 }

◆ SimpleOpCode

Enumerator
Call 
Callvirt 
Newobj 

Definition at line 28 of file SimpleOpCode.cs.

29 {
30
31 Call,
32 Callvirt,
33 Newobj
34
35 }

◆ TypeFlags

enum IKVM.Runtime.TypeFlags : ushort
Enumerator
None 
HasIncompleteInterfaceImplementation 
InternalAccess 
HasStaticInitializer 
VerifyError 
ClassFormatError 
HasUnsupportedAbstractMethods 
Anonymous 
Linked 

Definition at line 30 of file TypeFlags.cs.

Function Documentation

◆ MethodKey()

record struct IKVM.Runtime.MethodKey ( string ClassName,
string MethodName,
string MethodSig )

◆ MH< T1, T2, T3, T4, T5, T6, T7, T8, TResult >()

delegate TResult IKVM.Runtime.MH< T1, T2, T3, T4, T5, T6, T7, T8, TResult > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6,
T7 t7,
T8 t8 )

◆ MH< T1, T2, T3, T4, T5, T6, T7, TResult >()

delegate TResult IKVM.Runtime.MH< T1, T2, T3, T4, T5, T6, T7, TResult > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6,
T7 t7 )

◆ MH< T1, T2, T3, T4, T5, T6, TResult >()

delegate TResult IKVM.Runtime.MH< T1, T2, T3, T4, T5, T6, TResult > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6 )

◆ MH< T1, T2, T3, T4, T5, TResult >()

delegate TResult IKVM.Runtime.MH< T1, T2, T3, T4, T5, TResult > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5 )

◆ MH< T1, T2, T3, T4, TResult >()

delegate TResult IKVM.Runtime.MH< T1, T2, T3, T4, TResult > ( T1 t1,
T2 t2,
T3 t3,
T4 t4 )

◆ MH< T1, T2, T3, TResult >()

delegate TResult IKVM.Runtime.MH< T1, T2, T3, TResult > ( T1 t1,
T2 t2,
T3 t3 )

◆ MH< T1, T2, TResult >()

delegate TResult IKVM.Runtime.MH< T1, T2, TResult > ( T1 t1,
T2 t2 )

◆ MH< T1, TResult >()

delegate TResult IKVM.Runtime.MH< T1, TResult > ( T1 t1)

◆ MH< TResult >()

delegate TResult IKVM.Runtime.MH< TResult > ( )

◆ MHV()

delegate void IKVM.Runtime.MHV ( )

◆ MHV< T1 >()

delegate void IKVM.Runtime.MHV< T1 > ( T1 t1)

◆ MHV< T1, T2 >()

delegate void IKVM.Runtime.MHV< T1, T2 > ( T1 t1,
T2 t2 )

◆ MHV< T1, T2, T3 >()

delegate void IKVM.Runtime.MHV< T1, T2, T3 > ( T1 t1,
T2 t2,
T3 t3 )

◆ MHV< T1, T2, T3, T4 >()

delegate void IKVM.Runtime.MHV< T1, T2, T3, T4 > ( T1 t1,
T2 t2,
T3 t3,
T4 t4 )

◆ MHV< T1, T2, T3, T4, T5 >()

delegate void IKVM.Runtime.MHV< T1, T2, T3, T4, T5 > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5 )

◆ MHV< T1, T2, T3, T4, T5, T6 >()

delegate void IKVM.Runtime.MHV< T1, T2, T3, T4, T5, T6 > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6 )

◆ MHV< T1, T2, T3, T4, T5, T6, T7 >()

delegate void IKVM.Runtime.MHV< T1, T2, T3, T4, T5, T6, T7 > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6,
T7 t7 )

◆ MHV< T1, T2, T3, T4, T5, T6, T7, T8 >()

delegate void IKVM.Runtime.MHV< T1, T2, T3, T4, T5, T6, T7, T8 > ( T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6,
T7 t7,
T8 t8 )