Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
b606cb5c
F
fsharp
项目概览
dotNET Platform
/
fsharp
12 个月 前同步成功
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fsharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b606cb5c
编写于
3月 21, 2018
作者:
D
Don Syme
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
hide representations in Abstract IL
上级
2c6e3b6d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
50 addition
and
11 deletion
+50
-11
src/absil/il.fsi
src/absil/il.fsi
+50
-11
未找到文件。
src/absil/il.fsi
浏览文件 @
b606cb5c
...
...
@@ -1000,15 +1000,21 @@ type MethodCodeKind =
/// may include the bounds, if any, on the generic parameter.
type
ILGenericParameterDef
=
{
Name
:
string
/// At most one is the parent type, the others are interface types.
/// At most one is the parent type, the others are interface types.
Constraints
:
ILTypes
/// Variance of type parameters, only applicable to generic parameters for generic interfaces and delegates.
Variance
:
ILGenericVariance
/// Indicates the type argument must be a reference type.
HasReferenceTypeConstraint
:
bool
CustomAttrs
:
ILAttributes
/// Indicates the type argument must be a value type, but not Nullable.
HasNotNullableValueTypeConstraint
:
bool
/// Indicates the type argument must have a public nullary constructor.
HasDefaultConstructorConstraint
:
bool
}
...
...
@@ -1020,13 +1026,14 @@ type ILLazyMethodBody =
/// IL Method definitions.
///
/// Th
e object is immutable. We use a class to get control over the representation used,
/// which allows more efficient representation of the information.
/// Th
is type is immutable and record-like. We use a class to get control over the representation
///
used,
which allows more efficient representation of the information.
[<
NoComparison
;
NoEquality
>]
type
ILMethodDef
=
/// Functional creation of a value
new
:
name
:
string
*
attributes
:
MethodAttributes
*
implAttributes
:
MethodImplAttributes
*
callingConv
:
ILCallingConv
*
parameters
:
ILParameters
*
ret
:
ILReturn
*
body
:
ILLazyMethodBody
*
securityDecls
:
ILSecurityDecls
*
isEntryPoint
:
bool
*
genericParams
:
ILGenericParameterDefs
*
customAttrs
:
ILAttributes
->
ILMethodDef
member
With
:
?
name
:
string
*
?
attributes
:
MethodAttributes
*
?
implAttributes
:
MethodImplAttributes
*
?
callingConv
:
ILCallingConv
*
?
parameters
:
ILParameters
*
?
ret
:
ILReturn
*
?
body
:
ILLazyMethodBody
*
?
securityDecls
:
ILSecurityDecls
*
?
isEntryPoint
:
bool
*
?
genericParams
:
ILGenericParameterDefs
*
?
customAttrs
:
ILAttributes
->
ILMethodDef
member
Name
:
string
member
Attributes
:
MethodAttributes
member
ImplAttributes
:
MethodImplAttributes
...
...
@@ -1073,6 +1080,7 @@ type ILMethodDef =
/// The method is exported to unmanaged code using COM interop.
member
IsUnmanagedExport
:
bool
member
IsReqSecObj
:
bool
/// Some methods are marked "HasSecurity" even if there are no permissions attached, e.g. if they use SuppressUnmanagedCodeSecurityAttribute
member
HasSecurity
:
bool
member
IsManaged
:
bool
...
...
@@ -1086,6 +1094,8 @@ type ILMethodDef =
/// SafeHandle finalizer must be run.
member
IsMustRun
:
bool
/// Functional update of the value
member
With
:
?
name
:
string
*
?
attributes
:
MethodAttributes
*
?
implAttributes
:
MethodImplAttributes
*
?
callingConv
:
ILCallingConv
*
?
parameters
:
ILParameters
*
?
ret
:
ILReturn
*
?
body
:
ILLazyMethodBody
*
?
securityDecls
:
ILSecurityDecls
*
?
isEntryPoint
:
bool
*
?
genericParams
:
ILGenericParameterDefs
*
?
customAttrs
:
ILAttributes
->
ILMethodDef
member
WithSpecialName
:
ILMethodDef
member
WithHideBySig
:
unit
->
ILMethodDef
member
WithHideBySig
:
bool
->
ILMethodDef
...
...
@@ -1104,8 +1114,9 @@ type ILMethodDef =
/// 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.
/// abstract type equivalent to [ILMethodDef list]
///
/// This type is immutable and record-like. We use a class to get control over the representation
/// used, which allows more efficient representation of the information.
[<
NoEquality
;
NoComparison
;
Sealed
>]
type
ILMethodDefs
=
interface
IEnumerable
<
ILMethodDef
>
...
...
@@ -1114,15 +1125,21 @@ type ILMethodDefs =
member
FindByName
:
string
->
ILMethodDef
list
/// Field definitions.
///
/// This type is immutable and record-like. We use a class to get control over the representation
/// used, which allows more efficient representation of the information.
[<
NoComparison
;
NoEquality
>]
type
ILFieldDef
=
/// Functional creation of a value
new
:
name
:
string
*
fieldType
:
ILType
*
attributes
:
FieldAttributes
*
data
:
byte
[]
option
*
literalValue
:
ILFieldInit
option
*
offset
:
int32
option
*
marshal
:
ILNativeType
option
*
customAttrs
:
ILAttributes
->
ILFieldDef
member
With
:
?
name
:
string
*
?
fieldType
:
ILType
*
?
attributes
:
FieldAttributes
*
?
data
:
byte
[]
option
*
?
literalValue
:
ILFieldInit
option
*
?
offset
:
int32
option
*
?
marshal
:
ILNativeType
option
*
?
customAttrs
:
ILAttributes
->
ILFieldDef
member
Name
:
string
member
FieldType
:
ILType
member
Attributes
:
FieldAttributes
member
Data
:
byte
[]
option
member
LiteralValue
:
ILFieldInit
option
/// The explicit offset in bytes when explicit layout is used.
member
Offset
:
int32
option
member
Marshal
:
ILNativeType
option
...
...
@@ -1133,6 +1150,9 @@ type ILFieldDef =
member
NotSerialized
:
bool
member
IsInitOnly
:
bool
member
Access
:
ILMemberAccess
/// Functional update of the value
member
With
:
?
name
:
string
*
?
fieldType
:
ILType
*
?
attributes
:
FieldAttributes
*
?
data
:
byte
[]
option
*
?
literalValue
:
ILFieldInit
option
*
?
offset
:
int32
option
*
?
marshal
:
ILNativeType
option
*
?
customAttrs
:
ILAttributes
->
ILFieldDef
member
WithAccess
:
ILMemberAccess
->
ILFieldDef
member
WithInitOnly
:
bool
->
ILFieldDef
member
WithStatic
:
bool
->
ILFieldDef
...
...
@@ -1150,10 +1170,15 @@ type ILFieldDefs =
member
LookupByName
:
string
->
ILFieldDef
list
/// Event definitions.
///
/// This type is immutable and record-like. We use a class to get control over the representation
/// used, which allows more efficient representation of the information.
[<
NoComparison
;
NoEquality
>]
type
ILEventDef
=
/// Functional creation of a value
new
:
eventType
:
ILType
option
*
name
:
string
*
attributes
:
EventAttributes
*
addMethod
:
ILMethodRef
*
removeMethod
:
ILMethodRef
*
fireMethod
:
ILMethodRef
option
*
otherMethods
:
ILMethodRef
list
*
customAttrs
:
ILAttributes
->
ILEventDef
member
With
:
?
eventType
:
ILType
option
*
?
name
:
string
*
?
attributes
:
EventAttributes
*
?
addMethod
:
ILMethodRef
*
?
removeMethod
:
ILMethodRef
*
?
fireMethod
:
ILMethodRef
option
*
?
otherMethods
:
ILMethodRef
list
*
?
customAttrs
:
ILAttributes
->
ILEventDef
member
EventType
:
ILType
option
member
Name
:
string
member
Attributes
:
EventAttributes
...
...
@@ -1165,17 +1190,31 @@ type ILEventDef =
member
IsSpecialName
:
bool
member
IsRTSpecialName
:
bool
/// Functional update of the value
member
With
:
?
eventType
:
ILType
option
*
?
name
:
string
*
?
attributes
:
EventAttributes
*
?
addMethod
:
ILMethodRef
*
?
removeMethod
:
ILMethodRef
*
?
fireMethod
:
ILMethodRef
option
*
?
otherMethods
:
ILMethodRef
list
*
?
customAttrs
:
ILAttributes
->
ILEventDef
/// Table of those events in a type definition.
///
/// This type is immutable and record-like. We use a class to get control over the representation
/// used, which allows more efficient representation of the information.
[<
NoEquality
;
NoComparison
;
Sealed
>]
type
ILEventDefs
=
member
AsList
:
ILEventDef
list
member
LookupByName
:
string
->
ILEventDef
list
/// Property definitions
///
/// This type is immutable and record-like. We use a class to get control over the representation
/// used, which allows more efficient representation of the information.
[<
NoComparison
;
NoEquality
>]
type
ILPropertyDef
=
/// Functional creation of a value
new
:
name
:
string
*
attributes
:
PropertyAttributes
*
setMethod
:
ILMethodRef
option
*
getMethod
:
ILMethodRef
option
*
callingConv
:
ILThisConvention
*
propertyType
:
ILType
*
init
:
ILFieldInit
option
*
args
:
ILTypes
*
customAttrs
:
ILAttributes
->
ILPropertyDef
/// Functional update of the value
member
With
:
?
name
:
string
*
?
attributes
:
PropertyAttributes
*
?
setMethod
:
ILMethodRef
option
*
?
getMethod
:
ILMethodRef
option
*
?
callingConv
:
ILThisConvention
*
?
propertyType
:
ILType
*
?
init
:
ILFieldInit
option
*
?
args
:
ILTypes
*
?
customAttrs
:
ILAttributes
->
ILPropertyDef
member
Name
:
string
member
Attributes
:
PropertyAttributes
member
SetMethod
:
ILMethodRef
option
...
...
@@ -1267,9 +1306,9 @@ type ILTypeDefs =
/// Represents IL Type Definitions.
///
/// Th
e object is immutable. We use a class
///
to get control over the representation
used, which allows more efficient representation of the information.
and
[<
NoComparison
;
NoEquality
;
Class
>]
/// Th
is type is immutable and record-like. We use a class to get control over the representation
/// used, which allows more efficient representation of the information.
and
[<
NoComparison
;
NoEquality
>]
ILTypeDef
=
/// Create the contents
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录