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

Commit7360b82

Browse files
committed
initial version of Profile78 support: make S.R.IS optional
1 parenta443cf5 commit7360b82

File tree

10 files changed

+80
-55
lines changed

10 files changed

+80
-55
lines changed

‎src/absil/il.fs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2477,7 +2477,7 @@ type IPrimaryAssemblyTraits =
24772477
abstractContextStaticAttributeScopeRef :ILScopeRefoption
24782478
abstractNonSerializedAttributeScopeRef :ILScopeRefoption
24792479

2480-
abstractSystemRuntimeInteropServicesScopeRef :Lazy<ILScopeRef>
2480+
abstractSystemRuntimeInteropServicesScopeRef :Lazy<ILScopeRefoption>
24812481
abstractSystemLinqExpressionsScopeRef :Lazy<ILScopeRef>
24822482
abstractSystemCollectionsScopeRef :Lazy<ILScopeRef>
24832483
abstractSystemReflectionScopeRef :Lazy<ILScopeRef>
@@ -4422,7 +4422,7 @@ let mkMscorlibBasedTraits mscorlibRef =
44224422
memberthis.SerializationInfoTypeScopeRef= ecmaMscorlibScopeRef
44234423
memberthis.SecurityPermissionAttributeTypeScopeRef= ecmaMscorlibScopeRef
44244424
memberthis.SystemDiagnosticsDebugScopeRef= lazyRef
4425-
memberthis.SystemRuntimeInteropServicesScopeRef=lazyRef
4425+
memberthis.SystemRuntimeInteropServicesScopeRef=lazy(Some mscorlibRef)
44264426
memberthis.IDispatchConstantAttributeScopeRef= ecmaMscorlibScopeRef
44274427
memberthis.IUnknownConstantAttributeScopeRef= ecmaMscorlibScopeRef
44284428
memberthis.ContextStaticAttributeScopeRef= ecmaMscorlibScopeRef

‎src/absil/il.fsi‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1670,7 +1670,7 @@ type IPrimaryAssemblyTraits =
16701670
abstract ContextStaticAttributeScopeRef:ILScopeRef option
16711671
abstract NonSerializedAttributeScopeRef:ILScopeRef option
16721672

1673-
abstract SystemRuntimeInteropServicesScopeRef:Lazy<ILScopeRef>
1673+
abstract SystemRuntimeInteropServicesScopeRef:Lazy<ILScopeRefoption>
16741674
abstract SystemLinqExpressionsScopeRef:Lazy<ILScopeRef>
16751675
abstract SystemCollectionsScopeRef:Lazy<ILScopeRef>
16761676
abstract SystemReflectionScopeRef:Lazy<ILScopeRef>

‎src/fsharp/NicePrint.fs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -658,11 +658,11 @@ module private PrintTypes =
658658

659659
if denv.showAttributesthen
660660
// Don't display DllImport attributes in generated signatures
661-
letattrs= attrs|> List.filter(IsMatchingFSharpAttribute denv.g denv.g.attrib_DllImportAttribute>>not)
661+
letattrs= attrs|> List.filter(IsMatchingFSharpAttributeOpt denv.g denv.g.attrib_DllImportAttribute>>not)
662662
letattrs= attrs|> List.filter(IsMatchingFSharpAttributeOpt denv.g denv.g.attrib_ContextStaticAttribute>>not)
663663
letattrs= attrs|> List.filter(IsMatchingFSharpAttributeOpt denv.g denv.g.attrib_ThreadStaticAttribute>>not)
664664
letattrs= attrs|> List.filter(IsMatchingFSharpAttribute denv.g denv.g.attrib_EntryPointAttribute>>not)
665-
letattrs= attrs|> List.filter(IsMatchingFSharpAttribute denv.g denv.g.attrib_MarshalAsAttribute>>not)
665+
letattrs= attrs|> List.filter(IsMatchingFSharpAttributeOpt denv.g denv.g.attrib_MarshalAsAttribute>>not)
666666
letattrs= attrs|> List.filter(IsMatchingFSharpAttribute denv.g denv.g.attrib_ReflectedDefinitionAttribute>>not)
667667
letattrs= attrs|> List.filter(IsMatchingFSharpAttribute denv.g denv.g.attrib_StructLayoutAttribute>>not)
668668
letattrs= attrs|> List.filter(IsMatchingFSharpAttribute denv.g denv.g.attrib_AutoSerializableAttribute>>not)

‎src/fsharp/build.fs‎

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1749,9 +1749,14 @@ type AvailableImportedAssembly =
17491749
// For .NETCore everything is not so obvious because fundamental types now reside in different assemblies and this makes initialization more tricky:
17501750
// - read system runtime -> create ILGlobals that is partially initialized (*) -> use ILGlobals to read remaining assemblies -> finish the initialization of ILGlobals using data from the previous step
17511751
// BeginLoadingSystemRuntime -> (*) EndLoadingSystemRuntime
1752+
1753+
typeCcuLoadFailureAction=
1754+
| RaiseError
1755+
| ReturnNone
1756+
17521757
typeISystemRuntimeCcuInitializer=
17531758
abstractBeginLoadingSystemRuntime : resolver:(AssemblyReference->ImportedAssembly)* noDebug:bool->ILGlobals*obj
1754-
abstractEndLoadingSystemRuntime : state:obj* resolver:(AssemblyReference->ImportedAssembly)->ImportedAssembly
1759+
abstractEndLoadingSystemRuntime : state:obj* resolver:(CcuLoadFailureAction->AssemblyReference->ImportedAssemblyoption)->ImportedAssembly
17551760

17561761
typeNetCoreSystemRuntimeTraits(primaryAssembly)=
17571762

@@ -1767,11 +1772,11 @@ type NetCoreSystemRuntimeTraits(primaryAssembly) =
17671772
let mutablesystemRuntimeInteropServices= None
17681773

17691774
memberthis.FixupImportedAssemblies(systemReflectionRef,systemDiagnosticsDebugRef,systemLinqExpressionsRef,systemCollectionsRef,systemRuntimeInteropServicesRef)=
1770-
systemReflection<-SomesystemReflectionRef
1771-
systemDiagnosticsDebug<-SomesystemDiagnosticsDebugRef
1772-
systemLinqExpressions<-SomesystemLinqExpressionsRef
1773-
systemCollections<-SomesystemCollectionsRef
1774-
systemRuntimeInteropServices<-SomesystemRuntimeInteropServicesRef
1775+
systemReflection<- systemReflectionRef
1776+
systemDiagnosticsDebug<- systemDiagnosticsDebugRef
1777+
systemLinqExpressions<- systemLinqExpressionsRef
1778+
systemCollections<- systemCollectionsRef
1779+
systemRuntimeInteropServices<- systemRuntimeInteropServicesRef
17751780

17761781
interface IPrimaryAssemblyTraitswith
17771782
memberthis.ScopeRef= primaryAssembly
@@ -1781,7 +1786,11 @@ type NetCoreSystemRuntimeTraits(primaryAssembly) =
17811786
memberthis.SerializationInfoTypeScopeRef= None
17821787
memberthis.SecurityPermissionAttributeTypeScopeRef= None
17831788
memberthis.SystemDiagnosticsDebugScopeRef=lazy((valueOf"System.Diagnostics.Debug" systemDiagnosticsDebug).FSharpViewOfMetadata.ILScopeRef)
1784-
memberthis.SystemRuntimeInteropServicesScopeRef=lazy((valueOf"System.Runtime.InteropServices" systemRuntimeInteropServices).FSharpViewOfMetadata.ILScopeRef)
1789+
memberthis.SystemRuntimeInteropServicesScopeRef=
1790+
lazy
1791+
match systemRuntimeInteropServiceswith
1792+
| Some assemblyRef-> Some assemblyRef.FSharpViewOfMetadata.ILScopeRef
1793+
| None-> None
17851794
memberthis.IDispatchConstantAttributeScopeRef= None
17861795
memberthis.IUnknownConstantAttributeScopeRef= None
17871796
memberthis.ContextStaticAttributeScopeRef= None
@@ -1838,11 +1847,11 @@ type PrimaryAssembly =
18381847
// finish initialization of SystemRuntimeTraits
18391848
traits.FixupImportedAssemblies
18401849
(
1841-
systemReflectionRef= resolver systemReflectionRef,
1842-
systemDiagnosticsDebugRef= resolver systemDiagnosticsDebugRef,
1843-
systemRuntimeInteropServicesRef= resolver systemRuntimeInteropServicesRef,
1844-
systemLinqExpressionsRef= resolver systemLinqExpressionsRef,
1845-
systemCollectionsRef= resolver systemCollectionsRef
1850+
systemReflectionRef= resolverCcuLoadFailureAction.RaiseErrorsystemReflectionRef,
1851+
systemDiagnosticsDebugRef= resolverCcuLoadFailureAction.RaiseErrorsystemDiagnosticsDebugRef,
1852+
systemRuntimeInteropServicesRef= resolverCcuLoadFailureAction.ReturnNonesystemRuntimeInteropServicesRef,
1853+
systemLinqExpressionsRef= resolverCcuLoadFailureAction.RaiseErrorsystemLinqExpressionsRef,
1854+
systemCollectionsRef= resolverCcuLoadFailureAction.RaiseErrorsystemCollectionsRef
18461855
)
18471856
primaryAssembly
18481857
}
@@ -4233,7 +4242,7 @@ type TcImports(tcConfigP:TcConfigProvider, initialResolutions:TcAssemblyResoluti
42334242

42344243
// Note: TcImports are disposable - the caller owns this object and must dispose
42354244
letframeworkTcImports=new TcImports(tcConfigP,tcResolutions,None,None)
4236-
letresolveAssembly r=
4245+
letresolveAssemblyloadFailureActionr=
42374246
// use existing resolutions before trying to search in known folders
42384247
letresolution=
42394248
match tcResolutions.TryFindByOriginalReference rwith
@@ -4243,11 +4252,14 @@ type TcImports(tcConfigP:TcConfigProvider, initialResolutions:TcAssemblyResoluti
42434252
| Some r-> r
42444253
| None-> tcConfig.ResolveLibWithDirectories r
42454254
match frameworkTcImports.RegisterAndImportReferencedAssemblies(None,[resolution])with
4246-
|(_,[ResolvedImportedAssembly(ccu)])-> ccu
4247-
|_-> error(InternalError("BuildFoundationalTcImports: no ccu for"+ r.Text, rangeStartup))
4255+
|(_,[ResolvedImportedAssembly(ccu)])-> Some ccu
4256+
|_->
4257+
match loadFailureActionwith
4258+
| CcuLoadFailureAction.RaiseError-> error(InternalError("BuildFoundationalTcImports: no ccu for"+ r.Text, rangeStartup))
4259+
| CcuLoadFailureAction.ReturnNone-> None
42484260

42494261
letccuInitializer= tcConfig.GetPrimaryAssemblyCcuInitializer()
4250-
letilGlobals,state= ccuInitializer.BeginLoadingSystemRuntime(resolveAssembly, tcConfig.noDebugData)
4262+
letilGlobals,state= ccuInitializer.BeginLoadingSystemRuntime((resolveAssembly CcuLoadFailureAction.RaiseError)>> Option.get, tcConfig.noDebugData)
42514263
frameworkTcImports.SetILGlobals ilGlobals
42524264
letsysCcu= ccuInitializer.EndLoadingSystemRuntime(state, resolveAssembly)
42534265

‎src/fsharp/env.fs‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -294,19 +294,19 @@ type public TcGlobals =
294294
attrib_IDispatchConstantAttribute:BuiltinAttribInfo option;
295295
attrib_IUnknownConstantAttribute:BuiltinAttribInfo option;
296296
attrib_SystemObsolete:BuiltinAttribInfo;
297-
attrib_DllImportAttribute:BuiltinAttribInfo;
297+
attrib_DllImportAttribute:BuiltinAttribInfo option;
298298
attrib_CompiledNameAttribute:BuiltinAttribInfo;
299299
attrib_NonSerializedAttribute:BuiltinAttribInfo option;
300300
attrib_AutoSerializableAttribute:BuiltinAttribInfo;
301301
attrib_StructLayoutAttribute:BuiltinAttribInfo;
302302
attrib_TypeForwardedToAttribute:BuiltinAttribInfo;
303303
attrib_ComVisibleAttribute:BuiltinAttribInfo;
304-
attrib_ComImportAttribute:BuiltinAttribInfo;
304+
attrib_ComImportAttribute:BuiltinAttribInfo option;
305305
attrib_FieldOffsetAttribute:BuiltinAttribInfo;
306-
attrib_MarshalAsAttribute:BuiltinAttribInfo;
307-
attrib_InAttribute:BuiltinAttribInfo;
306+
attrib_MarshalAsAttribute:BuiltinAttribInfo option;
307+
attrib_InAttribute:BuiltinAttribInfo option;
308308
attrib_OutAttribute:BuiltinAttribInfo;
309-
attrib_OptionalAttribute:BuiltinAttribInfo;
309+
attrib_OptionalAttribute:BuiltinAttribInfo option;
310310
attrib_ThreadStaticAttribute:BuiltinAttribInfo option;
311311
attrib_SpecialNameAttribute:BuiltinAttribInfo option;
312312
attrib_VolatileFieldAttribute:BuiltinAttribInfo;
@@ -315,7 +315,7 @@ type public TcGlobals =
315315
attrib_DefaultMemberAttribute:BuiltinAttribInfo;
316316
attrib_DebuggerDisplayAttribute:BuiltinAttribInfo;
317317
attrib_DebuggerTypeProxyAttribute:BuiltinAttribInfo;
318-
attrib_PreserveSigAttribute:BuiltinAttribInfo;
318+
attrib_PreserveSigAttribute:BuiltinAttribInfo option;
319319
attrib_MethodImplAttribute:BuiltinAttribInfo;
320320
attrib_ExtensionAttribute:BuiltinAttribInfo;
321321
tcref_System_Collections_Generic_IList:TyconRef;
@@ -819,7 +819,10 @@ let mkTcGlobals (compilingFslib,sysCcu,ilg,fslibCcu,directoryToResolveRelativePa
819819

820820

821821
letmkSystemRuntimeAttrib(nm:string):BuiltinAttribInfo= mkAttrib nm ilg.traits.ScopeRef
822-
letmkSystemRuntimeInteropServicesAttribute nm= mkAttrib nm(ilg.traits.SystemRuntimeInteropServicesScopeRef.Value)
822+
letmkSystemRuntimeInteropServicesAttribute nm=
823+
match ilg.traits.SystemRuntimeInteropServicesScopeRef.Valuewith
824+
| Some assemblyRef-> Some(mkAttrib nm assemblyRef)
825+
| None-> None
823826
letmkSystemDiagnosticsDebugAttribute nm= mkAttrib nm(ilg.traits.SystemDiagnosticsDebugScopeRef.Value)
824827

825828
letmk_doc filename= ILSourceDocument.Create(language=None, vendor=None, documentType=None, file=filename)

‎src/fsharp/ilxgen.fs‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ let StorageForValRef m (v: ValRef) eenv = StorageForVal m v.Deref eenv
778778
//--------------------------------------------------------------------------
779779

780780
letIsValRefIsDllImport g(vref:ValRef)=
781-
vref.Attribs|>HasFSharpAttribute g g.attrib_DllImportAttribute
781+
vref.Attribs|>HasFSharpAttributeOpt g g.attrib_DllImportAttribute
782782

783783
letGetMethodSpecForMemberVal amap g memberInfo(vref:ValRef)=
784784
letm= vref.Range
@@ -4863,9 +4863,9 @@ and GenMarshal cenv attribs =
48634863
match cenv.opts.ilxBackendwith
48644864
| IlReflectBackend-> attribs
48654865
| IlWriteBackend->
4866-
attribs|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_MarshalAsAttribute>>not)
4866+
attribs|> List.filter(IsMatchingFSharpAttributeOpt cenv.g cenv.g.attrib_MarshalAsAttribute>>not)
48674867

4868-
matchTryFindFSharpAttribute cenv.g cenv.g.attrib_MarshalAsAttribute attribswith
4868+
matchTryFindFSharpAttributeOpt cenv.g cenv.g.attrib_MarshalAsAttribute attribswith
48694869
| Some(Attrib(_,_,[ AttribInt32Arg unmanagedType],namedArgs,_,_,m))->
48704870
letdecoder= AttributeDecoder namedArgs
48714871
let recdecodeUnmanagedType unmanagedType=
@@ -4981,16 +4981,16 @@ and GenMarshal cenv attribs =
49814981
None, attribs
49824982

49834983
andGenParamAttribs cenv attribs=
4984-
letinFlag=HasFSharpAttribute cenv.g cenv.g.attrib_InAttribute attribs
4984+
letinFlag=HasFSharpAttributeOpt cenv.g cenv.g.attrib_InAttribute attribs
49854985
letoutFlag= HasFSharpAttribute cenv.g cenv.g.attrib_OutAttribute attribs
4986-
letoptionalFlag=HasFSharpAttribute cenv.g cenv.g.attrib_OptionalAttribute attribs
4986+
letoptionalFlag=HasFSharpAttributeOpt cenv.g cenv.g.attrib_OptionalAttribute attribs
49874987
// Return the filtered attributes. Do not generate In, Out or Optional attributes
49884988
// as custom attributes in the code - they are implicit from the IL bits for these
49894989
letattribs=
49904990
attribs
4991-
|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_InAttribute>>not)
4991+
|> List.filter(IsMatchingFSharpAttributeOpt cenv.g cenv.g.attrib_InAttribute>>not)
49924992
|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_OutAttribute>>not)
4993-
|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_OptionalAttribute>>not)
4993+
|> List.filter(IsMatchingFSharpAttributeOpt cenv.g cenv.g.attrib_OptionalAttribute>>not)
49944994

49954995
letMarshal,attribs= GenMarshal cenv attribs
49964996
inFlag,outFlag,optionalFlag,Marshal,attribs
@@ -5114,7 +5114,7 @@ and ComputeMethodImplAttribs cenv (_v:Val) attrs =
51145114
|_->0x0
51155115

51165116
lethasPreserveSigAttr=
5117-
matchTryFindFSharpAttribute cenv.g cenv.g.attrib_PreserveSigAttribute attrswith
5117+
matchTryFindFSharpAttributeOpt cenv.g cenv.g.attrib_PreserveSigAttribute attrswith
51185118
| Some_->true
51195119
|_->false
51205120

@@ -5125,7 +5125,7 @@ and ComputeMethodImplAttribs cenv (_v:Val) attrs =
51255125
// (See ECMA 335, Partition II, section 23.1.11 - Flags for methods [MethodImplAttributes])
51265126
letattrs= attrs
51275127
|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_MethodImplAttribute>>not)
5128-
|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_PreserveSigAttribute>>not)
5128+
|> List.filter(IsMatchingFSharpAttributeOpt cenv.g cenv.g.attrib_PreserveSigAttribute>>not)
51295129
lethasPreserveSigImplFlag=((implflags&&&0x80)<>0x0)|| hasPreserveSigAttr
51305130
lethasSynchronizedImplFlag=(implflags&&&0x20)<>0x0
51315131
lethasNoInliningImplFlag=(implflags&&&0x08)<>0x0
@@ -5175,7 +5175,7 @@ and GenMethodForBinding
51755175
// Now generate the code.
51765176

51775177
lethasPreserveSigNamedArg,ilMethodBody,_hasDllImport=
5178-
matchTryFindFSharpAttribute cenv.g cenv.g.attrib_DllImportAttribute v.Attribswith
5178+
matchTryFindFSharpAttributeOpt cenv.g cenv.g.attrib_DllImportAttribute v.Attribswith
51795179
| Some(Attrib(_,_,[ AttribStringArg(dll)],namedArgs,_,_,m))->
51805180
if nonNil tpsthen error(Error(FSComp.SR.ilSignatureForExternalFunctionContainsTypeParameters(),m));
51815181
lethasPreserveSigNamedArg,mbody= GenPInvokeMethod(v.CompiledName,dll,namedArgs)
@@ -5202,7 +5202,7 @@ and GenMethodForBinding
52025202
// Do not generate DllImport attributes into the code - they are implicit from the P/Invoke
52035203
letattrs=
52045204
v.Attribs
5205-
|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_DllImportAttribute>>not)
5205+
|> List.filter(IsMatchingFSharpAttributeOpt cenv.g cenv.g.attrib_DllImportAttribute>>not)
52065206
|> List.filter(IsMatchingFSharpAttribute cenv.g cenv.g.attrib_CompiledNameAttribute>>not)
52075207

52085208
letattrsAppliedToGetterOrSetter,attrs=

‎src/fsharp/infos.fs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -724,9 +724,9 @@ type ILMethInfo =
724724
/// Indicates if the method is marked as a DllImport (a PInvoke). This is done by looking at the IL custom attributes on
725725
/// the method.
726726
memberx.IsDllImport g=
727-
let(AttribInfo(tref,_))=g.attrib_DllImportAttribute
728-
x.RawMetadata.CustomAttrs|> TryDecodeILAttribute g tref(Some tref.Scope)|> isSome
729-
727+
matchg.attrib_DllImportAttributewith
728+
| None->false
729+
| Some(AttribInfo(tref,_))->x.RawMetadata.CustomAttrs|> TryDecodeILAttribute g tref(Some tref.Scope)|> isSome
730730

731731
/// Get the (zero or one) 'self'/'this'/'object' arguments associated with an IL method.
732732
/// An instance extension method returns one object argument.

‎src/fsharp/tastops.fs‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2514,6 +2514,7 @@ let IsMatchingFSharpAttribute g (AttribInfo(_,tcref)) (Attrib(tcref2,_,_,_,_,_,_
25142514
letHasFSharpAttribute g tref attrs= List.exists(IsMatchingFSharpAttribute g tref) attrs
25152515
letfindAttrib g tref attrs= List.find(IsMatchingFSharpAttribute g tref) attrs
25162516
letTryFindFSharpAttribute g tref attrs= List.tryFind(IsMatchingFSharpAttribute g tref) attrs
2517+
letTryFindFSharpAttributeOpt g tref attrs=match trefwith None-> None| Some tref-> List.tryFind(IsMatchingFSharpAttribute g tref) attrs
25172518

25182519
letHasFSharpAttributeOpt g trefOpt attrs=match trefOptwith Some tref-> List.exists(IsMatchingFSharpAttribute g tref) attrs|_->false
25192520
letIsMatchingFSharpAttributeOpt g attrOpt(Attrib(tcref2,_,_,_,_,_,_))=match attrOptwith Some((AttribInfo(_,tcref)))-> tyconRefEq g tcref tcref2|_->false
@@ -7003,7 +7004,9 @@ let isSealedTy g ty =
70037004

70047005
letisComInteropTy g ty=
70057006
lettcr,_= destAppTy g ty
7006-
TryFindFSharpBoolAttribute g g.attrib_ComImportAttribute tcr.Attribs= Some(true)
7007+
match g.attrib_ComImportAttributewith
7008+
| None->false
7009+
| Some attr-> TryFindFSharpBoolAttribute g attr tcr.Attribs= Some(true)
70077010

70087011
letValSpecIsCompiledAsInstance g(v:Val)=
70097012
match v.MemberInfowith

‎src/fsharp/tastops.fsi‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,6 +1190,7 @@ val IsMatchingFSharpAttributeOpt : TcGlobals -> Env.BuiltinAttribInfo option -
11901190
val HasFSharpAttribute: TcGlobals-> Env.BuiltinAttribInfo-> Attribs-> bool
11911191
val HasFSharpAttributeOpt: TcGlobals-> Env.BuiltinAttribInfo option-> Attribs-> bool
11921192
val TryFindFSharpAttribute: TcGlobals-> Env.BuiltinAttribInfo-> Attribs-> Attrib option
1193+
val TryFindFSharpAttributeOpt: TcGlobals-> Env.BuiltinAttribInfo option-> Attribs-> Attrib option
11931194
val TryFindFSharpBoolAttribute: TcGlobals-> Env.BuiltinAttribInfo-> Attribs-> bool option
11941195
val TryFindFSharpStringAttribute: TcGlobals-> Env.BuiltinAttribInfo-> Attribs-> string option
11951196
val TryFindFSharpInt32Attribute: TcGlobals-> Env.BuiltinAttribInfo-> Attribs-> int32 option

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp