You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2018/02/07 14:53:52 UTC
groovy git commit: Minor refactoring: remove duplicated code of
`AsmClassGenerator`
Repository: groovy
Updated Branches:
refs/heads/master 03c69caaf -> 714abf2c9
Minor refactoring: remove duplicated code of `AsmClassGenerator`
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/714abf2c
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/714abf2c
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/714abf2c
Branch: refs/heads/master
Commit: 714abf2c96b70dd68c07baaf0aa4ca4899ff0dd6
Parents: 03c69ca
Author: Daniel Sun <re...@hotmail.com>
Authored: Wed Feb 7 22:53:50 2018 +0800
Committer: Daniel Sun <re...@hotmail.com>
Committed: Wed Feb 7 22:53:50 2018 +0800
----------------------------------------------------------------------
.../codehaus/groovy/classgen/AsmClassGenerator.java | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/714abf2c/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java b/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
index 099bc9c..4b7600f 100644
--- a/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
+++ b/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
@@ -325,12 +325,18 @@ public class AsmClassGenerator extends ClassGenerator {
private static int adjustedClassModifiersForInnerClassTable(ClassNode classNode) {
int modifiers = classNode.getModifiers();
modifiers = modifiers & ~ACC_SUPER;
+ modifiers = fixInterfaceModifiers(classNode, modifiers);
+
+ modifiers = fixInnerClassModifiers(classNode, modifiers);
+ return modifiers;
+ }
+
+ private static int fixInterfaceModifiers(ClassNode classNode, int modifiers) {
// (JLS §9.1.1.1). Such a class file must not have its ACC_FINAL, ACC_SUPER or ACC_ENUM flags set.
if (classNode.isInterface()) {
modifiers = modifiers & ~ACC_ENUM;
modifiers = modifiers & ~ACC_FINAL;
}
- modifiers = fixInnerClassModifiers(classNode, modifiers);
return modifiers;
}
@@ -362,16 +368,10 @@ public class AsmClassGenerator extends ClassGenerator {
// eliminate static
modifiers = modifiers & ~ACC_STATIC;
modifiers = fixInnerClassModifiers(classNode, modifiers);
-
- // (JLS §9.1.1.1). Such a class file must not have its ACC_FINAL, ACC_SUPER or ACC_ENUM flags set.
- if (classNode.isInterface()) {
- modifiers = modifiers & ~ACC_ENUM;
- modifiers = modifiers & ~ACC_FINAL;
- }
+ modifiers = fixInterfaceModifiers(classNode, modifiers);
return modifiers;
}
-
public void visitGenericType(GenericsType genericsType) {
ClassNode type = genericsType.getType();
genericParameterNames.put(type.getName(), genericsType);