Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
532fd1a6
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,发现更多精彩内容 >>
未验证
提交
532fd1a6
编写于
2月 25, 2019
作者:
D
dotnet-automerge-bot
提交者:
GitHub
2月 25, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6279 from Microsoft/merges/master-to-dev16.1
Merge master to dev16.1
上级
d1e7b782
6122d6a3
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
27 addition
and
31 deletion
+27
-31
BuildToolsVersion.txt
BuildToolsVersion.txt
+0
-1
DotnetCLIToolsVersion.txt
DotnetCLIToolsVersion.txt
+1
-1
FSharpBuild.Directory.Build.props
FSharpBuild.Directory.Build.props
+1
-1
fcs/Directory.Build.props
fcs/Directory.Build.props
+1
-7
fcs/build.fsx
fcs/build.fsx
+2
-3
src/absil/il.fs
src/absil/il.fs
+1
-1
src/absil/ilread.fs
src/absil/ilread.fs
+1
-1
src/absil/ilreflect.fs
src/absil/ilreflect.fs
+1
-1
src/absil/ilwritepdb.fs
src/absil/ilwritepdb.fs
+1
-1
src/fsharp/AugmentWithHashCompare.fs
src/fsharp/AugmentWithHashCompare.fs
+1
-1
src/fsharp/CheckFormatStrings.fs
src/fsharp/CheckFormatStrings.fs
+1
-1
src/fsharp/FSharp.Build/Fsc.fs
src/fsharp/FSharp.Build/Fsc.fs
+4
-0
src/fsharp/FSharp.Build/Microsoft.FSharp.Targets
src/fsharp/FSharp.Build/Microsoft.FSharp.Targets
+1
-1
src/fsharp/LexFilter.fs
src/fsharp/LexFilter.fs
+1
-1
src/fsharp/TastOps.fs
src/fsharp/TastOps.fs
+9
-9
src/utils/prim-lexing.fs
src/utils/prim-lexing.fs
+1
-1
未找到文件。
BuildToolsVersion.txt
已删除
100644 → 0
浏览文件 @
d1e7b782
1.0.27-prerelease-01001-04
DotnetCLIToolsVersion.txt
浏览文件 @
532fd1a6
2.1.50
0
2.1.50
4
\ No newline at end of file
FSharpBuild.Directory.Build.props
浏览文件 @
532fd1a6
...
...
@@ -89,7 +89,7 @@
</PropertyGroup>
<!-- SDK targets override -->
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND Exists('$(ProtoOutputPath)')">
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND
'$(DisableCompilerRedirection)'!='true' AND
Exists('$(ProtoOutputPath)')">
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
...
...
fcs/Directory.Build.props
浏览文件 @
532fd1a6
...
...
@@ -9,17 +9,11 @@
<ArtifactsObjDir>$(ArtifactsDir)\obj</ArtifactsObjDir>
<OutputPath>$(ArtifactsBinDir)\fcs</OutputPath>
<IntermediateOutputPath>$(ArtifactsObjDir)\fcs</IntermediateOutputPath>
<DisableCompilerRedirection>true</DisableCompilerRedirection>
</PropertyGroup>
<!-- SDK targets override -->
<PropertyGroup>
<ProtoOutputPath>$(ArtifactsBinDir)\FSharp.Build\Proto\net46</ProtoOutputPath>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(ProtoOutputPath)')">
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
</PropertyGroup>
</Project>
fcs/build.fsx
浏览文件 @
532fd1a6
...
...
@@ -31,7 +31,7 @@ let dotnetExePath =
if
File
.
Exists
(
pathToCli
)
then
pathToCli
else
DotNetCli
.
InstallDotNetSDK
"2.1.
403
"
DotNetCli
.
InstallDotNetSDK
"2.1.
504
"
let
runDotnet
workingDir
args
=
let
result
=
...
...
@@ -97,8 +97,7 @@ Target "Build" (fun _ ->
Target
"Test"
(
fun
_
->
// This project file is used for the netcoreapp2.0 tests to work out reference sets
runDotnet
__
SOURCE_DIRECTORY__
"restore ../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -v n"
runDotnet
__
SOURCE_DIRECTORY__
"build ../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -v n"
runDotnet
__
SOURCE_DIRECTORY__
"build ../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -v n /restore /p:DisableCompilerRedirection=true"
// Now run the tests
runDotnet
__
SOURCE_DIRECTORY__
"test FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj --no-restore --no-build -v n -c release"
...
...
src/absil/il.fs
浏览文件 @
532fd1a6
...
...
@@ -170,7 +170,7 @@ let splitTypeNameRight nm =
/// This is used to store event, property and field maps.
type
LazyOrderedMultiMap
<
'
Key
,
'
Data
when
'
Key
:
equality
>(
keyf
:
'
Data
->
'
Key
,
lazyItems
:
Lazy
<
'
Data
list
>)
=
let
quickMap
=
let
quickMap
=
lazyItems
|>
lazyMap
(
fun
entries
->
let
t
=
new
Dictionary
<_,
_>(
entries
.
Length
,
HashIdentity
.
Structural
)
do
entries
|>
List
.
iter
(
fun
y
->
...
...
src/absil/ilread.fs
浏览文件 @
532fd1a6
...
...
@@ -1671,7 +1671,7 @@ and seekReadAssemblyManifest (ctxt: ILMetadataReader) pectxt idx =
Locale
=
readStringHeapOption
ctxt
localeIdx
CustomAttrsStored
=
ctxt
.
customAttrsReader_Assembly
MetadataIndex
=
idx
AssemblyLongevity
=
AssemblyLongevity
=
let
masked
=
flags
&&&
0x000e
if
masked
=
0x0000
then
ILAssemblyLongevity
.
Unspecified
elif
masked
=
0x0002
then
ILAssemblyLongevity
.
Library
...
...
src/absil/ilreflect.fs
浏览文件 @
532fd1a6
...
...
@@ -392,7 +392,7 @@ let emEnv0 =
emEntryPts
=
[]
delayedFieldInits
=
[]
}
let
envBindTypeRef
emEnv
(
tref
:
ILTypeRef
)
(
typT
,
typB
,
typeDef
)=
let
envBindTypeRef
emEnv
(
tref
:
ILTypeRef
)
(
typT
,
typB
,
typeDef
)
=
match
typT
with
|
null
->
failwithf
"binding null type in envBindTypeRef: %s
\n
"
tref
.
Name
;
|
_
->
{
emEnv
with
emTypMap
=
Zmap
.
add
tref
(
typT
,
typB
,
typeDef
,
None
)
emEnv
.
emTypMap
}
...
...
src/absil/ilwritepdb.fs
浏览文件 @
532fd1a6
...
...
@@ -172,7 +172,7 @@ let pdbGetPdbDebugInfo (embeddedPDBChunk:BinaryChunk) (uncompressedLength:int64)
iddChunk
=
embeddedPDBChunk
;
}
let
pdbGetDebugInfo
(
mvid
:
byte
[]
)
(
timestamp
:
int32
)
(
filepath
:
string
)
(
cvChunk
:
BinaryChunk
)
(
embeddedPDBChunk
:
BinaryChunk
option
)
(
uncompressedLength
:
int64
)
(
stream
:
MemoryStream
option
)=
let
pdbGetDebugInfo
(
mvid
:
byte
[]
)
(
timestamp
:
int32
)
(
filepath
:
string
)
(
cvChunk
:
BinaryChunk
)
(
embeddedPDBChunk
:
BinaryChunk
option
)
(
uncompressedLength
:
int64
)
(
stream
:
MemoryStream
option
)
=
match
stream
,
embeddedPDBChunk
with
|
None
,
_
|
_,
None
->
[|
pdbGetCvDebugInfo
mvid
timestamp
filepath
cvChunk
|]
|
Some
s
,
Some
chunk
->
[|
pdbGetCvDebugInfo
mvid
timestamp
filepath
cvChunk
;
pdbGetPdbDebugInfo
chunk
uncompressedLength
s
;
|]
...
...
src/fsharp/AugmentWithHashCompare.fs
浏览文件 @
532fd1a6
...
...
@@ -704,7 +704,7 @@ let getAugmentationAttribs g (tycon:Tycon) =
TryFindFSharpBoolAttribute
g
g
.
attrib_CustomComparisonAttribute
tycon
.
Attribs
,
TryFindFSharpBoolAttribute
g
g
.
attrib_StructuralComparisonAttribute
tycon
.
Attribs
let
CheckAugmentationAttribs
isImplementation
g
amap
(
tycon
:
Tycon
)=
let
CheckAugmentationAttribs
isImplementation
g
amap
(
tycon
:
Tycon
)
=
let
m
=
tycon
.
Range
let
attribs
=
getAugmentationAttribs
g
tycon
match
attribs
with
...
...
src/fsharp/CheckFormatStrings.fs
浏览文件 @
532fd1a6
...
...
@@ -42,7 +42,7 @@ type FormatInfoRegister =
mutable
addZeros
:
bool
mutable
precision
:
bool
}
let
newInfo
()
=
let
newInfo
()
=
{
leftJustify
=
false
numPrefixIfPos
=
None
addZeros
=
false
...
...
src/fsharp/FSharp.Build/Fsc.fs
浏览文件 @
532fd1a6
...
...
@@ -295,6 +295,10 @@ type public Fsc () as this =
with
get
()
=
embedAllSources
and
set
(
s
)
=
embedAllSources
<-
s
member
fsc
.
Embed
with
get
()
=
embeddedFiles
and
set
(
e
)
=
embeddedFiles
<-
e
member
fsc
.
EmbeddedFiles
with
get
()
=
embeddedFiles
and
set
(
e
)
=
embeddedFiles
<-
e
...
...
src/fsharp/FSharp.Build/Microsoft.FSharp.Targets
浏览文件 @
532fd1a6
...
...
@@ -285,7 +285,7 @@ this file.
DocumentationFile="$(DocumentationFile)"
DotnetFscCompilerPath="$(DotnetFscCompilerPath)"
EmbedAllSources="$(EmbedAllSources)"
Embed
dedFiles
="@(EmbeddedFiles)"
Embed="@(EmbeddedFiles)"
GenerateInterfaceFile="$(GenerateInterfaceFile)"
HighEntropyVA="$(HighEntropyVA)"
KeyFile="$(KeyOriginatorFile)"
...
...
src/fsharp/LexFilter.fs
浏览文件 @
532fd1a6
...
...
@@ -2207,7 +2207,7 @@ type LexFilterImpl (lightSyntaxStatus:LightSyntaxStatus, compilingFsLib, lexer,
|
IEEE32
(
v
)
->
delayMergedToken
(
IEEE32
(
if
plus
then
v
else
-
v
))
|
IEEE64
(
v
)
->
delayMergedToken
(
IEEE64
(
if
plus
then
v
else
-
v
))
|
DECIMAL
(
v
)
->
delayMergedToken
(
DECIMAL
(
if
plus
then
v
else
System
.
Decimal
.
op_UnaryNegation
v
))
|
BIGNUM
(
v
,
s
)
->
delayMergedToken
(
BIGNUM
((
if
plus
then
v
else
"-"
^
v
),
s
))
|
BIGNUM
(
v
,
s
)
->
delayMergedToken
(
BIGNUM
((
if
plus
then
v
else
"-"
+
v
),
s
))
|
_
->
noMerge
()
else
noMerge
()
...
...
src/fsharp/TastOps.fs
浏览文件 @
532fd1a6
...
...
@@ -4649,7 +4649,7 @@ let underlyingTypeOfEnumTy (g: TcGlobals) ty =
let
tycon
=
(
tcrefOfAppTy
g
ty
).
Deref
match
tycon
.
GetFieldByName
"value__"
with
|
Some
rf
->
rf
.
FormalType
|
None
->
error
(
InternalError
(
"no 'value__' field found for enumeration type "
^
tycon
.
LogicalName
,
tycon
.
Range
))
|
None
->
error
(
InternalError
(
"no 'value__' field found for enumeration type "
+
tycon
.
LogicalName
,
tycon
.
Range
))
// CLEANUP NOTE: Get rid of this mutation.
...
...
@@ -5138,7 +5138,7 @@ and renameTycon tyenv x =
let
res
=
tyenv
.
tyconRefRemap
.[
mkLocalTyconRef
x
]
res
with
:?
KeyNotFoundException
->
errorR
(
InternalError
(
"couldn't remap internal tycon "
^
showL
(
DebugPrint
.
tyconL
x
),
x
.
Range
));
errorR
(
InternalError
(
"couldn't remap internal tycon "
+
showL
(
DebugPrint
.
tyconL
x
),
x
.
Range
));
mkLocalTyconRef
x
tcref
.
Deref
...
...
@@ -5180,7 +5180,7 @@ and copyAndRemapAndBindTyconsAndVals g compgen tmenv tycons vs =
let
res
=
tmenvinner
.
tyconRefRemap
.[
mkLocalTyconRef
tycon
]
res
with
:?
KeyNotFoundException
->
errorR
(
InternalError
(
"couldn't remap internal tycon "
^
showL
(
DebugPrint
.
tyconL
tycon
),
tycon
.
Range
));
errorR
(
InternalError
(
"couldn't remap internal tycon "
+
showL
(
DebugPrint
.
tyconL
tycon
),
tycon
.
Range
));
mkLocalTyconRef
tycon
tcref
.
Deref
...
...
@@ -5684,7 +5684,7 @@ let rec simplifyTrivialMatch spBind exprm matchm ty tree (targets : _[]) =
if
n
>=
targets
.
Length
then
failwith
"simplifyTrivialMatch: target out of range"
;
// REVIEW: should we use _spTarget here?
let
(
TTarget
(
vs
,
rhs
,
_
spTarget
))
=
targets
.[
n
]
if
vs
.
Length
<>
es
.
Length
then
failwith
(
"simplifyTrivialMatch: invalid argument, n = "
^
string
n
^
", List.length targets = "
^
string
targets
.
Length
);
if
vs
.
Length
<>
es
.
Length
then
failwith
(
"simplifyTrivialMatch: invalid argument, n = "
+
string
n
+
", List.length targets = "
+
string
targets
.
Length
);
// These are non-sticky - any sequence point for 'rhs' goes on 'rhs' _after_ the bindings have been made
mkInvisibleLetsFromBindings
rhs
.
Range
vs
es
rhs
|
_
->
...
...
@@ -6813,7 +6813,7 @@ let AdjustArityOfLambdaBody g arity (vs:Val list) body =
if
(
untupledTys
.
Length
<>
arity
)
then
failwith
"length untupledTys <> arity"
;
let
dummyvs
,
dummyes
=
untupledTys
|>
List
.
mapi
(
fun
i
ty
->
mkCompGenLocal
v
.
Range
(
v
.
LogicalName
^
"_"
^
string
i
)
ty
)
|>
List
.
mapi
(
fun
i
ty
->
mkCompGenLocal
v
.
Range
(
v
.
LogicalName
+
"_"
+
string
i
)
ty
)
|>
List
.
unzip
// These are non-sticky - any sequence point for 'body' goes on 'body' _after_ the binding has been made
let
body
=
mkInvisibleLet
v
.
Range
v
(
mkRefTupled
g
v
.
Range
dummyes
untupledTys
)
body
...
...
@@ -7036,7 +7036,7 @@ let AdjustPossibleSubsumptionExpr g (expr: Expr) (suppliedArgs: Expr list) : (Ex
argtysl
|>
List
.
mapi
(
fun
i
argtys
->
argtys
|>
List
.
mapi
(
fun
j
(_,
argInfo
)
->
match
argInfo
.
Name
with
|
None
->
CompilerGeneratedName
(
"arg"
+
string
i
^
string
j
)
|
None
->
CompilerGeneratedName
(
"arg"
+
string
i
+
string
j
)
|
Some
id
->
id
.
idText
))
|
_
->
[]
...
...
@@ -7166,11 +7166,11 @@ let AdjustPossibleSubsumptionExpr g (expr: Expr) (suppliedArgs: Expr list) : (Ex
assert
(
inpArgTys
.
Length
=
actualArgTys
.
Length
)
let
inpsAsVars
,
inpsAsExprs
=
inpArgTys
|>
List
.
mapi
(
fun
j
ty
->
mkCompGenLocal
appm
(
"arg"
^
string
i
^
string
j
)
ty
)
|>
List
.
unzip
let
inpsAsVars
,
inpsAsExprs
=
inpArgTys
|>
List
.
mapi
(
fun
j
ty
->
mkCompGenLocal
appm
(
"arg"
+
string
i
+
string
j
)
ty
)
|>
List
.
unzip
let
inpsAsActualArg
=
CoerceDetupled
inpArgTys
inpsAsExprs
actualArgTys
let
inpCloVarType
=
(
mkFunTy
(
mkRefTupledTy
g
actualArgTys
)
cloVar
.
Type
)
let
newResTy
=
mkFunTy
inpArgTy
resTy
let
inpCloVar
,
inpCloVarAsExpr
=
mkCompGenLocal
appm
(
"clo"
^
string
i
)
inpCloVarType
let
inpCloVar
,
inpCloVarAsExpr
=
mkCompGenLocal
appm
(
"clo"
+
string
i
)
inpCloVarType
let
newRes
=
// For the final arg we can skip introducing the dummy variable
if
i
=
N
-
1
then
...
...
@@ -7210,7 +7210,7 @@ let AdjustPossibleSubsumptionExpr g (expr: Expr) (suppliedArgs: Expr list) : (Ex
let
niceNames
=
match
niceNames
with
|
nms
when
nms
.
Length
=
inpArgTys
.
Length
->
nms
|
[
nm
]
->
inpArgTys
|>
List
.
mapi
(
fun
i
_
->
(
nm
^
string
i
))
|
[
nm
]
->
inpArgTys
|>
List
.
mapi
(
fun
i
_
->
(
nm
+
string
i
))
|
nms
->
nms
match
suppliedArg
with
|
Some
arg
->
...
...
src/utils/prim-lexing.fs
浏览文件 @
532fd1a6
...
...
@@ -285,7 +285,7 @@ namespace Internal.Utilities.Text.Lexing
)
module
GenericImplFragments
=
let
startInterpret
(
lexBuffer
:
LexBuffer
<
char
>)=
let
startInterpret
(
lexBuffer
:
LexBuffer
<
char
>)
=
lexBuffer
.
BufferScanStart
<-
lexBuffer
.
BufferScanStart
+
lexBuffer
.
LexemeLength
;
lexBuffer
.
BufferMaxScanLength
<-
lexBuffer
.
BufferMaxScanLength
-
lexBuffer
.
LexemeLength
;
lexBuffer
.
BufferScanLength
<-
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录