Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb606cb5

Browse files
committed
hide representations in Abstract IL
1 parent2c6e3b6 commitb606cb5

File tree

1 file changed

+50
-11
lines changed

1 file changed

+50
-11
lines changed

‎src/absil/il.fsi‎

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,15 +1000,21 @@ type MethodCodeKind =
10001000
/// may include the bounds, if any, on the generic parameter.
10011001
typeILGenericParameterDef=
10021002
{ Name:string
1003-
/// At most one is the parent type, the others are interface types.
1003+
1004+
/// At most one is the parent type, the others are interface types.
10041005
Constraints:ILTypes
1006+
10051007
/// Variance of type parameters, only applicable to generic parameters for generic interfaces and delegates.
10061008
Variance:ILGenericVariance
1009+
10071010
/// Indicates the type argument must be a reference type.
10081011
HasReferenceTypeConstraint:bool
1012+
10091013
CustomAttrs:ILAttributes
1014+
10101015
/// Indicates the type argument must be a value type, but not Nullable.
10111016
HasNotNullableValueTypeConstraint:bool
1017+
10121018
/// Indicates the type argument must have a public nullary constructor.
10131019
HasDefaultConstructorConstraint:bool}
10141020

@@ -1020,13 +1026,14 @@ type ILLazyMethodBody =
10201026

10211027
/// IL Method definitions.
10221028
///
1023-
///The object is immutable. We use a class to get control over the representation used,
1024-
/// which allows more efficient representation of the information.
1029+
///This type is immutable and record-like. We use a class to get control over the representation
1030+
///used,which allows more efficient representation of the information.
10251031
[<NoComparison; NoEquality>]
10261032
type ILMethodDef=
1033+
1034+
/// Functional creation of a value
10271035
new: name: string* attributes: MethodAttributes* implAttributes: MethodImplAttributes* callingConv: ILCallingConv* parameters: ILParameters* ret: ILReturn* body: ILLazyMethodBody* securityDecls: ILSecurityDecls* isEntryPoint:bool* genericParams: ILGenericParameterDefs* customAttrs: ILAttributes-> ILMethodDef
10281036

1029-
memberWith:?name:string* ?attributes: MethodAttributes* ?implAttributes: MethodImplAttributes* ?callingConv: ILCallingConv* ?parameters: ILParameters* ?ret: ILReturn* ?body: ILLazyMethodBody* ?securityDecls: ILSecurityDecls* ?isEntryPoint:bool* ?genericParams: ILGenericParameterDefs* ?customAttrs: ILAttributes-> ILMethodDef
10301037
memberName:string
10311038
memberAttributes:MethodAttributes
10321039
memberImplAttributes:MethodImplAttributes
@@ -1073,6 +1080,7 @@ type ILMethodDef =
10731080
/// The method is exported to unmanaged code using COM interop.
10741081
memberIsUnmanagedExport:bool
10751082
memberIsReqSecObj:bool
1083+
10761084
/// Some methods are marked "HasSecurity" even if there are no permissions attached, e.g. if they use SuppressUnmanagedCodeSecurityAttribute
10771085
memberHasSecurity:bool
10781086
memberIsManaged:bool
@@ -1086,6 +1094,8 @@ type ILMethodDef =
10861094
/// SafeHandle finalizer must be run.
10871095
memberIsMustRun:bool
10881096

1097+
/// Functional update of the value
1098+
memberWith:?name:string* ?attributes: MethodAttributes* ?implAttributes: MethodImplAttributes* ?callingConv: ILCallingConv* ?parameters: ILParameters* ?ret: ILReturn* ?body: ILLazyMethodBody* ?securityDecls: ILSecurityDecls* ?isEntryPoint:bool* ?genericParams: ILGenericParameterDefs* ?customAttrs: ILAttributes-> ILMethodDef
10891099
member WithSpecialName: ILMethodDef
10901100
member WithHideBySig: unit-> ILMethodDef
10911101
member WithHideBySig: bool-> ILMethodDef
@@ -1104,8 +1114,9 @@ type ILMethodDef =
11041114
/// Tables of methods. Logically equivalent to a list of methods but
11051115
/// the table is kept in a form optimized for looking up methods by
11061116
/// name and arity.
1107-
1108-
/// abstract type equivalent to[ILMethodDef list]
1117+
///
1118+
/// This type is immutable and record-like. We use a class to get control over the representation
1119+
/// used, which allows more efficient representation of the information.
11091120
[<NoEquality; NoComparison; Sealed>]
11101121
type ILMethodDefs=
11111122
interface IEnumerable<ILMethodDef>
@@ -1114,15 +1125,21 @@ type ILMethodDefs =
11141125
memberFindByName:string->ILMethodDef list
11151126

11161127
/// Field definitions.
1128+
///
1129+
/// This type is immutable and record-like. We use a class to get control over the representation
1130+
/// used, which allows more efficient representation of the information.
11171131
[<NoComparison; NoEquality>]
11181132
type ILFieldDef=
1133+
1134+
/// Functional creation of a value
11191135
new: name: string* fieldType: ILType* attributes: FieldAttributes* data: byte[] option* literalValue: ILFieldInit option* offset: int32 option* marshal: ILNativeType option* customAttrs: ILAttributes-> ILFieldDef
1120-
memberWith:?name:string* ?fieldType: ILType* ?attributes: FieldAttributes* ?data: byte[] option* ?literalValue: ILFieldInit option* ?offset: int32 option* ?marshal: ILNativeType option* ?customAttrs: ILAttributes-> ILFieldDef
1136+
11211137
memberName:string
11221138
memberFieldType:ILType
11231139
memberAttributes:FieldAttributes
11241140
memberData:byte[]option
11251141
memberLiteralValue:ILFieldInit option
1142+
11261143
/// The explicit offset in bytes when explicit layout is used.
11271144
memberOffset:int32 option
11281145
memberMarshal:ILNativeType option
@@ -1133,6 +1150,9 @@ type ILFieldDef =
11331150
memberNotSerialized:bool
11341151
memberIsInitOnly:bool
11351152
memberAccess:ILMemberAccess
1153+
1154+
/// Functional update of the value
1155+
memberWith:?name:string* ?fieldType: ILType* ?attributes: FieldAttributes* ?data: byte[] option* ?literalValue: ILFieldInit option* ?offset: int32 option* ?marshal: ILNativeType option* ?customAttrs: ILAttributes-> ILFieldDef
11361156
member WithAccess: ILMemberAccess-> ILFieldDef
11371157
member WithInitOnly: bool-> ILFieldDef
11381158
member WithStatic: bool-> ILFieldDef
@@ -1150,10 +1170,15 @@ type ILFieldDefs =
11501170
memberLookupByName:string->ILFieldDef list
11511171

11521172
/// Event definitions.
1173+
///
1174+
/// This type is immutable and record-like. We use a class to get control over the representation
1175+
/// used, which allows more efficient representation of the information.
11531176
[<NoComparison; NoEquality>]
11541177
type ILEventDef=
1178+
1179+
/// Functional creation of a value
11551180
new: eventType: ILType option* name: string* attributes: EventAttributes* addMethod: ILMethodRef* removeMethod: ILMethodRef* fireMethod: ILMethodRef option* otherMethods: ILMethodRef list* customAttrs: ILAttributes-> ILEventDef
1156-
memberWith:?eventType:ILType option* ?name: string* ?attributes: EventAttributes* ?addMethod: ILMethodRef* ?removeMethod: ILMethodRef* ?fireMethod: ILMethodRef option* ?otherMethods: ILMethodRef list* ?customAttrs: ILAttributes-> ILEventDef
1181+
11571182
memberEventType:ILType option
11581183
memberName:string
11591184
memberAttributes:EventAttributes
@@ -1165,17 +1190,31 @@ type ILEventDef =
11651190
memberIsSpecialName:bool
11661191
memberIsRTSpecialName:bool
11671192

1193+
/// Functional update of the value
1194+
memberWith:?eventType:ILType option* ?name: string* ?attributes: EventAttributes* ?addMethod: ILMethodRef* ?removeMethod: ILMethodRef* ?fireMethod: ILMethodRef option* ?otherMethods: ILMethodRef list* ?customAttrs: ILAttributes-> ILEventDef
1195+
11681196
/// Table of those events in a type definition.
1197+
///
1198+
/// This type is immutable and record-like. We use a class to get control over the representation
1199+
/// used, which allows more efficient representation of the information.
11691200
[<NoEquality; NoComparison; Sealed>]
11701201
type ILEventDefs=
11711202
memberAsList:ILEventDef list
11721203
memberLookupByName:string->ILEventDef list
11731204

11741205
/// Property definitions
1206+
///
1207+
/// This type is immutable and record-like. We use a class to get control over the representation
1208+
/// used, which allows more efficient representation of the information.
11751209
[<NoComparison; NoEquality>]
11761210
type ILPropertyDef=
1211+
1212+
/// Functional creation of a value
11771213
new: name: string* attributes: PropertyAttributes* setMethod: ILMethodRef option* getMethod: ILMethodRef option* callingConv: ILThisConvention* propertyType: ILType* init: ILFieldInit option* args: ILTypes* customAttrs: ILAttributes-> ILPropertyDef
1214+
1215+
/// Functional update of the value
11781216
memberWith:?name:string* ?attributes: PropertyAttributes* ?setMethod: ILMethodRef option* ?getMethod: ILMethodRef option* ?callingConv: ILThisConvention* ?propertyType: ILType* ?init: ILFieldInit option* ?args: ILTypes* ?customAttrs: ILAttributes-> ILPropertyDef
1217+
11791218
member Name: string
11801219
member Attributes: PropertyAttributes
11811220
member SetMethod: ILMethodRef option
@@ -1267,9 +1306,9 @@ type ILTypeDefs =
12671306

12681307
/// Represents IL Type Definitions.
12691308
///
1270-
///The object is immutable. We use a class
1271-
///to get control over the representationused, which allows more efficient representation of the information.
1272-
and [<NoComparison; NoEquality; Class>]
1309+
///This type is immutable and record-like. We use a class to get control over the representation
1310+
/// used, which allows more efficient representation of the information.
1311+
and [<NoComparison; NoEquality>]
12731312
ILTypeDef=
12741313

12751314
/// Create the contents

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp