Header menu logo fantomas

IL Module

The "unlinked" view of .NET metadata and code. Central to the Abstract IL library

Types

Type Description

ILArrayBound

Array shapes. For most purposes the rank is the only thing that matters.

ILArrayBounds

Lower-bound/size pairs

ILAssemblyManifest

The main module of an assembly is a module plus some manifest information.

ILAssemblyRef

ILAttributeNamedArg

Named args: values and flags indicating if they are fields or properties.

ILAttributes

ILAttributesStored

Represents the efficiency-oriented storage of ILAttributes in another item.

ILCallingSignature

ILCode

ILCodeLabel

ILCode labels. In structured code each code label refers to a basic block somewhere in the code of the method.

ILDebugImports

Defines a set of opened namespace, type relevant to a code location. Emitted to the PortablePDB format.

ILDebugPoint

ILEnumInfo

Decompose a type definition according to its kind.

ILEventDef

Event definitions.

ILEventDefs

Table of those events in a type definition.

ILEventRef

A utility type provided for completeness

ILExceptionSpec

ILExportedTypeOrForwarder

these are only found in the ILExportedTypesAndForwarders table in the manifest

ILExportedTypesAndForwarders

ILFieldDef

Field definitions.

ILFieldDefs

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.

ILFieldRef

Formal identities of fields.

ILFieldSpec

Field specs. The data given for a ldfld, stfld etc. instruction.

ILGenericArgs

Actual generic parameters are always types.

ILGenericArgsList

ILGenericParameterDef

Generic parameters. Formal generic parameter declarations may include the bounds, if any, on the generic parameter.

ILGenericParameterDefs

ILGlobals

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.

ILGuid

Represents guids

ILLocal

Local variables

ILLocalDebugInfo

ILLocalDebugMapping

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.

ILLocals

ILLocalsAllocator

Helpers for codegen: scopes for allocating new temporary variables.

ILMethodBody

IL method bodies

ILMethodDef

IL Method definitions.

ILMethodDefs

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.

ILMethodImplDef

Method Impls

ILMethodImplDefs

ILMethodRef

Formal identities of methods.

ILMethodSpec

The information at the callsite of a method

ILModuleDef

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.

ILModuleRef

ILNestedExportedType

"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

ILNestedExportedTypes

ILParameter

Method parameters and return values.

ILParameters

ILPreTypeDef

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.

ILPreTypeDefImpl

ILPropertyDef

Property definitions

ILPropertyDefs

Table of properties in an IL type definition.

ILPropertyRef

A utility type provided for completeness

ILReferences

ILResource

 "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.

ILResources

Table of resources in a module.

ILReturn

Method return values.

ILSecurityDecls

Abstract type equivalent to ILSecurityDecl list - use helpers below to construct/destruct these.

ILSecurityDeclsStored

Represents the efficiency-oriented storage of ILSecurityDecls in another item.

ILSourceDocument

Debug info. Values of type "source" can be attached at sequence points and some other locations.

ILTypeDef

Represents IL Type Definitions.

ILTypeDefLayoutInfo

ILTypeDefStored

ILTypeDefs

Tables of named type definitions.

ILTypeRef

Type refs, i.e. references to types in some .NET assembly

ILTypeSpec

Type specs and types.

ILTypes

ILVarArgs

ILVersionInfo

PInvokeMethod

Functions and values

Function or value Description

NoMetadataIdx

Full Usage: NoMetadataIdx

Returns: int32
Returns: int32

PrimaryAssemblyILGlobals

Full Usage: PrimaryAssemblyILGlobals

Returns: ILGlobals
Returns: ILGlobals

addILTypeDef arg1 arg2

Full Usage: addILTypeDef arg1 arg2

Parameters:
Returns: ILTypeDefs
arg0 : ILTypeDef
arg1 : ILTypeDefs
Returns: ILTypeDefs

andTailness arg1 arg2

Full Usage: andTailness arg1 arg2

Parameters:
Returns: ILTailcall
arg0 : ILTailcall
arg1 : bool
Returns: ILTailcall

appendInstrsToCode arg1 arg2

Full Usage: appendInstrsToCode arg1 arg2

Parameters:
Returns: ILCode

Injecting code into existing code blocks. A branch will be added from the given instructions to the (unique) entry of the code, and the first instruction will be the new entry of the method. The instructions should be non-branching.

arg0 : ILInstr list
arg1 : ILCode
Returns: ILCode

appendInstrsToMethod arg1 arg2

Full Usage: appendInstrsToMethod arg1 arg2

Parameters:
Returns: ILMethodDef
arg0 : ILInstr list
arg1 : ILMethodDef
Returns: ILMethodDef

buildILCode arg1 lab2pc instrs arg4 arg5

Full Usage: buildILCode arg1 lab2pc instrs arg4 arg5

Parameters:
Returns: ILCode
arg0 : string
lab2pc : Dictionary<ILCodeLabel, int>
instrs : ILInstr[]
arg3 : ILExceptionSpec list
arg4 : ILLocalDebugInfo list
Returns: ILCode

compareILVersions arg1 arg2

Full Usage: compareILVersions arg1 arg2

Parameters:
Returns: int
arg0 : ILVersionInfo
arg1 : ILVersionInfo
Returns: int

computeILEnumInfo (arg1, arg2)

Full Usage: computeILEnumInfo (arg1, arg2)

Parameters:
Returns: ILEnumInfo
arg0 : string
arg1 : ILFieldDefs
Returns: ILEnumInfo

computeILRefs arg1 arg2

Full Usage: computeILRefs arg1 arg2

Parameters:
Returns: ILReferences

Find the full set of assemblies referenced by a module.

arg0 : ILGlobals
arg1 : ILModuleDef
Returns: ILReferences

decodeILAttribData arg1

Full Usage: decodeILAttribData arg1

Parameters:
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.

arg0 : ILAttribute
Returns: ILAttribElem list * ILAttributeNamedArg list

destILArrTy arg1

Full Usage: destILArrTy arg1

Parameters:
Returns: ILArrayShape * ILType
arg0 : ILType
Returns: ILArrayShape * ILType

destTypeDefsWithGlobalFunctionsFirst arg1 arg2

Full Usage: destTypeDefsWithGlobalFunctionsFirst arg1 arg2

Parameters:
Returns: ILTypeDef list

When writing a binary the fake "toplevel" type definition (called ) must come first. This function puts it first, and creates it in the returned list as an empty typedef if it doesn't already exist.

arg0 : ILGlobals
arg1 : ILTypeDefs
Returns: ILTypeDef list

ecmaPublicKey

Full Usage: ecmaPublicKey

Returns: PublicKey

This is a 'vendor neutral' way of referencing mscorlib.

Returns: PublicKey

emptyILCustomAttrs

Full Usage: emptyILCustomAttrs

Returns: ILAttributes
Returns: ILAttributes

emptyILEvents

Full Usage: emptyILEvents

Returns: ILEventDefs
Returns: ILEventDefs

emptyILFields

Full Usage: emptyILFields

Returns: ILFieldDefs
Returns: ILFieldDefs

emptyILMethodImpls

Full Usage: emptyILMethodImpls

Returns: ILMethodImplDefs
Returns: ILMethodImplDefs

emptyILMethods

Full Usage: emptyILMethods

Returns: ILMethodDefs
Returns: ILMethodDefs

emptyILProperties

Full Usage: emptyILProperties

Returns: ILPropertyDefs
Returns: ILPropertyDefs

emptyILRefs

Full Usage: emptyILRefs

Returns: ILReferences
Returns: ILReferences

emptyILResources

Full Usage: emptyILResources

Returns: ILResources
Returns: ILResources

emptyILSecurityDecls

Full Usage: emptyILSecurityDecls

Returns: ILSecurityDecls
Returns: ILSecurityDecls

emptyILTypeDefs

Full Usage: emptyILTypeDefs

Returns: ILTypeDefs
Returns: ILTypeDefs

formatCodeLabel arg1

Full Usage: formatCodeLabel arg1

Parameters:
Returns: string
arg0 : ILCodeLabel
Returns: string

formatILVersion arg1

Full Usage: formatILVersion arg1

Parameters:
Returns: string
arg0 : ILVersionInfo
Returns: string

generateCodeLabel ()

Full Usage: generateCodeLabel ()

Parameters:
    () : unit

Returns: ILCodeLabel

Making code.

() : unit
Returns: ILCodeLabel

getCustomAttrData arg1

Full Usage: getCustomAttrData arg1

Parameters:
Returns: byte[]
arg0 : ILAttribute
Returns: byte[]

getTyOfILEnumInfo arg1

Full Usage: getTyOfILEnumInfo arg1

Parameters:
Returns: ILType
arg0 : ILEnumInfo
Returns: ILType

instILType arg1 arg2

Full Usage: instILType arg1 arg2

Parameters:
Returns: ILType

Instantiate type variables that occur within types and other items.

arg0 : ILGenericArgs
arg1 : ILType
Returns: ILType

instILTypeAux arg1 arg2 arg3

Full Usage: instILTypeAux arg1 arg2 arg3

Parameters:
Returns: ILType

Instantiate type variables that occur within types and other items.

arg0 : int
arg1 : ILGenericArgs
arg2 : ILType
Returns: ILType

isILArrTy arg1

Full Usage: isILArrTy arg1

Parameters:
Returns: bool
arg0 : ILType
Returns: bool

isILBoolTy arg1 arg2

Full Usage: isILBoolTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILByteTy arg1 arg2

Full Usage: isILByteTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILCharTy arg1 arg2

Full Usage: isILCharTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILDoubleTy arg1 arg2

Full Usage: isILDoubleTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILInt16Ty arg1 arg2

Full Usage: isILInt16Ty arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILInt32Ty arg1 arg2

Full Usage: isILInt32Ty arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILInt64Ty arg1 arg2

Full Usage: isILInt64Ty arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILIntPtrTy arg1 arg2

Full Usage: isILIntPtrTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILObjectTy arg1 arg2

Full Usage: isILObjectTy arg1 arg2

Parameters:
Returns: bool

Discriminating different important built-in types.

arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILSByteTy arg1 arg2

Full Usage: isILSByteTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILSingleTy arg1 arg2

Full Usage: isILSingleTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILStringTy arg1 arg2

Full Usage: isILStringTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILTypedReferenceTy arg1 arg2

Full Usage: isILTypedReferenceTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILUInt16Ty arg1 arg2

Full Usage: isILUInt16Ty arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILUInt32Ty arg1 arg2

Full Usage: isILUInt32Ty arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILUInt64Ty arg1 arg2

Full Usage: isILUInt64Ty arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isILUIntPtrTy arg1 arg2

Full Usage: isILUIntPtrTy arg1 arg2

Parameters:
Returns: bool
arg0 : ILGlobals
arg1 : ILType
Returns: bool

isTypeNameForGlobalFunctions arg1

Full Usage: isTypeNameForGlobalFunctions arg1

Parameters:
    arg0 : string

Returns: bool
arg0 : string
Returns: bool

methBodyAbstract

Full Usage: methBodyAbstract

Returns: InterruptibleLazy<MethodBody>
Returns: InterruptibleLazy<MethodBody>

methBodyNative

Full Usage: methBodyNative

Returns: InterruptibleLazy<MethodBody>
Returns: InterruptibleLazy<MethodBody>

methBodyNotAvailable

Full Usage: methBodyNotAvailable

Returns: InterruptibleLazy<MethodBody>
Returns: InterruptibleLazy<MethodBody>

mkCallBaseConstructor (arg1, arg2)

Full Usage: mkCallBaseConstructor (arg1, arg2)

Parameters:
Returns: ILInstr list
arg0 : ILType
arg1 : ILType list
Returns: ILInstr list

mkCtorMethSpecForDelegate arg1 (arg2, arg3)

Full Usage: mkCtorMethSpecForDelegate arg1 (arg2, arg3)

Parameters:
Returns: ILMethodSpec

Given a delegate type definition which lies in a particular scope, make a reference to its constructor.

arg0 : ILGlobals
arg1 : ILType
arg2 : bool
Returns: ILMethodSpec

mkILArr1DTy arg1

Full Usage: mkILArr1DTy arg1

Parameters:
Returns: ILType
arg0 : ILType
Returns: ILType

mkILArrTy (arg1, arg2)

Full Usage: mkILArrTy (arg1, arg2)

Parameters:
Returns: ILType
arg0 : ILType
arg1 : ILArrayShape
Returns: ILType

mkILBoxedTy arg1 arg2

Full Usage: mkILBoxedTy arg1 arg2

Parameters:
Returns: ILType
arg0 : ILTypeRef
arg1 : ILGenericArgsList
Returns: ILType

mkILBoxedType arg1

Full Usage: mkILBoxedType arg1

Parameters:
Returns: ILType
arg0 : ILTypeSpec
Returns: ILType

mkILCallSig (arg1, arg2, arg3)

Full Usage: mkILCallSig (arg1, arg2, arg3)

Parameters:
Returns: ILCallingSignature
arg0 : ILCallingConv
arg1 : ILType list
arg2 : ILType
Returns: ILCallingSignature

mkILClassCtor arg1

Full Usage: mkILClassCtor arg1

Parameters:
Returns: ILMethodDef
arg0 : MethodBody
Returns: ILMethodDef

mkILCtor (arg1, arg2, arg3)

Full Usage: mkILCtor (arg1, arg2, arg3)

Parameters:
Returns: ILMethodDef
arg0 : ILMemberAccess
arg1 : ILParameter list
arg2 : MethodBody
Returns: ILMethodDef

mkILCtorMethSpecForTy (arg1, arg2)

Full Usage: mkILCtorMethSpecForTy (arg1, arg2)

Parameters:
Returns: ILMethodSpec

Construct references to constructors.

arg0 : ILType
arg1 : ILType list
Returns: ILMethodSpec

mkILCustomAttribMethRef (arg1, arg2, arg3)

Full Usage: mkILCustomAttribMethRef (arg1, arg2, arg3)

Parameters:
Returns: ILAttribute

Make custom attributes.

arg0 : ILMethodSpec
arg1 : ILAttribElem list
arg2 : ILAttributeNamedArg list
Returns: ILAttribute

mkILCustomAttribute (arg1, arg2, arg3, arg4)

Full Usage: mkILCustomAttribute (arg1, arg2, arg3, arg4)

Parameters:
Returns: ILAttribute
arg0 : ILTypeRef
arg1 : ILType list
arg2 : ILAttribElem list
arg3 : ILAttributeNamedArg list
Returns: ILAttribute

mkILCustomAttrs arg1

Full Usage: mkILCustomAttrs arg1

Parameters:
Returns: ILAttributes

Making tables of custom attributes, etc.

arg0 : ILAttribute list
Returns: ILAttributes

mkILCustomAttrsFromArray arg1

Full Usage: mkILCustomAttrsFromArray arg1

Parameters:
Returns: ILAttributes
arg0 : ILAttribute[]
Returns: ILAttributes

mkILCustomAttrsReader arg1

Full Usage: mkILCustomAttrsReader arg1

Parameters:
Returns: ILAttributesStored
arg0 : int32 -> ILAttribute[]
Returns: ILAttributesStored

mkILDelegateMethods arg1 arg2 (arg3, arg4) (arg5, arg6)

Full Usage: mkILDelegateMethods arg1 arg2 (arg3, arg4) (arg5, arg6)

Parameters:
Returns: ILMethodDef list
arg0 : ILMemberAccess
arg1 : ILGlobals
arg2 : ILType
arg3 : ILType
arg4 : ILParameter list
arg5 : ILReturn
Returns: ILMethodDef list

mkILEmptyGenericParams

Full Usage: mkILEmptyGenericParams

Returns: ILGenericParameterDefs

Make a formal generic parameters.

Returns: ILGenericParameterDefs

mkILEvents arg1

Full Usage: mkILEvents arg1

Parameters:
Returns: ILEventDefs
arg0 : ILEventDef list
Returns: ILEventDefs

mkILEventsLazy arg1

Full Usage: mkILEventsLazy arg1

Parameters:
Returns: ILEventDefs
arg0 : InterruptibleLazy<ILEventDef list>
Returns: ILEventDefs

mkILExportedTypes arg1

Full Usage: mkILExportedTypes arg1

Parameters:
Returns: ILExportedTypesAndForwarders
arg0 : ILExportedTypeOrForwarder list
Returns: ILExportedTypesAndForwarders

mkILExportedTypesLazy arg1

Full Usage: mkILExportedTypesLazy arg1

Parameters:
Returns: ILExportedTypesAndForwarders
arg0 : Lazy<ILExportedTypeOrForwarder list>
Returns: ILExportedTypesAndForwarders

mkILFieldRef (arg1, arg2, arg3)

Full Usage: mkILFieldRef (arg1, arg2, arg3)

Parameters:
Returns: ILFieldRef

Construct references to fields.

arg0 : ILTypeRef
arg1 : string
arg2 : ILType
Returns: ILFieldRef

mkILFieldSpec (arg1, arg2)

Full Usage: mkILFieldSpec (arg1, arg2)

Parameters:
Returns: ILFieldSpec
arg0 : ILFieldRef
arg1 : ILType
Returns: ILFieldSpec

mkILFieldSpecInTy (arg1, arg2, arg3)

Full Usage: mkILFieldSpecInTy (arg1, arg2, arg3)

Parameters:
Returns: ILFieldSpec
arg0 : ILType
arg1 : string
arg2 : ILType
Returns: ILFieldSpec

mkILFields arg1

Full Usage: mkILFields arg1

Parameters:
Returns: ILFieldDefs
arg0 : ILFieldDef list
Returns: ILFieldDefs

mkILFieldsLazy arg1

Full Usage: mkILFieldsLazy arg1

Parameters:
Returns: ILFieldDefs
arg0 : InterruptibleLazy<ILFieldDef list>
Returns: ILFieldDefs

mkILFormalBoxedTy arg1 arg2

Full Usage: mkILFormalBoxedTy arg1 arg2

Parameters:
Returns: ILType

Make generalized versions of possibly-generic types, e.g. Given the ILTypeDef for List, return the type "List".

arg0 : ILTypeRef
arg1 : ILGenericParameterDef list
Returns: ILType

mkILFormalGenericArgs arg1 arg2

Full Usage: mkILFormalGenericArgs arg1 arg2

Parameters:
Returns: ILGenericArgsList
arg0 : int
arg1 : ILGenericParameterDefs
Returns: ILGenericArgsList

mkILFormalNamedTy arg1 arg2 arg3

Full Usage: mkILFormalNamedTy arg1 arg2 arg3

Parameters:
Returns: ILType
arg0 : ILBoxity
arg1 : ILTypeRef
arg2 : ILGenericParameterDef list
Returns: ILType

mkILFormalTypars arg1

Full Usage: mkILFormalTypars arg1

Parameters:
Returns: ILGenericParameterDefs
arg0 : ILType list
Returns: ILGenericParameterDefs

mkILGenericClass (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)

Full Usage: mkILGenericClass (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)

Parameters:
Returns: ILTypeDef

Make a type definition.

arg0 : 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

mkILGenericNonVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkILGenericNonVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: ILMethodDef
arg0 : string
arg1 : ILMemberAccess
arg2 : ILGenericParameterDefs
arg3 : ILParameter list
arg4 : ILReturn
arg5 : MethodBody
Returns: ILMethodDef

mkILGenericVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Full Usage: mkILGenericVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Parameters:
Returns: ILMethodDef
arg0 : string
arg1 : ILCallingConv
arg2 : ILMemberAccess
arg3 : ILGenericParameterDefs
arg4 : ILParameter list
arg5 : ILReturn
arg6 : MethodBody
Returns: ILMethodDef

mkILGlobals (primaryScopeRef, equivPrimaryAssemblyRefs, fsharpCoreAssemblyScopeRef)

Full Usage: mkILGlobals (primaryScopeRef, equivPrimaryAssemblyRefs, fsharpCoreAssemblyScopeRef)

Parameters:
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
primaryScopeRef : ILScopeRef
equivPrimaryAssemblyRefs : ILAssemblyRef list
fsharpCoreAssemblyScopeRef : ILScopeRef
Returns: ILGlobals

mkILInstanceField (arg1, arg2, arg3, arg4)

Full Usage: mkILInstanceField (arg1, arg2, arg3, arg4)

Parameters:
Returns: ILFieldDef

Make field definitions.

arg0 : string
arg1 : ILType
arg2 : ILFieldInit option
arg3 : ILMemberAccess
Returns: ILFieldDef

mkILInstanceMethSpecInTy (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILInstanceMethSpecInTy (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILMethodSpec

Construct references to instance methods.

arg0 : ILType
arg1 : string
arg2 : ILType list
arg3 : ILType
arg4 : ILGenericArgsList
Returns: ILMethodSpec

mkILLiteralField (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILLiteralField (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILFieldDef
arg0 : string
arg1 : ILType
arg2 : ILFieldInit
arg3 : byte[] option
arg4 : ILMemberAccess
Returns: ILFieldDef

mkILLocal arg1 arg2

Full Usage: mkILLocal arg1 arg2

Parameters:
    arg0 : ILType
    arg1 : (string * int * int) option

Returns: ILLocal
arg0 : ILType
arg1 : (string * int * int) option
Returns: ILLocal

mkILMethRef (arg1, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkILMethRef (arg1, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: ILMethodRef

Make method references and specs.

arg0 : ILTypeRef
arg1 : ILCallingConv
arg2 : string
arg3 : int
arg4 : ILType list
arg5 : ILType
Returns: ILMethodRef

mkILMethSpec (arg1, arg2, arg3, arg4)

Full Usage: mkILMethSpec (arg1, arg2, arg3, arg4)

Parameters:
Returns: ILMethodSpec
arg0 : ILMethodRef
arg1 : ILBoxity
arg2 : ILGenericArgsList
arg3 : ILGenericArgsList
Returns: ILMethodSpec

mkILMethSpecForMethRefInTy (arg1, arg2, arg3)

Full Usage: mkILMethSpecForMethRefInTy (arg1, arg2, arg3)

Parameters:
Returns: ILMethodSpec
arg0 : ILMethodRef
arg1 : ILType
arg2 : ILGenericArgsList
Returns: ILMethodSpec

mkILMethSpecInTy (arg1, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkILMethSpecInTy (arg1, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: ILMethodSpec
arg0 : ILType
arg1 : ILCallingConv
arg2 : string
arg3 : ILType list
arg4 : ILType
arg5 : ILGenericArgsList
Returns: ILMethodSpec

mkILMethodBody (initlocals, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkILMethodBody (initlocals, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: ILMethodBody

Make method definitions.

initlocals : bool
arg1 : ILLocals
arg2 : int
arg3 : ILCode
arg4 : ILDebugPoint option
arg5 : ILDebugImports option
Returns: ILMethodBody

mkILMethodImpls arg1

Full Usage: mkILMethodImpls arg1

Parameters:
Returns: ILMethodImplDefs
arg0 : ILMethodImplDef list
Returns: ILMethodImplDefs

mkILMethodImplsLazy arg1

Full Usage: mkILMethodImplsLazy arg1

Parameters:
Returns: ILMethodImplDefs
arg0 : Lazy<ILMethodImplDef list>
Returns: ILMethodImplDefs

mkILMethods arg1

Full Usage: mkILMethods arg1

Parameters:
Returns: ILMethodDefs
arg0 : ILMethodDef list
Returns: ILMethodDefs

mkILMethodsComputed arg1

Full Usage: mkILMethodsComputed arg1

Parameters:
Returns: ILMethodDefs
arg0 : unit -> ILMethodDef[]
Returns: ILMethodDefs

mkILMethodsFromArray arg1

Full Usage: mkILMethodsFromArray arg1

Parameters:
Returns: ILMethodDefs
arg0 : ILMethodDef[]
Returns: ILMethodDefs

mkILNamedTy arg1 arg2 arg3

Full Usage: mkILNamedTy arg1 arg2 arg3

Parameters:
Returns: ILType
arg0 : ILBoxity
arg1 : ILTypeRef
arg2 : ILGenericArgsList
Returns: ILType

mkILNestedExportedTypes arg1

Full Usage: mkILNestedExportedTypes arg1

Parameters:
Returns: ILNestedExportedTypes
arg0 : ILNestedExportedType list
Returns: ILNestedExportedTypes

mkILNestedExportedTypesLazy arg1

Full Usage: mkILNestedExportedTypesLazy arg1

Parameters:
Returns: ILNestedExportedTypes
arg0 : Lazy<ILNestedExportedType list>
Returns: ILNestedExportedTypes

mkILNestedTyRef (arg1, arg2, arg3)

Full Usage: mkILNestedTyRef (arg1, arg2, arg3)

Parameters:
    arg0 : ILScopeRef
    arg1 : string list
    arg2 : string

Returns: ILTypeRef

Make type refs.

arg0 : ILScopeRef
arg1 : string list
arg2 : string
Returns: ILTypeRef

mkILNonGenericBoxedTy arg1

Full Usage: mkILNonGenericBoxedTy arg1

Parameters:
Returns: ILType
arg0 : ILTypeRef
Returns: ILType

mkILNonGenericCtorMethSpec (arg1, arg2)

Full Usage: mkILNonGenericCtorMethSpec (arg1, arg2)

Parameters:
Returns: ILMethodSpec
arg0 : ILTypeRef
arg1 : ILType list
Returns: ILMethodSpec

mkILNonGenericEmptyCtor (arg1, arg2, arg3)

Full Usage: mkILNonGenericEmptyCtor (arg1, arg2, arg3)

Parameters:
Returns: ILMethodDef
arg0 : ILType
arg1 : ILDebugPoint option
arg2 : ILDebugImports option
Returns: ILMethodDef

mkILNonGenericInstanceMethSpecInTy (arg1, arg2, arg3, arg4)

Full Usage: mkILNonGenericInstanceMethSpecInTy (arg1, arg2, arg3, arg4)

Parameters:
Returns: ILMethodSpec

Construct references to instance methods.

arg0 : ILType
arg1 : string
arg2 : ILType list
arg3 : ILType
Returns: ILMethodSpec

mkILNonGenericInstanceMethod (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILNonGenericInstanceMethod (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILMethodDef
arg0 : string
arg1 : ILMemberAccess
arg2 : ILParameter list
arg3 : ILReturn
arg4 : MethodBody
Returns: ILMethodDef

mkILNonGenericMethSpecInTy (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILNonGenericMethSpecInTy (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILMethodSpec

Construct references to methods on a given type .

arg0 : ILType
arg1 : ILCallingConv
arg2 : string
arg3 : ILType list
arg4 : ILType
Returns: ILMethodSpec

mkILNonGenericStaticMethSpecInTy (arg1, arg2, arg3, arg4)

Full Usage: mkILNonGenericStaticMethSpecInTy (arg1, arg2, arg3, arg4)

Parameters:
Returns: ILMethodSpec

Construct references to static, non-generic methods.

arg0 : ILType
arg1 : string
arg2 : ILType list
arg3 : ILType
Returns: ILMethodSpec

mkILNonGenericStaticMethod (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILNonGenericStaticMethod (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILMethodDef
arg0 : string
arg1 : ILMemberAccess
arg2 : ILParameter list
arg3 : ILReturn
arg4 : MethodBody
Returns: ILMethodDef

mkILNonGenericTySpec arg1

Full Usage: mkILNonGenericTySpec arg1

Parameters:
Returns: ILTypeSpec

Make type specs.

arg0 : ILTypeRef
Returns: ILTypeSpec

mkILNonGenericValueTy arg1

Full Usage: mkILNonGenericValueTy arg1

Parameters:
Returns: ILType
arg0 : ILTypeRef
Returns: ILType

mkILNonGenericVirtualInstanceMethod (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILNonGenericVirtualInstanceMethod (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILMethodDef
arg0 : string
arg1 : ILMemberAccess
arg2 : ILParameter list
arg3 : ILReturn
arg4 : MethodBody
Returns: ILMethodDef

mkILNonGenericVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkILNonGenericVirtualMethod (arg1, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: ILMethodDef
arg0 : string
arg1 : ILCallingConv
arg2 : ILMemberAccess
arg3 : ILParameter list
arg4 : ILReturn
arg5 : MethodBody
Returns: ILMethodDef

mkILParam (arg1, arg2)

Full Usage: mkILParam (arg1, arg2)

Parameters:
    arg0 : string option
    arg1 : ILType

Returns: ILParameter

Derived functions for making return, parameter and local variable objects for use in method definitions.

arg0 : string option
arg1 : ILType
Returns: ILParameter

mkILParamAnon arg1

Full Usage: mkILParamAnon arg1

Parameters:
Returns: ILParameter
arg0 : ILType
Returns: ILParameter

mkILParamNamed (arg1, arg2)

Full Usage: mkILParamNamed (arg1, arg2)

Parameters:
Returns: ILParameter
arg0 : string
arg1 : ILType
Returns: ILParameter

mkILPreTypeDef arg1

Full Usage: mkILPreTypeDef arg1

Parameters:
Returns: ILPreTypeDef
arg0 : ILTypeDef
Returns: ILPreTypeDef

mkILPreTypeDefComputed (arg1, arg2, arg3)

Full Usage: mkILPreTypeDefComputed (arg1, arg2, arg3)

Parameters:
    arg0 : string list
    arg1 : string
    arg2 : unit -> ILTypeDef

Returns: ILPreTypeDef
arg0 : string list
arg1 : string
arg2 : unit -> ILTypeDef
Returns: ILPreTypeDef

mkILPreTypeDefRead (arg1, arg2, arg3, arg4)

Full Usage: mkILPreTypeDefRead (arg1, arg2, arg3, arg4)

Parameters:
Returns: ILPreTypeDef
arg0 : string list
arg1 : string
arg2 : int32
arg3 : ILTypeDefStored
Returns: ILPreTypeDef

mkILProperties arg1

Full Usage: mkILProperties arg1

Parameters:
Returns: ILPropertyDefs
arg0 : ILPropertyDef list
Returns: ILPropertyDefs

mkILPropertiesLazy arg1

Full Usage: mkILPropertiesLazy arg1

Parameters:
Returns: ILPropertyDefs
arg0 : InterruptibleLazy<ILPropertyDef list>
Returns: ILPropertyDefs

mkILResources arg1

Full Usage: mkILResources arg1

Parameters:
Returns: ILResources
arg0 : ILResource list
Returns: ILResources

mkILReturn arg1

Full Usage: mkILReturn arg1

Parameters:
Returns: ILReturn
arg0 : ILType
Returns: ILReturn

mkILSecurityDecls arg1

Full Usage: mkILSecurityDecls arg1

Parameters:
Returns: ILSecurityDecls
arg0 : ILSecurityDecl list
Returns: ILSecurityDecls

mkILSecurityDeclsReader arg1

Full Usage: mkILSecurityDeclsReader arg1

Parameters:
Returns: ILSecurityDeclsStored
arg0 : int32 -> ILSecurityDecl[]
Returns: ILSecurityDeclsStored

mkILSimpleClass arg1 (arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)

Full Usage: mkILSimpleClass arg1 (arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)

Parameters:
Returns: ILTypeDef
arg0 : ILGlobals
arg1 : string
arg2 : ILTypeDefAccess
arg3 : ILMethodDefs
arg4 : ILFieldDefs
arg5 : ILTypeDefs
arg6 : ILPropertyDefs
arg7 : ILEventDefs
arg8 : ILAttributes
arg9 : ILTypeInit
Returns: ILTypeDef

mkILSimpleModule assemblyName moduleName dll subsystemVersion useHighEntropyVA arg6 arg7 arg8 arg9 arg10 arg11

Full Usage: mkILSimpleModule assemblyName moduleName dll subsystemVersion useHighEntropyVA arg6 arg7 arg8 arg9 arg10 arg11

Parameters:
    assemblyName : 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.

assemblyName : 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

mkILSimpleStorageCtor (arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Full Usage: mkILSimpleStorageCtor (arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Parameters:
Returns: ILMethodDef
arg0 : ILTypeSpec option
arg1 : ILType
arg2 : ILParameter list
arg3 : (string * ILType) list
arg4 : ILMemberAccess
arg5 : ILDebugPoint option
arg6 : ILDebugImports option
Returns: ILMethodDef

mkILSimpleStorageCtorWithParamNames (arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Full Usage: mkILSimpleStorageCtorWithParamNames (arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Parameters:
Returns: ILMethodDef
arg0 : ILTypeSpec option
arg1 : ILType
arg2 : ILParameter list
arg3 : (string * string * ILType) list
arg4 : ILMemberAccess
arg5 : ILDebugPoint option
arg6 : ILDebugImports option
Returns: ILMethodDef

mkILSimpleTypar arg1

Full Usage: mkILSimpleTypar arg1

Parameters:
    arg0 : string

Returns: ILGenericParameterDef
arg0 : string
Returns: ILGenericParameterDef

mkILStaticField (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILStaticField (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILFieldDef
arg0 : string
arg1 : ILType
arg2 : ILFieldInit option
arg3 : byte[] option
arg4 : ILMemberAccess
Returns: ILFieldDef

mkILStaticLiteralField (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILStaticLiteralField (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILFieldDef
arg0 : string
arg1 : ILType
arg2 : ILFieldInit
arg3 : byte[] option
arg4 : ILMemberAccess
Returns: ILFieldDef

mkILStaticMethSpecInTy (arg1, arg2, arg3, arg4, arg5)

Full Usage: mkILStaticMethSpecInTy (arg1, arg2, arg3, arg4, arg5)

Parameters:
Returns: ILMethodSpec

Construct references to static methods.

arg0 : ILType
arg1 : string
arg2 : ILType list
arg3 : ILType
arg4 : ILGenericArgsList
Returns: ILMethodSpec

mkILStaticMethod (arg1, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkILStaticMethod (arg1, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: ILMethodDef
arg0 : ILGenericParameterDefs
arg1 : string
arg2 : ILMemberAccess
arg3 : ILParameter list
arg4 : ILReturn
arg5 : MethodBody
Returns: ILMethodDef

mkILStorageCtor (arg1, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkILStorageCtor (arg1, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: ILMethodDef

Derived functions for making some simple constructors

arg0 : ILInstr list
arg1 : ILType
arg2 : (string * ILType) list
arg3 : ILMemberAccess
arg4 : ILDebugPoint option
arg5 : ILDebugImports option
Returns: ILMethodDef

mkILTy arg1 arg2

Full Usage: mkILTy arg1 arg2

Parameters:
Returns: ILType

Make types.

arg0 : ILBoxity
arg1 : ILTypeSpec
Returns: ILType

mkILTyRef (arg1, arg2)

Full Usage: mkILTyRef (arg1, arg2)

Parameters:
Returns: ILTypeRef
arg0 : ILScopeRef
arg1 : string
Returns: ILTypeRef

mkILTyRefInTyRef (arg1, arg2)

Full Usage: mkILTyRefInTyRef (arg1, arg2)

Parameters:
Returns: ILTypeRef
arg0 : ILTypeRef
arg1 : string
Returns: ILTypeRef

mkILTySpec (arg1, arg2)

Full Usage: mkILTySpec (arg1, arg2)

Parameters:
Returns: ILTypeSpec
arg0 : ILTypeRef
arg1 : ILGenericArgsList
Returns: ILTypeSpec

mkILTypeDefForGlobalFunctions arg1 (arg2, arg3)

Full Usage: mkILTypeDefForGlobalFunctions arg1 (arg2, arg3)

Parameters:
Returns: ILTypeDef
arg0 : ILGlobals
arg1 : ILMethodDefs
arg2 : ILFieldDefs
Returns: ILTypeDef

mkILTypeDefReader arg1

Full Usage: mkILTypeDefReader arg1

Parameters:
Returns: ILTypeDefStored
arg0 : int32 -> ILTypeDef
Returns: ILTypeDefStored

mkILTypeDefs arg1

Full Usage: mkILTypeDefs arg1

Parameters:
Returns: ILTypeDefs
arg0 : ILTypeDef list
Returns: ILTypeDefs

mkILTypeDefsComputed arg1

Full Usage: mkILTypeDefsComputed arg1

Parameters:
Returns: ILTypeDefs

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.

arg0 : unit -> ILPreTypeDef[]
Returns: ILTypeDefs

mkILTypeDefsFromArray arg1

Full Usage: mkILTypeDefsFromArray arg1

Parameters:
Returns: ILTypeDefs
arg0 : ILTypeDef[]
Returns: ILTypeDefs

mkILTypeForGlobalFunctions arg1

Full Usage: mkILTypeForGlobalFunctions arg1

Parameters:
Returns: ILType

The toplevel "class" for a module or assembly.

arg0 : ILScopeRef
Returns: ILType

mkILTyvarTy arg1

Full Usage: mkILTyvarTy arg1

Parameters:
    arg0 : uint16

Returns: ILType
arg0 : uint16
Returns: ILType

mkILValueTy arg1 arg2

Full Usage: mkILValueTy arg1 arg2

Parameters:
Returns: ILType
arg0 : ILTypeRef
arg1 : ILGenericArgsList
Returns: ILType

mkLdarg arg1

Full Usage: mkLdarg arg1

Parameters:
    arg0 : uint16

Returns: ILInstr
arg0 : uint16
Returns: ILInstr

mkLdarg0

Full Usage: mkLdarg0

Returns: ILInstr
Returns: ILInstr

mkLdcInt32 arg1

Full Usage: mkLdcInt32 arg1

Parameters:
    arg0 : int32

Returns: ILInstr
arg0 : int32
Returns: ILInstr

mkLdloc arg1

Full Usage: mkLdloc arg1

Parameters:
    arg0 : uint16

Returns: ILInstr
arg0 : uint16
Returns: ILInstr

mkMethodBody (arg1, arg2, arg3, arg4, arg5, arg6)

Full Usage: mkMethodBody (arg1, arg2, arg3, arg4, arg5, arg6)

Parameters:
Returns: MethodBody
arg0 : bool
arg1 : ILLocals
arg2 : int
arg3 : ILCode
arg4 : ILDebugPoint option
arg5 : ILDebugImports option
Returns: MethodBody

mkNormalCall arg1

Full Usage: mkNormalCall arg1

Parameters:
Returns: ILInstr

Derived functions for making some common patterns of instructions.

arg0 : ILMethodSpec
Returns: ILInstr

mkNormalCallvirt arg1

Full Usage: mkNormalCallvirt arg1

Parameters:
Returns: ILInstr
arg0 : ILMethodSpec
Returns: ILInstr

mkNormalLdfld arg1

Full Usage: mkNormalLdfld arg1

Parameters:
Returns: ILInstr
arg0 : ILFieldSpec
Returns: ILInstr

mkNormalLdflda arg1

Full Usage: mkNormalLdflda arg1

Parameters:
Returns: ILInstr
arg0 : ILFieldSpec
Returns: ILInstr

mkNormalLdobj arg1

Full Usage: mkNormalLdobj arg1

Parameters:
Returns: ILInstr
arg0 : ILType
Returns: ILInstr

mkNormalLdsfld arg1

Full Usage: mkNormalLdsfld arg1

Parameters:
Returns: ILInstr
arg0 : ILFieldSpec
Returns: ILInstr

mkNormalNewobj arg1

Full Usage: mkNormalNewobj arg1

Parameters:
Returns: ILInstr
arg0 : ILMethodSpec
Returns: ILInstr

mkNormalStfld arg1

Full Usage: mkNormalStfld arg1

Parameters:
Returns: ILInstr
arg0 : ILFieldSpec
Returns: ILInstr

mkNormalStobj arg1

Full Usage: mkNormalStobj arg1

Parameters:
Returns: ILInstr
arg0 : ILType
Returns: ILInstr

mkNormalStsfld arg1

Full Usage: mkNormalStsfld arg1

Parameters:
Returns: ILInstr
arg0 : ILFieldSpec
Returns: ILInstr

mkPermissionSet (arg1, arg2)

Full Usage: mkPermissionSet (arg1, arg2)

Parameters:
Returns: ILSecurityDecl
arg0 : ILSecurityAction
arg1 : (ILTypeRef * (string * ILType * ILAttribElem) list) list
Returns: ILSecurityDecl

mkRawDataValueTypeDef arg1 (arg2, size, pack)

Full Usage: mkRawDataValueTypeDef arg1 (arg2, size, pack)

Parameters:
    arg0 : ILType
    arg1 : string
    size : int32
    pack : uint16

Returns: ILTypeDef
 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 ''/'$$struct0x6000127-1' ''::'$$method0x6000127-1'
   call       void System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class System.Array,valuetype System.RuntimeFieldHandle)
 idiom.
arg0 : ILType
arg1 : string
size : int32
pack : uint16
Returns: ILTypeDef

mkRefForILField arg1 (arg2, arg3) arg4

Full Usage: mkRefForILField arg1 (arg2, arg3) arg4

Parameters:
Returns: ILFieldRef
arg0 : ILScopeRef
arg1 : ILTypeDef list
arg2 : ILTypeDef
arg3 : ILFieldDef
Returns: ILFieldRef

mkRefForILMethod arg1 (arg2, arg3) arg4

Full Usage: mkRefForILMethod arg1 (arg2, arg3) arg4

Parameters:
Returns: ILMethodRef
arg0 : ILScopeRef
arg1 : ILTypeDef list
arg2 : ILTypeDef
arg3 : ILMethodDef
Returns: ILMethodRef

mkRefForNestedILTypeDef arg1 (arg2, arg3)

Full Usage: mkRefForNestedILTypeDef arg1 (arg2, arg3)

Parameters:
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.

arg0 : ILScopeRef
arg1 : ILTypeDef list
arg2 : ILTypeDef
Returns: ILTypeRef

mkRefToILAssembly arg1

Full Usage: mkRefToILAssembly arg1

Parameters:
Returns: ILAssemblyRef
arg0 : ILAssemblyManifest
Returns: ILAssemblyRef

mkRefToILField (arg1, arg2)

Full Usage: mkRefToILField (arg1, arg2)

Parameters:
Returns: ILFieldRef
arg0 : ILTypeRef
arg1 : ILFieldDef
Returns: ILFieldRef

mkRefToILMethod (arg1, arg2)

Full Usage: mkRefToILMethod (arg1, arg2)

Parameters:
Returns: ILMethodRef
arg0 : ILTypeRef
arg1 : ILMethodDef
Returns: ILMethodRef

mkRefToILModule arg1

Full Usage: mkRefToILModule arg1

Parameters:
Returns: ILModuleRef
arg0 : ILModuleDef
Returns: ILModuleRef

mkSimpleAssemblyRef arg1

Full Usage: mkSimpleAssemblyRef arg1

Parameters:
    arg0 : string

Returns: ILAssemblyRef

Generate simple references to assemblies and modules.

arg0 : string
Returns: ILAssemblyRef

mkSimpleModRef arg1

Full Usage: mkSimpleModRef arg1

Parameters:
    arg0 : string

Returns: ILModuleRef
arg0 : string
Returns: ILModuleRef

mkStloc arg1

Full Usage: mkStloc arg1

Parameters:
    arg0 : uint16

Returns: ILInstr
arg0 : uint16
Returns: ILInstr

mkTypeForwarder arg1 arg2 arg3 arg4 arg5

Full Usage: mkTypeForwarder arg1 arg2 arg3 arg4 arg5

Parameters:
Returns: ILExportedTypeOrForwarder
arg0 : ILScopeRef
arg1 : string
arg2 : ILNestedExportedTypes
arg3 : ILAttributes
arg4 : ILTypeDefAccess
Returns: ILExportedTypeOrForwarder

nonBranchingInstrsToCode arg1

Full Usage: nonBranchingInstrsToCode arg1

Parameters:
Returns: ILCode

Make some code that is a straight line sequence of instructions. The function will add a "return" if the last instruction is not an exiting instruction.

arg0 : ILInstr list
Returns: ILCode

parseILVersion arg1

Full Usage: parseILVersion arg1

Parameters:
    arg0 : string

Returns: ILVersionInfo

Get a version number from a CLR version string, e.g. 1.0.3705.0

arg0 : string
Returns: ILVersionInfo

prependInstrsToClassCtor arg1 arg2 arg3 arg4

Full Usage: prependInstrsToClassCtor arg1 arg2 arg3 arg4

Parameters:
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.

arg0 : ILInstr list
arg1 : ILDebugPoint option
arg2 : ILDebugImports option
arg3 : ILTypeDef
Returns: ILTypeDef

prependInstrsToCode arg1 arg2

Full Usage: prependInstrsToCode arg1 arg2

Parameters:
Returns: ILCode
arg0 : ILInstr list
arg1 : ILCode
Returns: ILCode

prependInstrsToMethod arg1 arg2

Full Usage: prependInstrsToMethod arg1 arg2

Parameters:
Returns: ILMethodDef
arg0 : ILInstr list
arg1 : ILMethodDef
Returns: ILMethodDef

rescopeILFieldRef arg1 arg2

Full Usage: rescopeILFieldRef arg1 arg2

Parameters:
Returns: ILFieldRef

Rescoping. The first argument indicates how to reference the original scope from the new scope.

arg0 : ILScopeRef
arg1 : ILFieldRef
Returns: ILFieldRef

rescopeILMethodRef arg1 arg2

Full Usage: rescopeILMethodRef arg1 arg2

Parameters:
Returns: ILMethodRef

Rescoping. The first argument indicates how to reference the original scope from the new scope.

arg0 : ILScopeRef
arg1 : ILMethodRef
Returns: ILMethodRef

rescopeILScopeRef arg1 arg2

Full Usage: rescopeILScopeRef arg1 arg2

Parameters:
Returns: ILScopeRef

Rescoping. The first argument indicates how to reference the original scope from the new scope.

arg0 : ILScopeRef
arg1 : ILScopeRef
Returns: ILScopeRef

rescopeILType arg1 arg2

Full Usage: rescopeILType arg1 arg2

Parameters:
Returns: ILType

Rescoping. The first argument indicates how to reference the original scope from the new scope.

arg0 : ILScopeRef
arg1 : ILType
Returns: ILType

rescopeILTypeRef arg1 arg2

Full Usage: rescopeILTypeRef arg1 arg2

Parameters:
Returns: ILTypeRef

Rescoping. The first argument indicates how to reference the original scope from the new scope.

arg0 : ILScopeRef
arg1 : ILTypeRef
Returns: ILTypeRef

rescopeILTypeSpec arg1 arg2

Full Usage: rescopeILTypeSpec arg1 arg2

Parameters:
Returns: ILTypeSpec

Rescoping. The first argument indicates how to reference the original scope from the new scope.

arg0 : ILScopeRef
arg1 : ILTypeSpec
Returns: ILTypeSpec

resolveILMethodRef arg1 arg2

Full Usage: resolveILMethodRef arg1 arg2

Parameters:
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.

arg0 : ILTypeDef
arg1 : ILMethodRef
Returns: ILMethodDef

resolveILMethodRefWithRescope arg1 arg2 arg3

Full Usage: resolveILMethodRefWithRescope arg1 arg2 arg3

Parameters:
Returns: ILMethodDef
arg0 : ILType -> ILType
arg1 : ILTypeDef
arg2 : ILMethodRef
Returns: ILMethodDef

sha1HashBytes arg1

Full Usage: sha1HashBytes arg1

Parameters:
    arg0 : byte[]

Returns: byte[]

Get a public key token from a public key.

arg0 : byte[]
Returns: byte[]

sha1HashInt64 arg1

Full Usage: sha1HashInt64 arg1

Parameters:
    arg0 : byte[]

Returns: int64
arg0 : byte[]
Returns: int64

splitILTypeName arg1

Full Usage: splitILTypeName arg1

Parameters:
    arg0 : string

Returns: string list * string

The splitILTypeName utility helps you split a string representing a type name into the leading namespace elements (if any), the names of any nested types and the type name itself. This function memoizes and interns the splitting of the namespace portion of the type name.

arg0 : string
Returns: string list * string

splitILTypeNameWithPossibleStaticArguments arg1

Full Usage: splitILTypeNameWithPossibleStaticArguments arg1

Parameters:
    arg0 : string

Returns: string[] * string
arg0 : string
Returns: string[] * string

splitNamespace arg1

Full Usage: splitNamespace arg1

Parameters:
    arg0 : string

Returns: string list
arg0 : string
Returns: string list

splitNamespaceToArray arg1

Full Usage: splitNamespaceToArray arg1

Parameters:
    arg0 : string

Returns: string[]
arg0 : string
Returns: string[]

splitTypeNameRight arg1

Full Usage: splitTypeNameRight arg1

Parameters:
    arg0 : string

Returns: string option * string

splitTypeNameRight is like splitILTypeName except the namespace is kept as a whole string, rather than split at dots.

arg0 : string
Returns: string option * string

storeILCustomAttrs arg1

Full Usage: storeILCustomAttrs arg1

Parameters:
Returns: ILAttributesStored
arg0 : ILAttributes
Returns: ILAttributesStored

storeILSecurityDecls arg1

Full Usage: storeILSecurityDecls arg1

Parameters:
Returns: ILSecurityDeclsStored
arg0 : ILSecurityDecls
Returns: ILSecurityDeclsStored

stripILModifiedFromTy arg1

Full Usage: stripILModifiedFromTy arg1

Parameters:
Returns: ILType

Strips ILType.Modified from the ILType.

arg0 : ILType
Returns: ILType

typeNameForGlobalFunctions

Full Usage: typeNameForGlobalFunctions

Returns: string
Returns: string

typesOfILParams arg1

Full Usage: typesOfILParams arg1

Parameters:
Returns: ILType list
arg0 : ILParameters
Returns: ILType list

unscopeILType arg1

Full Usage: unscopeILType arg1

Parameters:
Returns: ILType

Unscoping. Clears every scope information, use for looking up IL method references only.

arg0 : ILType
Returns: ILType

Type something to start searching.