Skip to content

Commit 39c4ebf

Browse files
refactor: rename TypeFactory to DomainResolver
The class creates and caches IType, MethodMember, FieldMember, Assembly, and Namespace instances — far more than a type factory. DomainResolver better reflects its primary role: resolving Mono.Cecil references into cached domain objects. This is a pure mechanical rename with no structural or behavioral changes. Signed-off-by: Alexander Linne <alexander.linne@tngtech.com>
1 parent 186706b commit 39c4ebf

10 files changed

Lines changed: 76 additions & 76 deletions

ArchUnitNET/Loader/ArchBuilder.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ internal class ArchBuilder
1818
private readonly AssemblyRegistry _assemblyRegistry;
1919
private readonly LoadTaskRegistry _loadTaskRegistry;
2020
private readonly NamespaceRegistry _namespaceRegistry;
21-
private readonly TypeFactory _typeFactory;
21+
private readonly DomainResolver _domainResolver;
2222

2323
public ArchBuilder()
2424
{
2525
_assemblyRegistry = new AssemblyRegistry();
2626
_namespaceRegistry = new NamespaceRegistry();
2727
_loadTaskRegistry = new LoadTaskRegistry();
28-
_typeFactory = new TypeFactory(
28+
_domainResolver = new DomainResolver(
2929
_loadTaskRegistry,
3030
_assemblyRegistry,
3131
_namespaceRegistry
@@ -54,7 +54,7 @@ public void AddAssembly([NotNull] AssemblyDefinition moduleAssembly, bool isOnly
5454
);
5555
_loadTaskRegistry.Add(
5656
typeof(CollectAssemblyAttributes),
57-
new CollectAssemblyAttributes(assembly, moduleAssembly, _typeFactory)
57+
new CollectAssemblyAttributes(assembly, moduleAssembly, _domainResolver)
5858
);
5959
}
6060
}
@@ -101,7 +101,7 @@ public void LoadTypesForModule(ModuleDefinition module, string namespaceFilter)
101101
)
102102
.ForEach(typeDefinition =>
103103
{
104-
var type = _typeFactory.GetOrCreateTypeFromTypeReference(typeDefinition);
104+
var type = _domainResolver.GetOrCreateTypeFromTypeReference(typeDefinition);
105105
var assemblyQualifiedName = System.Reflection.Assembly.CreateQualifiedName(
106106
module.Assembly.Name.Name,
107107
typeDefinition.FullName
@@ -150,7 +150,7 @@ public Architecture Build()
150150
}
151151

152152
UpdateTypeDefinitions();
153-
var allTypes = _typeFactory.GetAllNonCompilerGeneratedTypes().ToList();
153+
var allTypes = _domainResolver.GetAllNonCompilerGeneratedTypes().ToList();
154154
var genericParameters = allTypes.OfType<GenericParameter>().ToList();
155155
var referencedTypes = allTypes.Except(Types).Except(genericParameters);
156156
var namespaces = Namespaces.Where(ns => ns.Types.Any());
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
namespace ArchUnitNET.Loader
1515
{
16-
internal class TypeFactory
16+
internal class DomainResolver
1717
{
1818
private readonly AssemblyRegistry _assemblyRegistry;
1919
private readonly LoadTaskRegistry _loadTaskRegistry;
@@ -25,7 +25,7 @@ internal class TypeFactory
2525
private readonly Dictionary<string, MethodMemberInstance> _allMethods =
2626
new Dictionary<string, MethodMemberInstance>();
2727

28-
public TypeFactory(
28+
public DomainResolver(
2929
LoadTaskRegistry loadTaskRegistry,
3030
AssemblyRegistry assemblyRegistry,
3131
NamespaceRegistry namespaceRegistry

ArchUnitNET/Loader/LoadTasks/AddAttributesAndAttributeDependencies.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ internal class AddAttributesAndAttributeDependencies : ILoadTask
1818
{
1919
private readonly IType _type;
2020
private readonly TypeDefinition _typeDefinition;
21-
private readonly TypeFactory _typeFactory;
21+
private readonly DomainResolver _domainResolver;
2222

2323
public AddAttributesAndAttributeDependencies(
2424
IType type,
2525
TypeDefinition typeDefinition,
26-
TypeFactory typeFactory
26+
DomainResolver domainResolver
2727
)
2828
{
2929
_type = type;
3030
_typeDefinition = typeDefinition;
31-
_typeFactory = typeFactory;
31+
_domainResolver = domainResolver;
3232
}
3333

3434
public void Execute()
@@ -184,7 +184,7 @@ IEnumerable<CustomAttribute> customAttributes
184184
&& customAttribute.AttributeType.FullName
185185
!= "System.Runtime.CompilerServices.NullableContextAttribute"
186186
)
187-
.Select(attr => attr.CreateAttributeFromCustomAttribute(_typeFactory));
187+
.Select(attr => attr.CreateAttributeFromCustomAttribute(_domainResolver));
188188
}
189189

190190
[NotNull]
@@ -219,7 +219,7 @@ attributeArgument.Value is TypeReference typeReference
219219
)
220220
.ForEach(tuple =>
221221
{
222-
var argumentType = _typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(
222+
var argumentType = _domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(
223223
tuple.typeReference
224224
);
225225
var dependency = new TypeReferenceDependency(_type, argumentType);

ArchUnitNET/Loader/LoadTasks/AddBaseClassDependency.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ internal class AddBaseClassDependency : ILoadTask
99
private readonly IType _cls;
1010
private readonly Type _type;
1111
private readonly TypeDefinition _typeDefinition;
12-
private readonly TypeFactory _typeFactory;
12+
private readonly DomainResolver _domainResolver;
1313

1414
public AddBaseClassDependency(
1515
IType cls,
1616
Type type,
1717
TypeDefinition typeDefinition,
18-
TypeFactory typeFactory
18+
DomainResolver domainResolver
1919
)
2020
{
2121
_cls = cls;
2222
_type = type;
2323
_typeDefinition = typeDefinition;
24-
_typeFactory = typeFactory;
24+
_domainResolver = domainResolver;
2525
}
2626

2727
public void Execute()
@@ -33,7 +33,7 @@ public void Execute()
3333
return;
3434
}
3535

36-
var baseType = _typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(
36+
var baseType = _domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(
3737
typeDefinitionBaseType
3838
);
3939
if (!(baseType.Type is Class baseClass))

ArchUnitNET/Loader/LoadTasks/AddClassDependencies.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ internal class AddClassDependencies : ILoadTask
1212
private readonly List<ITypeDependency> _dependencies;
1313
private readonly IType _type;
1414
private readonly TypeDefinition _typeDefinition;
15-
private readonly TypeFactory _typeFactory;
15+
private readonly DomainResolver _domainResolver;
1616

1717
public AddClassDependencies(
1818
IType type,
1919
TypeDefinition typeDefinition,
20-
TypeFactory typeFactory,
20+
DomainResolver domainResolver,
2121
List<ITypeDependency> dependencies
2222
)
2323
{
2424
_type = type;
2525
_typeDefinition = typeDefinition;
26-
_typeFactory = typeFactory;
26+
_domainResolver = domainResolver;
2727
_dependencies = dependencies;
2828
}
2929

@@ -46,7 +46,7 @@ private void AddInterfaceDependencies()
4646
GetInterfacesImplementedByClass(_typeDefinition)
4747
.ForEach(target =>
4848
{
49-
var targetType = _typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(
49+
var targetType = _domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(
5050
target
5151
);
5252
_dependencies.Add(new ImplementsInterfaceDependency(_type, targetType));

ArchUnitNET/Loader/LoadTasks/AddMembers.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ internal class AddMembers : ILoadTask
1414
private readonly MemberList _memberList;
1515
private readonly ITypeInstance<IType> _typeInstance;
1616
private readonly TypeDefinition _typeDefinition;
17-
private readonly TypeFactory _typeFactory;
17+
private readonly DomainResolver _domainResolver;
1818

1919
public AddMembers(
2020
ITypeInstance<IType> typeInstance,
2121
TypeDefinition typeDefinition,
22-
TypeFactory typeFactory,
22+
DomainResolver domainResolver,
2323
MemberList memberList
2424
)
2525
{
2626
_typeInstance = typeInstance;
2727
_typeDefinition = typeDefinition;
28-
_typeFactory = typeFactory;
28+
_domainResolver = domainResolver;
2929
_memberList = memberList;
3030
}
3131

@@ -46,7 +46,7 @@ private IEnumerable<IMember> CreateMembers([NotNull] TypeDefinition typeDefiniti
4646
.Properties.Select(CreatePropertyMember)
4747
.Concat(
4848
typeDefinition.Methods.Select(method =>
49-
_typeFactory
49+
_domainResolver
5050
.GetOrCreateMethodMemberFromMethodReference(
5151
_typeInstance,
5252
method
@@ -62,7 +62,7 @@ private IEnumerable<IMember> CreateMembers([NotNull] TypeDefinition typeDefiniti
6262
private IMember CreateFieldMember([NotNull] FieldDefinition fieldDefinition)
6363
{
6464
var typeReference = fieldDefinition.FieldType;
65-
var fieldType = _typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(
65+
var fieldType = _domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(
6666
typeReference
6767
);
6868
var visibility = GetVisibilityFromFieldDefinition(fieldDefinition);
@@ -84,7 +84,7 @@ private IMember CreateFieldMember([NotNull] FieldDefinition fieldDefinition)
8484
private IMember CreatePropertyMember(PropertyDefinition propertyDefinition)
8585
{
8686
var typeReference = propertyDefinition.PropertyType;
87-
var propertyType = _typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(
87+
var propertyType = _domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(
8888
typeReference
8989
);
9090
var isCompilerGenerated = propertyDefinition.IsCompilerGenerated();

ArchUnitNET/Loader/LoadTasks/AddMethodDependencies.cs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ internal class AddMethodDependencies : ILoadTask
1616
{
1717
private readonly IType _type;
1818
private readonly TypeDefinition _typeDefinition;
19-
private readonly TypeFactory _typeFactory;
19+
private readonly DomainResolver _domainResolver;
2020

2121
public AddMethodDependencies(
2222
IType type,
2323
TypeDefinition typeDefinition,
24-
TypeFactory typeFactory
24+
DomainResolver domainResolver
2525
)
2626
{
2727
_type = type;
2828
_typeDefinition = typeDefinition;
29-
_typeFactory = typeFactory;
29+
_domainResolver = domainResolver;
3030
}
3131

3232
public void Execute()
@@ -119,10 +119,10 @@ private IEnumerable<MethodSignatureDependency> CreateMethodSignatureDependencies
119119
MethodMember methodMember
120120
)
121121
{
122-
var returnType = methodReference.GetReturnType(_typeFactory);
122+
var returnType = methodReference.GetReturnType(_domainResolver);
123123
return (returnType != null ? new[] { returnType } : Array.Empty<ITypeInstance<IType>>())
124-
.Concat(methodReference.GetParameters(_typeFactory))
125-
.Concat(methodReference.GetGenericParameters(_typeFactory))
124+
.Concat(methodReference.GetParameters(_domainResolver))
125+
.Concat(methodReference.GetGenericParameters(_domainResolver))
126126
.Distinct()
127127
.Select(signatureType => new MethodSignatureDependency(
128128
methodMember,
@@ -165,16 +165,16 @@ MethodMember methodMember
165165
);
166166
}
167167

168-
bodyTypes.AddRange(methodDefinition.GetBodyTypes(_typeFactory).ToList());
168+
bodyTypes.AddRange(methodDefinition.GetBodyTypes(_domainResolver).ToList());
169169

170-
var castTypes = methodDefinition.GetCastTypes(_typeFactory).ToList();
170+
var castTypes = methodDefinition.GetCastTypes(_domainResolver).ToList();
171171

172-
var typeCheckTypes = methodDefinition.GetTypeCheckTypes(_typeFactory).ToList();
172+
var typeCheckTypes = methodDefinition.GetTypeCheckTypes(_domainResolver).ToList();
173173

174-
var metaDataTypes = methodDefinition.GetMetaDataTypes(_typeFactory).ToList();
174+
var metaDataTypes = methodDefinition.GetMetaDataTypes(_domainResolver).ToList();
175175

176176
var accessedFieldMembers = methodDefinition
177-
.GetAccessedFieldMembers(_typeFactory)
177+
.GetAccessedFieldMembers(_domainResolver)
178178
.ToList();
179179

180180
var calledMethodMembers = CreateMethodBodyDependenciesRecursive(
@@ -262,10 +262,10 @@ var calledMethodReference in calledMethodReferences.Except(visitedMethodReferenc
262262
{
263263
visitedMethodReferences.Add(calledMethodReference);
264264

265-
var calledType = _typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(
265+
var calledType = _domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(
266266
calledMethodReference.DeclaringType
267267
);
268-
var calledMethodMember = _typeFactory.GetOrCreateMethodMemberFromMethodReference(
268+
var calledMethodMember = _domainResolver.GetOrCreateMethodMemberFromMethodReference(
269269
calledType,
270270
calledMethodReference
271271
);
@@ -302,12 +302,12 @@ var calledMethodReference in calledMethodReferences.Except(visitedMethodReferenc
302302
);
303303
}
304304

305-
bodyTypes.AddRange(calledMethodDefinition.GetBodyTypes(_typeFactory));
306-
castTypes.AddRange(calledMethodDefinition.GetCastTypes(_typeFactory));
307-
typeCheckTypes.AddRange(calledMethodDefinition.GetTypeCheckTypes(_typeFactory));
308-
metaDataTypes.AddRange(calledMethodDefinition.GetMetaDataTypes(_typeFactory));
305+
bodyTypes.AddRange(calledMethodDefinition.GetBodyTypes(_domainResolver));
306+
castTypes.AddRange(calledMethodDefinition.GetCastTypes(_domainResolver));
307+
typeCheckTypes.AddRange(calledMethodDefinition.GetTypeCheckTypes(_domainResolver));
308+
metaDataTypes.AddRange(calledMethodDefinition.GetMetaDataTypes(_domainResolver));
309309
accessedFieldMembers.AddRange(
310-
calledMethodDefinition.GetAccessedFieldMembers(_typeFactory)
310+
calledMethodDefinition.GetAccessedFieldMembers(_domainResolver)
311311
);
312312

313313
foreach (
@@ -360,7 +360,7 @@ ICollection<MethodReference> visitedMethodReferences
360360

361361
bodyTypes.AddRange(
362362
fieldsExceptGeneratorStateInfo.Select(bodyField =>
363-
_typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(bodyField.FieldType)
363+
_domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(bodyField.FieldType)
364364
)
365365
);
366366
}
@@ -402,7 +402,7 @@ ICollection<MethodReference> visitedMethodReferences
402402

403403
bodyTypes.AddRange(
404404
fieldsExceptGeneratorStateInfo.Select(bodyField =>
405-
_typeFactory.GetOrCreateStubTypeInstanceFromTypeReference(bodyField.FieldType)
405+
_domainResolver.GetOrCreateStubTypeInstanceFromTypeReference(bodyField.FieldType)
406406
)
407407
);
408408
}

ArchUnitNET/Loader/LoadTasks/CollectAssemblyAttributes.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,24 @@ internal class CollectAssemblyAttributes : ILoadTask
88
{
99
private readonly Assembly _assembly;
1010
private readonly AssemblyDefinition _assemblyDefinition;
11-
private readonly TypeFactory _typeFactory;
11+
private readonly DomainResolver _domainResolver;
1212

1313
public CollectAssemblyAttributes(
1414
Assembly assembly,
1515
AssemblyDefinition assemblyDefinition,
16-
TypeFactory typeFactory
16+
DomainResolver domainResolver
1717
)
1818
{
1919
_assembly = assembly;
2020
_assemblyDefinition = assemblyDefinition;
21-
_typeFactory = typeFactory;
21+
_domainResolver = domainResolver;
2222
}
2323

2424
public void Execute()
2525
{
2626
var attributeInstances = _assemblyDefinition
2727
.CustomAttributes.Select(attr =>
28-
attr.CreateAttributeFromCustomAttribute(_typeFactory)
28+
attr.CreateAttributeFromCustomAttribute(_domainResolver)
2929
)
3030
.ToList();
3131
_assembly.AttributeInstances.AddRange(attributeInstances);

0 commit comments

Comments
 (0)