Check mixins only for duplicate static fields
This commit is contained in:
@@ -217,13 +217,21 @@ public class MixinInjector extends AbstractInjector
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
targetClass.addField(copy);
|
if (targetClass.findField(field.getName(), field.getType()) != null && !ASSERTION_FIELD.equals(field.getName()))
|
||||||
|
|
||||||
if (injectedFields.containsKey(field.getName()) && !ASSERTION_FIELD.equals(field.getName()))
|
|
||||||
{
|
{
|
||||||
throw new InjectException("Duplicate field: " + field.getName());
|
throw new InjectException("Duplicate field: " + field.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
targetClass.addField(copy);
|
||||||
|
|
||||||
|
// We only need to save static fields in injected fields, cause only static fields can be shadowed
|
||||||
|
if (!field.isStatic())
|
||||||
|
continue;
|
||||||
|
if (injectedFields.containsKey(field.getName()) && !ASSERTION_FIELD.equals(field.getName()))
|
||||||
|
{
|
||||||
|
throw new InjectException("Duplicate static field: " + field.getName());
|
||||||
|
}
|
||||||
|
|
||||||
injectedFields.put(field.getName(), copy);
|
injectedFields.put(field.getName(), copy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user