Skip to content

Commit f0c4f2c

Browse files
authored
Merge 689b87d into 69ccae3
2 parents 69ccae3 + 689b87d commit f0c4f2c

27 files changed

+180
-22
lines changed

Confuser.Renamer/Analyzers/VTableAnalyzer.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ static void CreateSiblingReference<T>(T basePropDef, ref T discoveredBaseMemberD
150150
// Check if the discovered base type is the current type. If so, nothing needs to be done.
151151
if (ReferenceEquals(basePropDef, discoveredBaseMemberDef)) return;
152152

153-
service.AddReference(basePropDef, new MemberSiblingReference(basePropDef, discoveredBaseMemberDef));
153+
var reference = new MemberSiblingReference(basePropDef, discoveredBaseMemberDef);
154+
service.AddReference(basePropDef, reference);
155+
service.AddReference(discoveredBaseMemberDef, reference);
154156
UpdateOldestSiblingReference(discoveredBaseMemberDef, basePropDef, service);
155157
}
156158
}
@@ -188,6 +190,7 @@ static void RedirectSiblingReferences(IMemberDef oldMemberDef, IMemberDef newMem
188190
static void CreateOverrideReference(INameService service, IMemberDef thisMemberDef, IMemberDef baseMemberDef) {
189191
var overrideRef = new MemberOverrideReference(thisMemberDef, baseMemberDef);
190192
service.AddReference(thisMemberDef, overrideRef);
193+
service.AddReference(baseMemberDef, overrideRef);
191194

192195
PropagateRenamingRestrictions(service, thisMemberDef, baseMemberDef);
193196
}

Confuser.Renamer/INameReference.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Confuser.Core;
2+
using dnlib.DotNet;
23

34
namespace Confuser.Renamer {
45
public interface INameReference {
@@ -15,7 +16,7 @@ public interface INameReference {
1516
/// <returns>
1617
/// <see langword="true" /> in case the reference can't be resolved yet;
1718
/// otherwise <see langword="false" />.</returns>
18-
bool DelayRenaming(INameService service);
19+
bool DelayRenaming(INameService service, IDnlibDef currentDef);
1920

2021
/// <summary>
2122
/// Update the name reference.

Confuser.Renamer/References/BAMLAttributeReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public BAMLAttributeReference(IDnlibDef member, PropertyRecord rec) {
2222
}
2323

2424
/// <inheritdoc />
25-
public bool DelayRenaming(INameService service) => false;
25+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
2626

2727
public bool UpdateNameReference(ConfuserContext context, INameService service) {
2828
if (attrRec != null) {

Confuser.Renamer/References/BAMLConverterMemberReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public BAMLConverterMemberReference(BAMLAnalyzer.XmlNsContext xmlnsCtx, TypeSig
2121
}
2222

2323
/// <inheritdoc />
24-
public bool DelayRenaming(INameService service) => false;
24+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
2525

2626
public bool UpdateNameReference(ConfuserContext context, INameService service) {
2727
string typeName = sig.ReflectionName;

Confuser.Renamer/References/BAMLConverterTypeReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public BAMLConverterTypeReference(BAMLAnalyzer.XmlNsContext xmlnsCtx, TypeSig si
2626
}
2727

2828
/// <inheritdoc />
29-
public bool DelayRenaming(INameService service) => false;
29+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
3030

3131
public bool UpdateNameReference(ConfuserContext context, INameService service) {
3232
string name = sig.ReflectionName;

Confuser.Renamer/References/BAMLEnumReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public BAMLEnumReference(FieldDef enumField, PropertyRecord rec) {
1616
}
1717

1818
/// <inheritdoc />
19-
public bool DelayRenaming(INameService service) => false;
19+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
2020

2121
public bool UpdateNameReference(ConfuserContext context, INameService service) {
2222
if (UTF8String.Equals(rec.Value, enumField.Name)) return false;

Confuser.Renamer/References/BAMLPathTypeReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ private BAMLPathTypeReference(BAMLAnalyzer.XmlNsContext xmlnsCtx, TypeSig sig) {
2222
}
2323

2424
/// <inheritdoc />
25-
public bool DelayRenaming(INameService service) => false;
25+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
2626

2727
public BAMLPathTypeReference(BAMLAnalyzer.XmlNsContext xmlnsCtx, TypeSig sig, PropertyPathIndexUpdater indexerInfo) : this(xmlnsCtx, sig) =>
2828
IndexerInfo = indexerInfo;

Confuser.Renamer/References/BAMLTypeReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public bool UpdateNameReference(ConfuserContext context, INameService service) {
2323
}
2424

2525
/// <inheritdoc />
26-
public bool DelayRenaming(INameService service) => false;
26+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
2727

2828
public override string ToString() => ToString(null);
2929

Confuser.Renamer/References/CAMemberReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public CAMemberReference(CANamedArgument namedArg, IDnlibDef definition) {
1515
}
1616

1717
/// <inheritdoc />
18-
public bool DelayRenaming(INameService service) => false;
18+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
1919

2020
public bool UpdateNameReference(ConfuserContext context, INameService service) {
2121
if (UTF8String.Equals(namedArg.Name, definition.Name)) return false;

Confuser.Renamer/References/MemberOldestSiblingReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public MemberOldestSiblingReference(IMemberDef oldestSiblingDef, IMemberDef othe
2525
public bool ShouldCancelRename => false;
2626

2727
/// <inheritdoc />
28-
public bool DelayRenaming(INameService service) => false;
28+
public bool DelayRenaming(INameService service, IDnlibDef currentDef) => false;
2929

3030
/// <inheritdoc />
3131
public bool UpdateNameReference(ConfuserContext context, INameService service) => false;

0 commit comments

Comments
 (0)