Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions src/Compiler/AbstractIL/il.fs
Original file line number Diff line number Diff line change
Expand Up @@ -3292,6 +3292,12 @@ let destILArrTy ty =
[<Literal>]
let tname_Attribute = "System.Attribute"

[<Literal>]
let tname_Enum = "System.Enum"

[<Literal>]
let tname_SealedAttribute = "System.SealedAttribute"

[<Literal>]
let tname_Object = "System.Object"

Expand Down Expand Up @@ -3367,6 +3373,10 @@ type ILGlobals(primaryScopeRef: ILScopeRef, equivPrimaryAssemblyRefs: ILAssembly

member val typ_Attribute = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Attribute))

member val typ_Enum = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Enum))

member val typ_SealedAttribute = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_SealedAttribute))

member val typ_Object = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Object))

member val typ_String = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_String))
Expand Down Expand Up @@ -3985,6 +3995,9 @@ let mkILInstanceField (nm, ty, init, access) =
let mkILStaticField (nm, ty, init, at, access) =
mkILField (true, nm, ty, init, at, access, false)

let mkILStaticLiteralField (nm, ty, init, at, access) =
mkILField (true, nm, ty, Some init, at, access, true)

let mkILLiteralField (nm, ty, init, at, access) =
mkILField (true, nm, ty, Some init, at, access, true)

Expand Down
7 changes: 5 additions & 2 deletions src/Compiler/AbstractIL/il.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -1815,7 +1815,10 @@ type internal ILGlobals =
member primaryAssemblyScopeRef: ILScopeRef
member primaryAssemblyRef: ILAssemblyRef
member primaryAssemblyName: string
member fsharpCoreAssemblyScopeRef: ILScopeRef

member typ_Attribute: ILType
member typ_Enum: ILType
member typ_Object: ILType
member typ_String: ILType
member typ_Type: ILType
Expand All @@ -1834,10 +1837,9 @@ type internal ILGlobals =
member typ_Double: ILType
member typ_Bool: ILType
member typ_Char: ILType
member typ_SealedAttribute: ILType
member typ_TypedReference: ILType

member fsharpCoreAssemblyScopeRef: ILScopeRef

/// Is the given assembly possibly a primary assembly?
/// In practice, a primary assembly is an assembly that contains the System.Object type definition
/// and has no referenced assemblies.
Expand Down Expand Up @@ -2051,6 +2053,7 @@ val internal mkILNonGenericInstanceMethod:
/// Make field definitions.
val internal mkILInstanceField: string * ILType * ILFieldInit option * ILMemberAccess -> ILFieldDef
val internal mkILStaticField: string * ILType * ILFieldInit option * byte[] option * ILMemberAccess -> ILFieldDef
val internal mkILStaticLiteralField: string * ILType * ILFieldInit * byte[] option * ILMemberAccess -> ILFieldDef
val internal mkILLiteralField: string * ILType * ILFieldInit * byte[] option * ILMemberAccess -> ILFieldDef

/// Make a type definition.
Expand Down
Loading