IL Module
The "unlinked" view of .NET metadata and code. Central to the Abstract IL library
Types
Type | Description |
|
|
|
|
Array shapes. For most purposes the rank is the only thing that matters. |
|
Lower-bound/size pairs |
|
|
|
|
|
The main module of an assembly is a module plus some manifest information. |
|
|
|
|
|
Custom attribute. |
|
Named args: values and flags indicating if they are fields or properties. |
|
|
|
Represents the efficiency-oriented storage of ILAttributes in another item. |
|
|
|
|
|
|
|
|
|
|
|
ILCode labels. In structured code each code label refers to a basic block somewhere in the code of the method. |
|
|
|
|
|
Defines an opened namespace, type relevant to a code location. Emitted to the PortablePDB format. Note the format supports additional variations on imported things that are not yet emitted in F#. |
|
Defines a set of opened namespace, type relevant to a code location. Emitted to the PortablePDB format. |
|
|
|
Default Unicode encoding for P/Invoke within a type. |
|
Decompose a type definition according to its kind. |
|
Event definitions. |
|
Table of those events in a type definition. |
|
A utility type provided for completeness |
|
|
|
|
|
these are only found in the ILExportedTypesAndForwarders table in the manifest |
|
|
|
Field definitions. |
|
Tables of fields. Logically equivalent to a list of fields but the table is kept in a form to allow efficient looking up fields by name. |
|
Field Init |
|
Formal identities of fields. |
|
Field specs. The data given for a ldfld, stfld etc. instruction. |
|
Actual generic parameters are always types. |
|
|
|
Generic parameters. Formal generic parameter declarations may include the bounds, if any, on the generic parameter. |
|
|
|
|
|
A table of common references to items in primary assembly (System.Runtime or mscorlib). If a particular version of System.Runtime.dll has been loaded then you should reference items from it via an ILGlobals for that specific version built using mkILGlobals. |
|
Represents guids |
|
The instruction set. |
|
Local variables |
|
|
|
Indicates that a particular local variable has a particular source language name within a given set of ranges. This does not effect local variable numbering, which is global over the whole method. |
|
|
|
Helpers for codegen: scopes for allocating new temporary variables. |
|
Member Access |
|
IL method bodies |
|
IL Method definitions. |
|
Tables of methods. Logically equivalent to a list of methods but the table is kept in a form optimized for looking up methods by name and arity. |
|
Method Impls |
|
|
|
Formal identities of methods. |
|
The information at the callsite of a method |
|
One module in the "current" assembly, either a main-module or an auxiliary module. The main module will have a manifest. An assembly is built by joining together a "main" module plus several auxiliary modules. |
|
|
|
|
|
Native Types, for marshalling to the native C interface. These are taken directly from the ILASM syntax. Most of these are listed in the CLI ECMA-335 Spec (Partition II, 7.4). |
|
|
|
"Classes Elsewhere" - classes in auxiliary modules. Manifests include declarations for all the classes in an assembly, regardless of which module they are in. The ".class extern" construct describes so-called exported types -- these are public classes defined in the auxiliary modules of this assembly, i.e. modules other than the manifest-carrying module. For example, if you have a two-module assembly (A.DLL and B.DLL), and the manifest resides in the A.DLL, then in the manifest all the public classes declared in B.DLL should be defined as exported types, i.e., as ".class extern". The public classes defined in A.DLL should not be defined as ".class extern" -- they are already available in the manifest-carrying module. The union of all public classes defined in the manifest-carrying module and all exported types defined there is the set of all classes exposed by this assembly. Thus, by analysing the metadata of the manifest-carrying module of an assembly, you can identify all the classes exposed by this assembly, and where to find them. Nested classes found in external modules should also be located in this table, suitably nested inside another "ILExportedTypeOrForwarder" definition. these are only found in the "Nested" field of ILExportedTypeOrForwarder objects |
|
|
|
Represents a reference to a method declaration in a superclass or interface. |
|
Method parameters and return values. |
|
|
|
|
|
Represents a prefix of information for ILTypeDef. The information is enough to perform name resolution for the F# compiler, probe attributes for ExtensionAttribute etc. This is key to the on-demand exploration of .NET metadata. This information has to be "Goldilocks" - not too much, not too little, just right. |
|
|
|
Property definitions |
|
Table of properties in an IL type definition. |
|
A utility type provided for completeness |
|
|
|
|
|
"Manifest ILResources" are chunks of resource data, being one of: - the data section of the current module (byte[] of resource given directly). - in an external file in this assembly (offset given in the ILResourceLocation field). - as a resources in another assembly of the same name. |
|
|
|
|
|
Table of resources in a module. |
|
Method return values. |
|
|
|
|
|
|
|
Abstract type equivalent to ILSecurityDecl list - use helpers below to construct/destruct these. |
|
Represents the efficiency-oriented storage of ILSecurityDecls in another item. |
|
Debug info. Values of type "source" can be attached at sequence points and some other locations. |
|
|
|
|
|
|
|
|
|
Represents IL Type Definitions. |
|
Type Access. |
|
A categorization of type definitions into "kinds" |
|
Type Layout information. |
|
|
|
|
|
Tables of named type definitions. |
|
Indicate the initialization semantics of a type. |
|
Type refs, i.e. references to types in some .NET assembly |
|
Type specs and types. |
|
|
|
|
|
|
|
|
|
|
|
PInvoke attributes. |
|
|
|
|
|
|
|
|
|
Represents the target primary assembly |
|
|
Functions and values
Function or value |
Description
|
Full Usage:
NoMetadataIdx
Returns: int32
|
|
|
|
Full Usage:
addILTypeDef arg1 arg2
Parameters:
ILTypeDef
arg1 : ILTypeDefs
Returns: ILTypeDefs
|
|
|
|
|
|
Full Usage:
appendInstrsToMethod arg1 arg2
Parameters:
ILInstr list
arg1 : ILMethodDef
Returns: ILMethodDef
|
|
Full Usage:
buildILCode arg1 lab2pc instrs arg4 arg5
Parameters:
string
lab2pc : Dictionary<ILCodeLabel, int>
instrs : ILInstr[]
arg3 : ILExceptionSpec list
arg4 : ILLocalDebugInfo list
Returns: ILCode
|
|
Full Usage:
compareILVersions arg1 arg2
Parameters:
ILVersionInfo
arg1 : ILVersionInfo
Returns: int
|
|
Full Usage:
computeILEnumInfo (arg1, arg2)
Parameters:
string
arg1 : ILFieldDefs
Returns: ILEnumInfo
|
|
Full Usage:
computeILRefs arg1 arg2
Parameters:
ILGlobals
arg1 : ILModuleDef
Returns: ILReferences
|
Find the full set of assemblies referenced by a module.
|
Full Usage:
decodeILAttribData arg1
Parameters:
ILAttribute
Returns: ILAttribElem list * ILAttributeNamedArg list
|
Not all custom attribute data can be decoded without binding types. In particular enums must be bound in order to discover the size of the underlying integer. The following assumes enums have size int32.
|
|
|
Full Usage:
destTypeDefsWithGlobalFunctionsFirst arg1 arg2
Parameters:
ILGlobals
arg1 : ILTypeDefs
Returns: ILTypeDef list
|
When writing a binary the fake "toplevel" type definition (called
|
|
This is a 'vendor neutral' way of referencing mscorlib.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instantiate type variables that occur within types and other items.
|
Full Usage:
instILTypeAux arg1 arg2 arg3
Parameters:
int
arg1 : ILGenericArgs
arg2 : ILType
Returns: ILType
|
Instantiate type variables that occur within types and other items.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Full Usage:
isTypeNameForGlobalFunctions arg1
Parameters:
string
Returns: bool
|
|
|
|
|
|
|
|
|
|
|
Given a delegate type definition which lies in a particular scope, make a reference to its constructor.
|
|
|
|
|
Full Usage:
mkILBoxedTy arg1 arg2
Parameters:
ILTypeRef
arg1 : ILGenericArgsList
Returns: ILType
|
|
|
|
Full Usage:
mkILCallSig (arg1, arg2, arg3)
Parameters:
ILCallingConv
arg1 : ILType list
arg2 : ILType
Returns: ILCallingSignature
|
|
|
|
Full Usage:
mkILCtor (arg1, arg2, arg3)
Parameters:
ILMemberAccess
arg1 : ILParameter list
arg2 : MethodBody
Returns: ILMethodDef
|
|
|
|
Full Usage:
mkILCustomAttribMethRef (arg1, arg2, arg3)
Parameters:
ILMethodSpec
arg1 : ILAttribElem list
arg2 : ILAttributeNamedArg list
Returns: ILAttribute
|
Make custom attributes.
|
Full Usage:
mkILCustomAttribute (arg1, arg2, arg3, arg4)
Parameters:
ILTypeRef
arg1 : ILType list
arg2 : ILAttribElem list
arg3 : ILAttributeNamedArg list
Returns: ILAttribute
|
|
|
|
|
|
Full Usage:
mkILCustomAttrsReader arg1
Parameters:
int32 -> ILAttribute[]
Returns: ILAttributesStored
|
|
Full Usage:
mkILDelegateMethods arg1 arg2 (arg3, arg4) (arg5, arg6)
Parameters:
ILMemberAccess
arg1 : ILGlobals
arg2 : ILType
arg3 : ILType
arg4 : ILParameter list
arg5 : ILReturn
Returns: ILMethodDef list
|
|
|
Make a formal generic parameters.
|
|
|
Full Usage:
mkILEventsLazy arg1
Parameters:
InterruptibleLazy<ILEventDef list>
Returns: ILEventDefs
|
|
Full Usage:
mkILExportedTypes arg1
Parameters:
ILExportedTypeOrForwarder list
Returns: ILExportedTypesAndForwarders
|
|
Full Usage:
mkILExportedTypesLazy arg1
Parameters:
Lazy<ILExportedTypeOrForwarder list>
Returns: ILExportedTypesAndForwarders
|
|
|
|
Full Usage:
mkILFieldSpec (arg1, arg2)
Parameters:
ILFieldRef
arg1 : ILType
Returns: ILFieldSpec
|
|
|
|
|
|
Full Usage:
mkILFieldsLazy arg1
Parameters:
InterruptibleLazy<ILFieldDef list>
Returns: ILFieldDefs
|
|
Full Usage:
mkILFormalBoxedTy arg1 arg2
Parameters:
ILTypeRef
arg1 : ILGenericParameterDef list
Returns: ILType
|
Make generalized versions of possibly-generic types, e.g. Given the ILTypeDef for List, return the type "List
|
Full Usage:
mkILFormalGenericArgs arg1 arg2
Parameters:
int
arg1 : ILGenericParameterDefs
Returns: ILGenericArgsList
|
|
Full Usage:
mkILFormalNamedTy arg1 arg2 arg3
Parameters:
ILBoxity
arg1 : ILTypeRef
arg2 : ILGenericParameterDef list
Returns: ILType
|
|
|
|
Full Usage:
mkILGenericClass (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)
Parameters:
string
arg1 : ILTypeDefAccess
arg2 : ILGenericParameterDefs
arg3 : ILType
arg4 : ILType list
arg5 : ILMethodDefs
arg6 : ILFieldDefs
arg7 : ILTypeDefs
arg8 : ILPropertyDefs
arg9 : ILEventDefs
arg10 : ILAttributes
arg11 : ILTypeInit
Returns: ILTypeDef
|
Make a type definition.
|
Full Usage:
mkILGenericNonVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6)
Parameters:
string
arg1 : ILMemberAccess
arg2 : ILGenericParameterDefs
arg3 : ILParameter list
arg4 : ILReturn
arg5 : MethodBody
Returns: ILMethodDef
|
|
Full Usage:
mkILGenericVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6, arg7)
Parameters:
string
arg1 : ILCallingConv
arg2 : ILMemberAccess
arg3 : ILGenericParameterDefs
arg4 : ILParameter list
arg5 : ILReturn
arg6 : MethodBody
Returns: ILMethodDef
|
|
Full Usage:
mkILGlobals (primaryScopeRef, equivPrimaryAssemblyRefs, fsharpCoreAssemblyScopeRef)
Parameters:
ILScopeRef
equivPrimaryAssemblyRefs : ILAssemblyRef list
fsharpCoreAssemblyScopeRef : ILScopeRef
Returns: ILGlobals
|
Build the table of commonly used references given functions to find types in system assemblies primaryScopeRef is the primary assembly we are emitting equivPrimaryAssemblyRefs are ones regarded as equivalent
|
Full Usage:
mkILInstanceField (arg1, arg2, arg3, arg4)
Parameters:
string
arg1 : ILType
arg2 : ILFieldInit option
arg3 : ILMemberAccess
Returns: ILFieldDef
|
Make field definitions.
|
Full Usage:
mkILInstanceMethSpecInTy (arg1, arg2, arg3, arg4, arg5)
Parameters:
ILType
arg1 : string
arg2 : ILType list
arg3 : ILType
arg4 : ILGenericArgsList
Returns: ILMethodSpec
|
Construct references to instance methods.
|
Full Usage:
mkILLiteralField (arg1, arg2, arg3, arg4, arg5)
Parameters:
string
arg1 : ILType
arg2 : ILFieldInit
arg3 : byte[] option
arg4 : ILMemberAccess
Returns: ILFieldDef
|
|
|
|
Full Usage:
mkILMethRef (arg1, arg2, arg3, arg4, arg5, arg6)
Parameters:
ILTypeRef
arg1 : ILCallingConv
arg2 : string
arg3 : int
arg4 : ILType list
arg5 : ILType
Returns: ILMethodRef
|
Make method references and specs.
|
Full Usage:
mkILMethSpec (arg1, arg2, arg3, arg4)
Parameters:
ILMethodRef
arg1 : ILBoxity
arg2 : ILGenericArgsList
arg3 : ILGenericArgsList
Returns: ILMethodSpec
|
|
Full Usage:
mkILMethSpecForMethRefInTy (arg1, arg2, arg3)
Parameters:
ILMethodRef
arg1 : ILType
arg2 : ILGenericArgsList
Returns: ILMethodSpec
|
|
Full Usage:
mkILMethSpecInTy (arg1, arg2, arg3, arg4, arg5, arg6)
Parameters:
ILType
arg1 : ILCallingConv
arg2 : string
arg3 : ILType list
arg4 : ILType
arg5 : ILGenericArgsList
Returns: ILMethodSpec
|
|
Full Usage:
mkILMethodBody (initlocals, arg2, arg3, arg4, arg5, arg6)
Parameters:
bool
arg1 : ILLocals
arg2 : int
arg3 : ILCode
arg4 : ILDebugPoint option
arg5 : ILDebugImports option
Returns: ILMethodBody
|
Make method definitions.
|
|
|
Full Usage:
mkILMethodImplsLazy arg1
Parameters:
Lazy<ILMethodImplDef list>
Returns: ILMethodImplDefs
|
|
|
|
|
|
|
|
Full Usage:
mkILNamedTy arg1 arg2 arg3
Parameters:
ILBoxity
arg1 : ILTypeRef
arg2 : ILGenericArgsList
Returns: ILType
|
|
Full Usage:
mkILNestedExportedTypes arg1
Parameters:
ILNestedExportedType list
Returns: ILNestedExportedTypes
|
|
Full Usage:
mkILNestedExportedTypesLazy arg1
Parameters:
Lazy<ILNestedExportedType list>
Returns: ILNestedExportedTypes
|
|
Full Usage:
mkILNestedTyRef (arg1, arg2, arg3)
Parameters:
ILScopeRef
arg1 : string list
arg2 : string
Returns: ILTypeRef
|
|
|
|
|
|
Full Usage:
mkILNonGenericEmptyCtor (arg1, arg2, arg3)
Parameters:
ILType
arg1 : ILDebugPoint option
arg2 : ILDebugImports option
Returns: ILMethodDef
|
|
Full Usage:
mkILNonGenericInstanceMethSpecInTy (arg1, arg2, arg3, arg4)
Parameters: Returns: ILMethodSpec
|
Construct references to instance methods.
|
Full Usage:
mkILNonGenericInstanceMethod (arg1, arg2, arg3, arg4, arg5)
Parameters:
string
arg1 : ILMemberAccess
arg2 : ILParameter list
arg3 : ILReturn
arg4 : MethodBody
Returns: ILMethodDef
|
|
Full Usage:
mkILNonGenericMethSpecInTy (arg1, arg2, arg3, arg4, arg5)
Parameters:
ILType
arg1 : ILCallingConv
arg2 : string
arg3 : ILType list
arg4 : ILType
Returns: ILMethodSpec
|
Construct references to methods on a given type .
|
Full Usage:
mkILNonGenericStaticMethSpecInTy (arg1, arg2, arg3, arg4)
Parameters: Returns: ILMethodSpec
|
Construct references to static, non-generic methods.
|
Full Usage:
mkILNonGenericStaticMethod (arg1, arg2, arg3, arg4, arg5)
Parameters:
string
arg1 : ILMemberAccess
arg2 : ILParameter list
arg3 : ILReturn
arg4 : MethodBody
Returns: ILMethodDef
|
|
|
|
|
|
Full Usage:
mkILNonGenericVirtualInstanceMethod (arg1, arg2, arg3, arg4, arg5)
Parameters:
string
arg1 : ILMemberAccess
arg2 : ILParameter list
arg3 : ILReturn
arg4 : MethodBody
Returns: ILMethodDef
|
|
Full Usage:
mkILNonGenericVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6)
Parameters:
string
arg1 : ILCallingConv
arg2 : ILMemberAccess
arg3 : ILParameter list
arg4 : ILReturn
arg5 : MethodBody
Returns: ILMethodDef
|
|
Full Usage:
mkILParam (arg1, arg2)
Parameters:
string option
arg1 : ILType
Returns: ILParameter
|
Derived functions for making return, parameter and local variable objects for use in method definitions.
|
|
|
Full Usage:
mkILParamNamed (arg1, arg2)
Parameters:
string
arg1 : ILType
Returns: ILParameter
|
|
|
|
Full Usage:
mkILPreTypeDefComputed (arg1, arg2, arg3)
Parameters:
string list
arg1 : string
arg2 : unit -> ILTypeDef
Returns: ILPreTypeDef
|
|
Full Usage:
mkILPreTypeDefRead (arg1, arg2, arg3, arg4)
Parameters:
string list
arg1 : string
arg2 : int32
arg3 : ILTypeDefStored
Returns: ILPreTypeDef
|
|
|
|
Full Usage:
mkILPropertiesLazy arg1
Parameters:
InterruptibleLazy<ILPropertyDef list>
Returns: ILPropertyDefs
|
|
|
|
|
|
|
|
Full Usage:
mkILSecurityDeclsReader arg1
Parameters:
int32 -> ILSecurityDecl[]
Returns: ILSecurityDeclsStored
|
|
Full Usage:
mkILSimpleClass arg1 (arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)
Parameters:
ILGlobals
arg1 : string
arg2 : ILTypeDefAccess
arg3 : ILMethodDefs
arg4 : ILFieldDefs
arg5 : ILTypeDefs
arg6 : ILPropertyDefs
arg7 : ILEventDefs
arg8 : ILAttributes
arg9 : ILTypeInit
Returns: ILTypeDef
|
|
Full Usage:
mkILSimpleModule assemblyName moduleName dll subsystemVersion useHighEntropyVA arg6 arg7 arg8 arg9 arg10 arg11
Parameters:
string
moduleName : string
dll : bool
subsystemVersion : int * int
useHighEntropyVA : bool
arg5 : ILTypeDefs
arg6 : int32 option
arg7 : string option
arg8 : int
arg9 : ILExportedTypesAndForwarders
arg10 : string
Returns: ILModuleDef
|
Making modules.
|
Full Usage:
mkILSimpleStorageCtor (arg1, arg2, arg3, arg4, arg5, arg6, arg7)
Parameters:
ILTypeSpec option
arg1 : ILType
arg2 : ILParameter list
arg3 : (string * ILType) list
arg4 : ILMemberAccess
arg5 : ILDebugPoint option
arg6 : ILDebugImports option
Returns: ILMethodDef
|
|
Full Usage:
mkILSimpleStorageCtorWithParamNames (arg1, arg2, arg3, arg4, arg5, arg6, arg7)
Parameters:
ILTypeSpec option
arg1 : ILType
arg2 : ILParameter list
arg3 : (string * string * ILType) list
arg4 : ILMemberAccess
arg5 : ILDebugPoint option
arg6 : ILDebugImports option
Returns: ILMethodDef
|
|
|
|
Full Usage:
mkILStaticField (arg1, arg2, arg3, arg4, arg5)
Parameters:
string
arg1 : ILType
arg2 : ILFieldInit option
arg3 : byte[] option
arg4 : ILMemberAccess
Returns: ILFieldDef
|
|
Full Usage:
mkILStaticLiteralField (arg1, arg2, arg3, arg4, arg5)
Parameters:
string
arg1 : ILType
arg2 : ILFieldInit
arg3 : byte[] option
arg4 : ILMemberAccess
Returns: ILFieldDef
|
|
Full Usage:
mkILStaticMethSpecInTy (arg1, arg2, arg3, arg4, arg5)
Parameters:
ILType
arg1 : string
arg2 : ILType list
arg3 : ILType
arg4 : ILGenericArgsList
Returns: ILMethodSpec
|
Construct references to static methods.
|
Full Usage:
mkILStaticMethod (arg1, arg2, arg3, arg4, arg5, arg6)
Parameters:
ILGenericParameterDefs
arg1 : string
arg2 : ILMemberAccess
arg3 : ILParameter list
arg4 : ILReturn
arg5 : MethodBody
Returns: ILMethodDef
|
|
Full Usage:
mkILStorageCtor (arg1, arg2, arg3, arg4, arg5, arg6)
Parameters:
ILInstr list
arg1 : ILType
arg2 : (string * ILType) list
arg3 : ILMemberAccess
arg4 : ILDebugPoint option
arg5 : ILDebugImports option
Returns: ILMethodDef
|
Derived functions for making some simple constructors
|
|
|
|
|
|
|
Full Usage:
mkILTySpec (arg1, arg2)
Parameters:
ILTypeRef
arg1 : ILGenericArgsList
Returns: ILTypeSpec
|
|
Full Usage:
mkILTypeDefForGlobalFunctions arg1 (arg2, arg3)
Parameters:
ILGlobals
arg1 : ILMethodDefs
arg2 : ILFieldDefs
Returns: ILTypeDef
|
|
|
|
|
|
|
Create table of types which is loaded/computed on-demand, and whose individual elements are also loaded/computed on-demand. Any call to tdefs.AsList will result in the laziness being forced. Operations can examine the custom attributes and name of each type in order to decide whether to proceed with examining the other details of the type. Note that individual type definitions may contain further delays in their method, field and other tables.
|
|
|
|
|
|
|
Full Usage:
mkILValueTy arg1 arg2
Parameters:
ILTypeRef
arg1 : ILGenericArgsList
Returns: ILType
|
|
|
|
|
|
|
|
|
|
Full Usage:
mkMethodBody (arg1, arg2, arg3, arg4, arg5, arg6)
Parameters:
bool
arg1 : ILLocals
arg2 : int
arg3 : ILCode
arg4 : ILDebugPoint option
arg5 : ILDebugImports option
Returns: MethodBody
|
|
|
Derived functions for making some common patterns of instructions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Full Usage:
mkPermissionSet (arg1, arg2)
Parameters:
ILSecurityAction
arg1 : (ILTypeRef * (string * ILType * ILAttribElem) list) list
Returns: ILSecurityDecl
|
|
|
Make a type definition for a value type used to point to raw data. These are useful when generating array initialization code according to the ldtoken field valuetype '
|
Full Usage:
mkRefForILField arg1 (arg2, arg3) arg4
Parameters:
ILScopeRef
arg1 : ILTypeDef list
arg2 : ILTypeDef
arg3 : ILFieldDef
Returns: ILFieldRef
|
|
Full Usage:
mkRefForILMethod arg1 (arg2, arg3) arg4
Parameters:
ILScopeRef
arg1 : ILTypeDef list
arg2 : ILTypeDef
arg3 : ILMethodDef
Returns: ILMethodRef
|
|
Full Usage:
mkRefForNestedILTypeDef arg1 (arg2, arg3)
Parameters:
ILScopeRef
arg1 : ILTypeDef list
arg2 : ILTypeDef
Returns: ILTypeRef
|
Generate references to existing type definitions, method definitions etc. Useful for generating references, e.g. to a class we're processing Also used to reference type definitions that we've generated. [ILScopeRef] is normally ILScopeRef.Local, unless we've generated the ILTypeDef in an auxiliary module or are generating multiple assemblies at once.
|
|
|
Full Usage:
mkRefToILField (arg1, arg2)
Parameters:
ILTypeRef
arg1 : ILFieldDef
Returns: ILFieldRef
|
|
Full Usage:
mkRefToILMethod (arg1, arg2)
Parameters:
ILTypeRef
arg1 : ILMethodDef
Returns: ILMethodRef
|
|
|
|
|
|
|
|
|
|
Full Usage:
mkTypeForwarder arg1 arg2 arg3 arg4 arg5
Parameters:
ILScopeRef
arg1 : string
arg2 : ILNestedExportedTypes
arg3 : ILAttributes
arg4 : ILTypeDefAccess
Returns: ILExportedTypeOrForwarder
|
|
|
|
|
Get a version number from a CLR version string, e.g. 1.0.3705.0
|
Full Usage:
prependInstrsToClassCtor arg1 arg2 arg3 arg4
Parameters:
ILInstr list
arg1 : ILDebugPoint option
arg2 : ILDebugImports option
arg3 : ILTypeDef
Returns: ILTypeDef
|
Injecting initialization code into a class. Add some code to the end of the .cctor for a type. Create a .cctor if one doesn't exist already.
|
|
|
Full Usage:
prependInstrsToMethod arg1 arg2
Parameters:
ILInstr list
arg1 : ILMethodDef
Returns: ILMethodDef
|
|
Full Usage:
rescopeILFieldRef arg1 arg2
Parameters:
ILScopeRef
arg1 : ILFieldRef
Returns: ILFieldRef
|
Rescoping. The first argument indicates how to reference the original scope from the new scope.
|
Full Usage:
rescopeILMethodRef arg1 arg2
Parameters:
ILScopeRef
arg1 : ILMethodRef
Returns: ILMethodRef
|
Rescoping. The first argument indicates how to reference the original scope from the new scope.
|
Full Usage:
rescopeILScopeRef arg1 arg2
Parameters:
ILScopeRef
arg1 : ILScopeRef
Returns: ILScopeRef
|
Rescoping. The first argument indicates how to reference the original scope from the new scope.
|
|
Rescoping. The first argument indicates how to reference the original scope from the new scope.
|
Full Usage:
rescopeILTypeRef arg1 arg2
Parameters:
ILScopeRef
arg1 : ILTypeRef
Returns: ILTypeRef
|
Rescoping. The first argument indicates how to reference the original scope from the new scope.
|
Full Usage:
rescopeILTypeSpec arg1 arg2
Parameters:
ILScopeRef
arg1 : ILTypeSpec
Returns: ILTypeSpec
|
Rescoping. The first argument indicates how to reference the original scope from the new scope.
|
Full Usage:
resolveILMethodRef arg1 arg2
Parameters:
ILTypeDef
arg1 : ILMethodRef
Returns: ILMethodDef
|
Find the method definition corresponding to the given property or event operation. These are always in the same class as the property or event. This is useful especially if your code is not using the Ilbind API to bind references.
|
Full Usage:
resolveILMethodRefWithRescope arg1 arg2 arg3
Parameters:
ILType -> ILType
arg1 : ILTypeDef
arg2 : ILMethodRef
Returns: ILMethodDef
|
|
Full Usage:
sha1HashBytes arg1
Parameters:
byte[]
Returns: byte[]
|
Get a public key token from a public key.
|
Full Usage:
sha1HashInt64 arg1
Parameters:
byte[]
Returns: int64
|
|
Full Usage:
splitILTypeName arg1
Parameters:
string
Returns: string list * string
|
The
|
Full Usage:
splitILTypeNameWithPossibleStaticArguments arg1
Parameters:
string
Returns: string[] * string
|
|
Full Usage:
splitNamespace arg1
Parameters:
string
Returns: string list
|
|
Full Usage:
splitNamespaceToArray arg1
Parameters:
string
Returns: string[]
|
|
Full Usage:
splitTypeNameRight arg1
Parameters:
string
Returns: string option * string
|
|
|
|
Full Usage:
storeILSecurityDecls arg1
Parameters:
ILSecurityDecls
Returns: ILSecurityDeclsStored
|
|
|
|
Full Usage:
typeNameForGlobalFunctions
Returns: string
|
|
|
|
|