Skip to content

Commit 6902aab

Browse files
ds5678SamboyCoding
authored andcommitted
Other properties too
This also makes ParameterAnalysisContext::ParameterType not virtual
1 parent 955a9a4 commit 6902aab

7 files changed

Lines changed: 50 additions & 10 deletions

Cpp2IL.Core/Model/Contexts/EventAnalysisContext.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ public EventAttributes Attributes
3434

3535
public TypeAnalysisContext? OverrideEventType { get; set; }
3636

37-
public TypeAnalysisContext EventType => OverrideEventType ?? DefaultEventType;
37+
public TypeAnalysisContext EventType
38+
{
39+
get => OverrideEventType ?? DefaultEventType;
40+
set => OverrideEventType = value;
41+
}
3842

3943
public virtual bool IsStatic => Definition?.IsStatic ?? throw new($"Subclasses must override {nameof(IsStatic)}.");
4044

Cpp2IL.Core/Model/Contexts/FieldAnalysisContext.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ public FieldAttributes Attributes
4747

4848
public virtual object? OverrideConstantValue { get; set; }
4949

50-
public object? ConstantValue => OverrideConstantValue ?? DefaultConstantValue;
50+
public object? ConstantValue
51+
{
52+
get => OverrideConstantValue ?? DefaultConstantValue;
53+
set => OverrideConstantValue = value;
54+
}
5155

5256
public int Offset => BackingData == null ? 0 : AppContext.Binary.GetFieldOffsetFromIndex(DeclaringType.Definition!.TypeIndex, BackingData.IndexInParent, BackingData.Field.FieldIndex, DeclaringType.Definition.IsValueType, IsStatic);
5357

@@ -56,13 +60,21 @@ public FieldAttributes Attributes
5660

5761
public TypeAnalysisContext? OverrideFieldType { get; set; }
5862

59-
public TypeAnalysisContext FieldType => OverrideFieldType ?? DefaultFieldType;
63+
public TypeAnalysisContext FieldType
64+
{
65+
get => OverrideFieldType ?? DefaultFieldType;
66+
set => OverrideFieldType = value;
67+
}
6068

6169
public virtual byte[] DefaultStaticArrayInitialValue => BackingData?.Field.StaticArrayInitialValue ?? [];
6270

6371
public virtual byte[]? OverrideStaticArrayInitialValue { get; set; }
6472

65-
public byte[] StaticArrayInitialValue => OverrideStaticArrayInitialValue ?? DefaultStaticArrayInitialValue;
73+
public byte[] StaticArrayInitialValue
74+
{
75+
get => OverrideStaticArrayInitialValue ?? DefaultStaticArrayInitialValue;
76+
set => OverrideStaticArrayInitialValue = value;
77+
}
6678

6779
public FieldAttributes Visibility
6880
{

Cpp2IL.Core/Model/Contexts/HasCustomAttributesAndName.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,9 @@ public abstract class HasCustomAttributesAndName(uint token, ApplicationAnalysis
77

88
public virtual string? OverrideName { get; set; }
99

10-
public string Name => OverrideName ?? DefaultName;
10+
public string Name
11+
{
12+
get => OverrideName ?? DefaultName;
13+
set => OverrideName = value;
14+
}
1115
}

Cpp2IL.Core/Model/Contexts/MethodAnalysisContext.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,11 @@ public override List<GenericParameterTypeAnalysisContext> GenericParameters
124124
public TypeAnalysisContext? OverrideReturnType { get; set; }
125125

126126
//TODO Support custom attributes on return types (v31 feature)
127-
public TypeAnalysisContext ReturnType => OverrideReturnType ?? DefaultReturnType;
127+
public TypeAnalysisContext ReturnType
128+
{
129+
get => OverrideReturnType ?? DefaultReturnType;
130+
set => OverrideReturnType = value;
131+
}
128132

129133
protected Memory<byte>? rawMethodBody;
130134

Cpp2IL.Core/Model/Contexts/ParameterAnalysisContext.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,11 @@ public ParameterAttributes Attributes
6464

6565
public TypeAnalysisContext? OverrideParameterType { get; set; }
6666

67-
public virtual TypeAnalysisContext ParameterType => OverrideParameterType ?? DefaultParameterType;
67+
public TypeAnalysisContext ParameterType
68+
{
69+
get => OverrideParameterType ?? DefaultParameterType;
70+
set => OverrideParameterType = value;
71+
}
6872

6973
public ParameterAnalysisContext(Il2CppParameterDefinition? definition, int parameterIndex, MethodAnalysisContext declaringMethod) : base(definition?.token ?? 0, declaringMethod.AppContext)
7074
{

Cpp2IL.Core/Model/Contexts/PropertyAnalysisContext.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ public PropertyAttributes Attributes
3737

3838
public TypeAnalysisContext? OverridePropertyType { get; set; }
3939

40-
public TypeAnalysisContext PropertyType => OverridePropertyType ?? DefaultPropertyType;
40+
public TypeAnalysisContext PropertyType
41+
{
42+
get => OverridePropertyType ?? DefaultPropertyType;
43+
set => OverridePropertyType = value;
44+
}
4145

4246
public PropertyAnalysisContext(Il2CppPropertyDefinition definition, TypeAnalysisContext parent) : base(definition.token, parent.AppContext)
4347
{

Cpp2IL.Core/Model/Contexts/TypeAnalysisContext.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@ public class TypeAnalysisContext : HasGenericParameters, ITypeInfoProvider, ICSh
6363

6464
public string? OverrideNamespace { get; set; }
6565

66-
public string Namespace => OverrideNamespace ?? DefaultNamespace;
66+
public string Namespace
67+
{
68+
get => OverrideNamespace ?? DefaultNamespace;
69+
set => OverrideNamespace = value;
70+
}
6771

6872
public virtual TypeAttributes DefaultAttributes => Definition?.Attributes ?? TypeAttributes.Public | TypeAttributes.Class | TypeAttributes.Sealed;
6973

@@ -79,7 +83,11 @@ public TypeAttributes Attributes
7983

8084
public TypeAnalysisContext? OverrideBaseType { get; set; }
8185

82-
public TypeAnalysisContext? BaseType => OverrideBaseType ?? DefaultBaseType;
86+
public TypeAnalysisContext? BaseType
87+
{
88+
get => OverrideBaseType ?? DefaultBaseType;
89+
set => OverrideBaseType = value;
90+
}
8391

8492
public TypeAnalysisContext? DeclaringType { get; protected internal set; }
8593

0 commit comments

Comments
 (0)