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

Commit553fc9b

Browse files
authored
Align signature/implementation argument names in FSharp.Core (#3531)
* implement check and codefix for mismatched parameters* apply consistent param names to FSHarp.Core* undo changes to fst/snd to prevent any codegen changes
1 parent8917d88 commit553fc9b

26 files changed

+2220
-2208
lines changed

‎src/fsharp/FSharp.Core/FSharp.Core.fsproj‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
<CompilingFsLib>true</CompilingFsLib>
2222
<AllowCrossTargeting>true</AllowCrossTargeting>
2323
<FX_NO_LOADER>true</FX_NO_LOADER>
24+
<OtherFlags>$(OtherFlags) --warnon:1182 --compiling-fslib --extraoptimizationloops:1</OtherFlags>
25+
<OtherFlags>$(OtherFlags) --warnon:3218</OtherFlags>
26+
<OtherFlags>$(OtherFlags) --maxerrors:20</OtherFlags>
2427
<OtherFlags>$(OtherFlags) --warnon:1182 --compiling-fslib --maxerrors:20 --extraoptimizationloops:1</OtherFlags>
2528
<OtherFlagsCondition="'$(TargetDotnetProfile)' == 'net40'">$(OtherFlags) --compiling-fslib-40</OtherFlags>
2629
</PropertyGroup>

‎src/fsharp/FSharp.Core/Linq.fs‎

Lines changed: 25 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -78,69 +78,68 @@ module Nullable =
7878
openSystem
7979

8080
[<CompiledName("ToUInt8")>]
81-
letinlineuint8(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.bytex.Value)elseNullable()
81+
letinlineuint8(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.bytevalue.Value)elseNullable()
8282

8383
[<CompiledName("ToInt8")>]
84-
letinlineint8(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.sbytex.Value)elseNullable()
84+
letinlineint8(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.sbytevalue.Value)elseNullable()
8585

8686
[<CompiledName("ToByte")>]
87-
letinlinebyte(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.bytex.Value)elseNullable()
87+
letinlinebyte(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.bytevalue.Value)elseNullable()
8888

8989
[<CompiledName("ToSByte")>]
90-
letinlinesbyte(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.sbytex.Value)elseNullable()
90+
letinlinesbyte(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.sbytevalue.Value)elseNullable()
9191

9292
[<CompiledName("ToInt16")>]
93-
letinlineint16(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.int16x.Value)elseNullable()
93+
letinlineint16(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.int16value.Value)elseNullable()
9494

9595
[<CompiledName("ToUInt16")>]
96-
letinlineuint16(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.uint16x.Value)elseNullable()
96+
letinlineuint16(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.uint16value.Value)elseNullable()
9797

9898
[<CompiledName("ToInt")>]
99-
letinlineint(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.intx.Value)elseNullable()
99+
letinlineint(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.intvalue.Value)elseNullable()
100100

101101
[<CompiledName("ToEnum")>]
102-
letinlineenum(x:Nullable< int32>)=ifx.HasValuethenNullable(Operators.enumx.Value)elseNullable()
102+
letinlineenum(value:Nullable< int32>)=ifvalue.HasValuethenNullable(Operators.enumvalue.Value)elseNullable()
103103

104104
[<CompiledName("ToInt32")>]
105-
letinlineint32(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.int32x.Value)elseNullable()
105+
letinlineint32(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.int32value.Value)elseNullable()
106106

107107
[<CompiledName("ToUInt32")>]
108-
letinlineuint32(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.uint32x.Value)elseNullable()
108+
letinlineuint32(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.uint32value.Value)elseNullable()
109109

110110
[<CompiledName("ToInt64")>]
111-
letinlineint64(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.int64x.Value)elseNullable()
111+
letinlineint64(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.int64value.Value)elseNullable()
112112

113113
[<CompiledName("ToUInt64")>]
114-
letinlineuint64(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.uint64x.Value)elseNullable()
114+
letinlineuint64(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.uint64value.Value)elseNullable()
115115

116116
[<CompiledName("ToFloat32")>]
117-
letinlinefloat32(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.float32x.Value)elseNullable()
117+
letinlinefloat32(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.float32value.Value)elseNullable()
118118

119119
[<CompiledName("ToFloat")>]
120-
letinlinefloat(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.floatx.Value)elseNullable()
120+
letinlinefloat(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.floatvalue.Value)elseNullable()
121121

122122
[<CompiledName("ToSingle")>]
123-
letinlinesingle(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.float32x.Value)elseNullable()
123+
letinlinesingle(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.float32value.Value)elseNullable()
124124

125125
[<CompiledName("ToDouble")>]
126-
letinlinedouble(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.floatx.Value)elseNullable()
126+
letinlinedouble(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.floatvalue.Value)elseNullable()
127127

128128
[<CompiledName("ToIntPtr")>]
129-
letinlinenativeint(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.nativeintx.Value)elseNullable()
129+
letinlinenativeint(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.nativeintvalue.Value)elseNullable()
130130

131131
[<CompiledName("ToUIntPtr")>]
132-
letinlineunativeint(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.unativeintx.Value)elseNullable()
132+
letinlineunativeint(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.unativeintvalue.Value)elseNullable()
133133

134134
[<CompiledName("ToDecimal")>]
135-
letinlinedecimal(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.decimalx.Value)elseNullable()
135+
letinlinedecimal(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.decimalvalue.Value)elseNullable()
136136

137137
[<CompiledName("ToChar")>]
138-
letinlinechar(x:Nullable<_>)=ifx.HasValuethenNullable(Operators.charx.Value)elseNullable()
138+
letinlinechar(value:Nullable<_>)=ifvalue.HasValuethenNullable(Operators.charvalue.Value)elseNullable()
139139

140140
namespaceMicrosoft.FSharp.Linq.RuntimeHelpers
141141

142142
openSystem
143-
openSystem.Linq
144143
openSystem.Collections.Generic
145144
openSystem.Linq.Expressions
146145
openSystem.Reflection
@@ -165,7 +164,6 @@ module LeafExpressionConverter =
165164
//ThefollowingisrecognizedasaLINQ'memberinitializationpattern'inaquotation.
166165
letMemberInitializationHelper(_x:'T):'T=raise(NotSupportedException"This function should not be called directly")
167166

168-
169167
//ThefollowingisrecognizedasaLINQ'memberinitializationpattern'inaquotation.
170168
letNewAnonymousObjectHelper(_x:'T):'T=raise(NotSupportedException"This function should not be called directly")
171169

@@ -180,7 +178,9 @@ module LeafExpressionConverter =
180178

181179
letbindingFlags=BindingFlags.Public|||BindingFlags.NonPublic
182180
letinstanceBindingFlags=BindingFlags.Instance|||BindingFlags.Public|||BindingFlags.NonPublic|||BindingFlags.DeclaredOnly
181+
183182
letisNamedType(typ:Type)=not(typ.IsArray|| typ.IsByRef|| typ.IsPointer)
183+
184184
letequivHeadTypes(ty1:Type)(ty2:Type)=
185185
isNamedType(ty1)&&
186186
ifty1.IsGenericTypethen
@@ -189,6 +189,7 @@ module LeafExpressionConverter =
189189
ty1.Equals(ty2)
190190

191191
letisFunctionTypetyp=equivHeadTypestyp(typeof<(int-> int)>)
192+
192193
letgetFunctionTypetyp=
193194
ifnot(isFunctionType typ)theninvalidArg "typ" "cannotconvertrecursionexceptforfunctiontypes"
194195
lettyargs=typ.GetGenericArguments()
@@ -422,24 +423,6 @@ module LeafExpressionConverter =
422423
with
423424
|:? KeyNotFoundException-> invalidOp("The variable '"+ v.Name+"' was not found in the translation context'")
424425

425-
426-
#if WORKAROUND_FSHARP_2_0_BUG
427-
|:? KeyNotFoundExceptionwhen v.Name="this"->
428-
letmessage=
429-
"Encountered unxpected variable named 'this'. This might happen because"+
430-
"quotations used in queries can’t contain references to let-bound values in classes unless the quotation literal occurs in an instance member."+
431-
"If this is the case, workaround by replacing references to implicit fields with references to"+
432-
"local variables, e.g. rewrite\r\n"+
433-
" type Foo() =\r\n"+
434-
" let x = 1\r\n"+
435-
" let bar() = (methodhandleof (fun -> x))\r\n"+
436-
"as:\r\n"+
437-
" type Foo() =\r\n"+
438-
" let x = 1\r\n"+
439-
" let bar() = let x = x in (methodhandleof (fun -> x))\r\n";
440-
441-
NotSupportedException(message)|> raise
442-
#endif
443426
| DerivedPatterns.AndAlso(x1, x2)-> Expression.AndAlso(ConvExprToLinqInContext env x1, ConvExprToLinqInContext env x2)|> asExpr
444427
| DerivedPatterns.OrElse(x1, x2)-> Expression.OrElse(ConvExprToLinqInContext env x1, ConvExprToLinqInContext env x2)|> asExpr
445428
| Patterns.Value(x, ty)-> Expression.Constant(x, ty)|> asExpr
@@ -659,8 +642,7 @@ module LeafExpressionConverter =
659642
letargsP= ConvExprsToLinq env args
660643
Expression.Call(ConvObjArg env objOpt None, minfo, argsP)|> asExpr
661644

662-
#if NO_CURRIED_FUNCTION_OPTIMIZATIONS
663-
#else
645+
#if!NO_CURRIED_FUNCTION_OPTIMIZATIONS
664646
// f x1 x2 x3 x4 --> InvokeFast4
665647
| Patterns.Application(Patterns.Application(Patterns.Application(Patterns.Application(f, arg1), arg2), arg3), arg4)->
666648
// TODO: amortize this computation based on f.Type
@@ -722,8 +704,7 @@ module LeafExpressionConverter =
722704
letargsR= ConvExprsToLinq env args
723705
Expression.Call((null:Expression), methInfo, argsR)|> asExpr
724706

725-
#if NO_PATTERN_MATCHING_IN_INPUT_LANGUAGE
726-
#else
707+
#if!NO_PATTERN_MATCHING_IN_INPUT_LANGUAGE
727708
| Patterns.UnionCaseTest(e, unionCaseInfo)->
728709
letmethInfo= Reflection.FSharpValue.PreComputeUnionTagMemberInfo(unionCaseInfo.DeclaringType, showAll)
729710
letobj= ConvExprToLinqInContext env e

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp