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

Commit52391ed

Browse files
dsymeKevinRansom
authored andcommitted
[CompilerPerf] make tuples support Item* with warning (#4034)
* make tuples support Item* with warning* add deactivated tests for struct tuple* proper return types for Rest, prototype ctors* fix SRTP* fix tests* fix tests* add more protection* improve code for decompiling types* fix unit tests* don't rebuild* make infos systematic to reduce use of tcrefOfAppTy* update test cases* fix build* update test cases* bump FCS version consistently* use consistent names* code review
1 parent368dcfb commit52391ed

File tree

91 files changed

+1525
-822
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1525
-822
lines changed

‎.gitignore‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
/packages
44
/Tools
55

6+
/tests/scripts/current
7+
/release
8+
/debug
9+
/Proto
10+
611
# Patches that may have been generated by scripts.
712
# (These aren't generally useful to commit directly; if anything, they should be applied.)
813
scripts/*.patch

‎fcs/README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ which does things like:
6060
Yu can push the packages if you have permissions, either automatically using``build Release`` or manually
6161

6262
set APIKEY=...
63-
.nuget\nuget.exe push Release\FSharp.Compiler.Service.16.0.3.nupkg %APIKEY% -Source https://nuget.org
64-
.nuget\nuget.exe push Release\FSharp.Compiler.Service.MSBuild.v12.16.0.3.nupkg %APIKEY% -Source https://nuget.org
65-
.nuget\nuget.exe push Release\FSharp.Compiler.Service.ProjectCracker.16.0.3.nupkg %APIKEY% -Source https://nuget.org
63+
.nuget\nuget.exe push Release\FSharp.Compiler.Service.19.0.1.nupkg %APIKEY% -Source https://nuget.org
64+
.nuget\nuget.exe push Release\FSharp.Compiler.Service.MSBuild.v12.19.0.1.nupkg %APIKEY% -Source https://nuget.org
65+
.nuget\nuget.exe push Release\FSharp.Compiler.Service.ProjectCracker.19.0.1.nupkg %APIKEY% -Source https://nuget.org
6666

6767

6868
###Use of Paket and FAKE

‎fcs/RELEASE_NOTES.md‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
####19.0.1
2+
* Rename``LogicalEnclosingEntity`` to``ApparentEnclosingEntity`` for consistency int he F# codebase terminology.
3+
* Rename``EnclosingEntity`` to``DeclaringEntity``. In the case of extension properties,``EnclosingEntity`` was incorrectly returning the logical enclosing entity (i.e. the type the property appears to extend), and in this case``ApparentEnclosingEntity`` should be used instead.
4+
5+
####18.0.1
6+
* Integrate visualfsharp master
7+
8+
####17.0.2
9+
* Integrate visualfsharp master
10+
111
####16.0.3
212
*[File name deduplication not working with ParseAndCheckFileInProject](https://github.com/fsharp/FSharp.Compiler.Service/issues/819)
313

@@ -404,7 +414,7 @@
404414
* Return additional 'property' and 'event' methods for F#-defined types to regularize symbols (#108,#143)
405415
* Add IsPropertySetterMethod and IsPropertyGetterMethod which only return true for getter/setter methods, not properties. Deprecate IsSetterMethod and IsGetterMethod in favour of these.
406416
* Add IsEventAddMethod and IsEventRemoveMethod which return true for add/remove methods with an associated event
407-
* Change IsProperty and IsEvent to only return true for the symbols for properties and events, rather than the methodsassocaited with these
417+
* Change IsProperty and IsEvent to only return true for the symbols for properties and events, rather than the methodsassociated with these
408418
* Fix value of Assembly for some symbols (e.g. property symbols)
409419

410420
####0.0.45 -

‎fcs/docsrc/content/ja/symbols.fsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ fnVal.CurriedParameterGroups.[0].[0].Name // "x"
113113
fnVal.CurriedParameterGroups.[0].[1].Name// "y"
114114
fnVal.DeclarationLocation.StartLine// 3
115115
fnVal.DisplayName// "foo"
116-
fnVal.EnclosingEntity.DisplayName// "Test"
117-
fnVal.EnclosingEntity.DeclarationLocation.StartLine// 1
116+
fnVal.DeclaringEntity.DisplayName// "Test"
117+
fnVal.DeclaringEntity.DeclarationLocation.StartLine// 1
118118
fnVal.GenericParameters.Count// 0
119119
fnVal.InlineAnnotation// FSharpInlineAnnotation.OptionalInline
120120
fnVal.IsActivePattern// false

‎fcs/docsrc/content/symbols.fsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ fnVal.CurriedParameterGroups.[0].[0].Name // "x"
109109
fnVal.CurriedParameterGroups.[0].[1].Name// "y"
110110
fnVal.DeclarationLocation.StartLine// 3
111111
fnVal.DisplayName// "foo"
112-
fnVal.EnclosingEntity.DisplayName// "Test"
113-
fnVal.EnclosingEntity.DeclarationLocation.StartLine// 1
112+
fnVal.DeclaringEntity.DisplayName// "Test"
113+
fnVal.DeclaringEntity.DeclarationLocation.StartLine// 1
114114
fnVal.GenericParameters.Count// 0
115115
fnVal.InlineAnnotation// FSharpInlineAnnotation.OptionalInline
116116
fnVal.IsActivePattern// false

‎fcs/fcs.props‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<ProjectToolsVersion="4.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
44
<PropertyGroup>
55

6-
<VersionPrefix>16.0.3</VersionPrefix>
6+
<VersionPrefix>19.0.1</VersionPrefix>
77
<!-- FSharp.Compiler.Tools is currently only used to get a working FSI.EXE to execute some scripts during the build-->
88
<!-- The LKG FSI.EXE requires MSBuild 15 to be installed, which is painful-->
99
<FsiToolPath>$(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools</FsiToolPath>

‎fcs/nuget/FSharp.Compiler.Service.MSBuild.v12.nuspec‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<description>Adds legacy MSBuild 12.0 support to the F# compiler services package for resolving references such as #r "System, Version=4.1.0.0,..."</description>
66
<language>en-US</language>
77
<requireLicenseAcceptance>false</requireLicenseAcceptance>
8-
<version>16.0.3</version>
8+
<version>19.0.1</version>
99
<authors>Microsoft Corporation and F# community contributors</authors>
1010
<licenseUrl>https://github.com/fsharp/FSharp.Compiler.Service/blob/master/LICENSE</licenseUrl>
1111
<projectUrl>https://github.com/fsharp/FSharp.Compiler.Service</projectUrl>
@@ -14,7 +14,7 @@
1414
<summary>F# compiler services for creating IDE tools, language extensions and for F# embedding.</summary>
1515
<dependencies>
1616
<grouptargetFramework="net45">
17-
<dependencyid="FSharp.Compiler.Service"version="16.0.3" />
17+
<dependencyid="FSharp.Compiler.Service"version="19.0.1" />
1818
</group>
1919
</dependencies>
2020
</metadata>

‎fcs/nuget/FSharp.Compiler.Service.ProjectCracker.nuspec‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<description>The F# compiler services package contains a custom build of the F# compiler that exposes additional functionality for implementing F# language bindings, additional tools based on the compiler or refactoring tools. The package also includes F# interactive service that can be used for embedding F# scripting into your applications.</description>
66
<language>en-US</language>
77
<requireLicenseAcceptance>false</requireLicenseAcceptance>
8-
<version>16.0.3</version>
8+
<version>19.0.1</version>
99
<authors>Microsoft Corporation and F# community contributors</authors>
1010
<licenseUrl>https://github.com/fsharp/FSharp.Compiler.Service/blob/master/LICENSE</licenseUrl>
1111
<projectUrl>https://github.com/fsharp/FSharp.Compiler.Service</projectUrl>
@@ -14,7 +14,7 @@
1414
<summary>F# compiler services for creating IDE tools, language extensions and for F# embedding.</summary>
1515
<dependencies>
1616
<grouptargetFramework="net45">
17-
<dependencyid="FSharp.Compiler.Service"version="16.0.3" />
17+
<dependencyid="FSharp.Compiler.Service"version="19.0.1" />
1818
</group>
1919
</dependencies>
2020
</metadata>

‎fcs/nuget/FSharp.Compiler.Service.nuspec‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<description>The F# compiler services package contains a custom build of the F# compiler that exposes additional functionality for implementing F# language bindings, additional tools based on the compiler or refactoring tools. The package also includes F# interactive service that can be used for embedding F# scripting into your applications.</description>
66
<language>en-US</language>
77
<requireLicenseAcceptance>false</requireLicenseAcceptance>
8-
<version>16.0.3</version>
8+
<version>19.0.1</version>
99
<authors>Microsoft Corporation and F# community contributors</authors>
1010
<licenseUrl>https://github.com/fsharp/FSharp.Compiler.Service/blob/master/LICENSE</licenseUrl>
1111
<projectUrl>https://github.com/fsharp/FSharp.Compiler.Service</projectUrl>

‎src/absil/il.fs‎

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ type ILMethodRef =
726726
mrefName:string;
727727
mrefArgs:ILTypes;
728728
mrefReturn:ILType}
729-
memberx.EnclosingTypeRef= x.mrefParent
729+
memberx.DeclaringTypeRef= x.mrefParent
730730
memberx.CallingConv= x.mrefCallconv
731731
memberx.Name= x.mrefName
732732
memberx.GenericArity= x.mrefGenericArity
@@ -737,24 +737,24 @@ type ILMethodRef =
737737
memberx.CallingSignature= mkILCallSig(x.CallingConv,x.ArgTypes,x.ReturnType)
738738
static memberCreate(a,b,c,d,e,f)=
739739
{ mrefParent= a;mrefCallconv=b;mrefName=c;mrefGenericArity=d; mrefArgs=e;mrefReturn=f}
740-
overridex.ToString()= x.EnclosingTypeRef.ToString()+"::"+ x.Name+"(...)"
740+
overridex.ToString()= x.DeclaringTypeRef.ToString()+"::"+ x.Name+"(...)"
741741

742742

743743
[<StructuralEquality; StructuralComparison>]
744744
typeILFieldRef=
745-
{EnclosingTypeRef:ILTypeRef;
745+
{DeclaringTypeRef:ILTypeRef;
746746
Name:string;
747747
Type:ILType}
748-
overridex.ToString()= x.EnclosingTypeRef.ToString()+"::"+ x.Name
748+
overridex.ToString()= x.DeclaringTypeRef.ToString()+"::"+ x.Name
749749

750750
[<StructuralEquality; StructuralComparison>]
751751
typeILMethodSpec=
752752
{ mspecMethodRef:ILMethodRef;
753-
mspecEnclosingType:ILType;
753+
mspecDeclaringType:ILType;
754754
mspecMethodInst:ILGenericArgs;}
755-
static memberCreate(a,b,c)={mspecEnclosingType=a; mspecMethodRef=b; mspecMethodInst=c}
755+
static memberCreate(a,b,c)={mspecDeclaringType=a; mspecMethodRef=b; mspecMethodInst=c}
756756
memberx.MethodRef= x.mspecMethodRef
757-
memberx.EnclosingType=x.mspecEnclosingType
757+
memberx.DeclaringType=x.mspecDeclaringType
758758
memberx.GenericArgs=x.mspecMethodInst
759759
memberx.Name=x.MethodRef.Name
760760
memberx.CallingConv=x.MethodRef.CallingConv
@@ -766,10 +766,10 @@ type ILMethodSpec =
766766

767767
typeILFieldSpec=
768768
{ FieldRef:ILFieldRef;
769-
EnclosingType:ILType}
769+
DeclaringType:ILType}
770770
memberx.FormalType= x.FieldRef.Type
771771
memberx.Name= x.FieldRef.Name
772-
memberx.EnclosingTypeRef= x.FieldRef.EnclosingTypeRef
772+
memberx.DeclaringTypeRef= x.FieldRef.DeclaringTypeRef
773773
overridex.ToString()= x.FieldRef.ToString()
774774

775775

@@ -1302,7 +1302,7 @@ type ILReturn =
13021302
typeILOverridesSpec=
13031303
| OverridesSpecofILMethodRef*ILType
13041304
memberx.MethodRef=let(OverridesSpec(mr,_ty))= xin mr
1305-
memberx.EnclosingType=let(OverridesSpec(_mr,ty))= xin ty
1305+
memberx.DeclaringType=let(OverridesSpec(_mr,ty))= xin ty
13061306

13071307
typeILMethodVirtualInfo=
13081308
{ IsFinal:bool
@@ -1817,10 +1817,10 @@ let mkILMethRef (tref,callconv,nm,gparams,args,rty) =
18171817

18181818
letmkILMethSpecForMethRefInTy(mref,typ,minst)=
18191819
{ mspecMethodRef=mref;
1820-
mspecEnclosingType=typ;
1820+
mspecDeclaringType=typ;
18211821
mspecMethodInst=minst}
18221822

1823-
letmkILMethSpec(mref,vc,tinst,minst)= mkILMethSpecForMethRefInTy(mref,mkILNamedTy vc mref.EnclosingTypeRef tinst, minst)
1823+
letmkILMethSpec(mref,vc,tinst,minst)= mkILMethSpecForMethRefInTy(mref,mkILNamedTy vc mref.DeclaringTypeRef tinst, minst)
18241824

18251825
letmk_mspec_in_tref(tref,vc,cc,nm,args,rty,tinst,minst)=
18261826
mkILMethSpec(mkILMethRef( tref,cc,nm,List.length minst,args,rty),vc,tinst,minst)
@@ -1856,9 +1856,9 @@ let mkILNonGenericCtorMethSpec (tref,args) =
18561856
// Make references to fields
18571857
// --------------------------------------------------------------------
18581858

1859-
letmkILFieldRef(tref,nm,ty)={EnclosingTypeRef=tref; Name=nm; Type=ty}
1859+
letmkILFieldRef(tref,nm,ty)={DeclaringTypeRef=tref; Name=nm; Type=ty}
18601860

1861-
letmkILFieldSpec(tref,ty)={ FieldRef= tref;EnclosingType=ty}
1861+
letmkILFieldSpec(tref,ty)={ FieldRef= tref;DeclaringType=ty}
18621862

18631863
letmkILFieldSpecInTy(typ:ILType,nm,fty)=
18641864
mkILFieldSpec(mkILFieldRef(typ.TypeRef,nm,fty), typ)
@@ -2205,15 +2205,15 @@ and rescopeILCallSig scoref csig =
22052205
mkILCallSig(csig.CallingConv,rescopeILTypes scoref csig.ArgTypes,rescopeILType scoref csig.ReturnType)
22062206

22072207
letrescopeILMethodRef scoref(x:ILMethodRef)=
2208-
{ mrefParent= rescopeILTypeRef scoref x.EnclosingTypeRef;
2208+
{ mrefParent= rescopeILTypeRef scoref x.DeclaringTypeRef;
22092209
mrefCallconv= x.mrefCallconv;
22102210
mrefGenericArity=x.mrefGenericArity;
22112211
mrefName=x.mrefName;
22122212
mrefArgs= rescopeILTypes scoref x.mrefArgs;
22132213
mrefReturn= rescopeILType scoref x.mrefReturn}
22142214

22152215
letrescopeILFieldRef scoref x=
2216-
{EnclosingTypeRef= rescopeILTypeRef scoref x.EnclosingTypeRef;
2216+
{DeclaringTypeRef= rescopeILTypeRef scoref x.DeclaringTypeRef;
22172217
Name= x.Name;
22182218
Type= rescopeILType scoref x.Type}
22192219

@@ -2277,7 +2277,7 @@ let mkILLocal ty dbgInfo : ILLocal =
22772277

22782278
typeILFieldSpecwith
22792279
memberfr.ActualType=
2280-
letenv= fr.EnclosingType.GenericArgs
2280+
letenv= fr.DeclaringType.GenericArgs
22812281
instILType env fr.FormalType
22822282

22832283
// --------------------------------------------------------------------
@@ -3482,20 +3482,20 @@ and refs_of_genparams s b = List.iter (refs_of_genparam s) b
34823482
andrefs_of_dloc s ts= refs_of_tref s ts
34833483

34843484
andrefs_of_mref s(x:ILMethodRef)=
3485-
refs_of_dloc s x.EnclosingTypeRef;
3485+
refs_of_dloc s x.DeclaringTypeRef;
34863486
refs_of_typs s x.mrefArgs;
34873487
refs_of_typ s x.mrefReturn
34883488

3489-
andrefs_of_fref s x= refs_of_tref s x.EnclosingTypeRef; refs_of_typ s x.Type
3489+
andrefs_of_fref s x= refs_of_tref s x.DeclaringTypeRef; refs_of_typ s x.Type
34903490
andrefs_of_ospec s(OverridesSpec(mref,ty))= refs_of_mref s mref; refs_of_typ s ty
34913491
andrefs_of_mspec s(x:ILMethodSpec)=
34923492
refs_of_mref s x.MethodRef;
3493-
refs_of_typ s x.EnclosingType;
3493+
refs_of_typ s x.DeclaringType;
34943494
refs_of_inst s x.GenericArgs
34953495

34963496
andrefs_of_fspec s x=
34973497
refs_of_fref s x.FieldRef;
3498-
refs_of_typ s x.EnclosingType
3498+
refs_of_typ s x.DeclaringType
34993499

35003500
andrefs_of_typs s l= List.iter(refs_of_typ s) l
35013501

@@ -3769,11 +3769,11 @@ let ungenericizeTypeName n =
37693769
typeILEventRef=
37703770
{ erA:ILTypeRef; erB:string}
37713771
static memberCreate(a,b)={erA=a;erB=b}
3772-
memberx.EnclosingTypeRef= x.erA
3772+
memberx.DeclaringTypeRef= x.erA
37733773
memberx.Name= x.erB
37743774

37753775
typeILPropertyRef=
37763776
{ prA:ILTypeRef; prB:string}
37773777
static memberCreate(a,b)={prA=a;prB=b}
3778-
memberx.EnclosingTypeRef= x.prA
3778+
memberx.DeclaringTypeRef= x.prA
37793779
memberx.Name= x.prB

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp