Tidy up a bit (#108)

This commit is contained in:
Patrick Stevens
2025-08-23 18:41:12 +01:00
committed by GitHub
parent 92f22cff42
commit e2e3d5c3bf
8 changed files with 10 additions and 10 deletions

View File

@@ -463,8 +463,7 @@ module Assembly =
match targetType with match targetType with
| [ t ] -> | [ t ] ->
let t = let t =
t t |> TypeInfo.mapGeneric (fun (param, md) -> genericArgs.[param.SequenceNumber])
|> TypeInfo.mapGeneric (fun _ (param, md) -> genericArgs.[param.SequenceNumber])
TypeResolutionResult.Resolved (assy, t) TypeResolutionResult.Resolved (assy, t)
| _ :: _ :: _ -> failwith $"Multiple matching type definitions! {nsPath} {target.Name}" | _ :: _ :: _ -> failwith $"Multiple matching type definitions! {nsPath} {target.Name}"
@@ -490,7 +489,7 @@ module Assembly =
| Some typeDef -> | Some typeDef ->
let typeDef = let typeDef =
typeDef typeDef
|> TypeInfo.mapGeneric (fun _ (param, md) -> genericArgs.[param.SequenceNumber]) |> TypeInfo.mapGeneric (fun (param, md) -> genericArgs.[param.SequenceNumber])
TypeResolutionResult.Resolved (assy, typeDef) TypeResolutionResult.Resolved (assy, typeDef)
| None -> | None ->

View File

@@ -50,7 +50,6 @@ type ConcreteType<'typeGeneric> =
override this.GetHashCode () : int = override this.GetHashCode () : int =
hash (this._AssemblyName.FullName, this._Definition, this._Generics) hash (this._AssemblyName.FullName, this._Definition, this._Generics)
[<RequireQualifiedAccess>] [<RequireQualifiedAccess>]
module ConcreteType = module ConcreteType =
let make let make

View File

@@ -189,8 +189,8 @@ module TypeInfo =
ImplementedInterfaces = t.ImplementedInterfaces ImplementedInterfaces = t.ImplementedInterfaces
} }
let mapGeneric<'a, 'b, 'field> (f : int -> 'a -> 'b) (t : TypeInfo<'a, 'field>) : TypeInfo<'b, 'field> = let mapGeneric<'a, 'b, 'field> (f : 'a -> 'b) (t : TypeInfo<'a, 'field>) : TypeInfo<'b, 'field> =
withGenerics (t.Generics |> Seq.mapi f |> ImmutableArray.CreateRange) t withGenerics (t.Generics |> ImmutableArray.map f) t
let internal read let internal read
(loggerFactory : ILoggerFactory) (loggerFactory : ILoggerFactory)

View File

@@ -7,6 +7,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="StringToken.fs" /> <Compile Include="StringToken.fs" />
<Compile Include="ImmutableArray.fs" />
<Compile Include="Tokens.fs" /> <Compile Include="Tokens.fs" />
<Compile Include="TypeRef.fs" /> <Compile Include="TypeRef.fs" />
<Compile Include="IlOp.fs" /> <Compile Include="IlOp.fs" />

View File

@@ -378,7 +378,7 @@ module IlMachineState =
let defn = let defn =
assy.TypeDefs.[defn.Get] assy.TypeDefs.[defn.Get]
|> TypeInfo.mapGeneric (fun _ (param, _) -> typeGenericArgs.[param.SequenceNumber]) |> TypeInfo.mapGeneric (fun (param, _) -> typeGenericArgs.[param.SequenceNumber])
state, assy, defn state, assy, defn
| TypeDefn.FromReference (ref, _typeKind) -> | TypeDefn.FromReference (ref, _typeKind) ->

View File

@@ -874,7 +874,7 @@ module internal UnaryMetadataIlOp =
state, state,
activeAssy, activeAssy,
activeAssy.TypeDefs.[defn] activeAssy.TypeDefs.[defn]
|> TypeInfo.mapGeneric (fun _ (p, _) -> TypeDefn.GenericTypeParameter p.SequenceNumber) |> TypeInfo.mapGeneric (fun (p, _) -> TypeDefn.GenericTypeParameter p.SequenceNumber)
| MetadataToken.TypeSpecification spec -> | MetadataToken.TypeSpecification spec ->
let state, assy, ty = let state, assy, ty =
IlMachineState.resolveTypeFromSpecConcrete IlMachineState.resolveTypeFromSpecConcrete
@@ -938,7 +938,7 @@ module internal UnaryMetadataIlOp =
state, state,
activeAssy, activeAssy,
activeAssy.TypeDefs.[defn] activeAssy.TypeDefs.[defn]
|> TypeInfo.mapGeneric (fun _ (p, _) -> TypeDefn.GenericTypeParameter p.SequenceNumber) |> TypeInfo.mapGeneric (fun (p, _) -> TypeDefn.GenericTypeParameter p.SequenceNumber)
| MetadataToken.TypeSpecification spec -> | MetadataToken.TypeSpecification spec ->
let state, assy, ty = let state, assy, ty =
IlMachineState.resolveTypeFromSpecConcrete IlMachineState.resolveTypeFromSpecConcrete

View File

@@ -6,7 +6,7 @@ open System.Reflection
[<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>] [<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
module internal UnaryStringTokenIlOp = module internal UnaryStringTokenIlOp =
let execute let execute
(baseClassTypes : BaseClassTypes<'a>) (baseClassTypes : BaseClassTypes<DumpedAssembly>)
(op : UnaryStringTokenIlOp) (op : UnaryStringTokenIlOp)
(sh : StringToken) (sh : StringToken)
(state : IlMachineState) (state : IlMachineState)

View File

@@ -7,6 +7,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="Tuple.fs" /> <Compile Include="Tuple.fs" />
<Compile Include="ImmutableArray.fs" />
<Compile Include="Result.fs" /> <Compile Include="Result.fs" />
<Compile Include="Corelib.fs" /> <Compile Include="Corelib.fs" />
<Compile Include="AbstractMachineDomain.fs" /> <Compile Include="AbstractMachineDomain.fs" />