Skip to content

Commit 405b0c7

Browse files
author
emmanue1
committed
Refactoring
1 parent 0da2e51 commit 405b0c7

File tree

8 files changed

+33
-28
lines changed

8 files changed

+33
-28
lines changed

src/main/java/org/jd/core/v1/model/classfile/ClassFile.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import java.util.List;
1414
import java.util.Map;
1515

16+
import static org.jd.core.v1.model.classfile.Constants.*;
17+
1618
public class ClassFile {
1719
protected int majorVersion;
1820
protected int minorVersion;
@@ -39,22 +41,21 @@ public ClassFile(int majorVersion, int minorVersion, int accessFlags, String int
3941
this.attributes = attributes;
4042
}
4143

42-
public int getMinorVersion() {
43-
return minorVersion;
44-
}
45-
public int getMajorVersion() {
46-
return majorVersion;
47-
}
44+
public int getMinorVersion() { return minorVersion; }
45+
public int getMajorVersion() { return majorVersion; }
4846

4947
public int getAccessFlags() {
5048
return accessFlags;
5149
}
5250
public void setAccessFlags(int accessFlags) {
5351
this.accessFlags = accessFlags;
5452
}
55-
public boolean matchAccessFlags(int flags) {
56-
return (this.accessFlags & flags) != 0;
57-
}
53+
54+
public boolean isEnum() { return (accessFlags & ACC_ENUM) != 0; }
55+
public boolean isAnnotation() { return (accessFlags & ACC_ANNOTATION) != 0; }
56+
public boolean isInterface() { return (accessFlags & ACC_INTERFACE) != 0; }
57+
public boolean isModule() { return (accessFlags & ACC_MODULE) != 0; }
58+
public boolean isStatic() { return (accessFlags & ACC_STATIC) != 0; }
5859

5960
public String getInternalTypeName() {
6061
return internalTypeName;

src/main/java/org/jd/core/v1/model/javasyntax/declaration/ConstructorDeclaration.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.jd.core.v1.model.javasyntax.type.BaseType;
1313
import org.jd.core.v1.model.javasyntax.type.BaseTypeParameter;
1414

15+
import static org.jd.core.v1.model.classfile.Constants.ACC_STATIC;
16+
1517
public class ConstructorDeclaration implements MemberDeclaration {
1618
protected BaseAnnotationReference annotationReferences;
1719
protected int flags;
@@ -41,11 +43,12 @@ public ConstructorDeclaration(BaseAnnotationReference annotationReferences, int
4143
public int getFlags() {
4244
return flags;
4345
}
44-
4546
public void setFlags(int flags) {
4647
this.flags = flags;
4748
}
4849

50+
public boolean isStatic() { return (flags & ACC_STATIC) != 0; }
51+
4952
public BaseAnnotationReference getAnnotationReferences() {
5053
return annotationReferences;
5154
}

src/main/java/org/jd/core/v1/model/javasyntax/declaration/MethodDeclaration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import org.jd.core.v1.model.javasyntax.type.BaseTypeParameter;
1515
import org.jd.core.v1.model.javasyntax.type.Type;
1616

17+
import static org.jd.core.v1.model.classfile.Constants.ACC_STATIC;
18+
1719
public class MethodDeclaration implements MemberDeclaration {
1820
protected BaseAnnotationReference annotationReferences;
1921
protected int flags;
@@ -88,6 +90,8 @@ public int getFlags() {
8890
return flags;
8991
}
9092

93+
public boolean isStatic() { return (flags & ACC_STATIC) != 0; }
94+
9195
public String getName() {
9296
return name;
9397
}

src/main/java/org/jd/core/v1/model/javasyntax/type/TypeArguments.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99

1010
import org.jd.core.v1.util.DefaultList;
1111

12-
import java.util.Collection;
13-
import java.util.Iterator;
14-
import java.util.Map;
12+
import java.util.*;
1513

1614
public class TypeArguments extends DefaultList<TypeArgument> implements BaseTypeArgument {
1715
public TypeArguments() {}

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/processor/ConvertClassFileProcessor.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ public void process(Message message) throws Exception {
6262

6363
TypeDeclaration typeDeclaration;
6464

65-
if (classFile.matchAccessFlags(ACC_ENUM)) {
65+
if (classFile.isEnum()) {
6666
typeDeclaration = convertEnumDeclaration(typeMaker, annotationConverter, classFile, null);
67-
} else if (classFile.matchAccessFlags(ACC_ANNOTATION)) {
67+
} else if (classFile.isAnnotation()) {
6868
typeDeclaration = convertAnnotationDeclaration(typeMaker, annotationConverter, classFile, null);
69-
} else if (classFile.matchAccessFlags(ACC_MODULE)) {
69+
} else if (classFile.isModule()) {
7070
typeDeclaration = convertModuleDeclaration(classFile);
71-
} else if (classFile.matchAccessFlags(ACC_INTERFACE)) {
71+
} else if (classFile.isInterface()) {
7272
typeDeclaration = convertInterfaceDeclaration(typeMaker, annotationConverter, classFile, null);
7373
} else {
7474
typeDeclaration = convertClassDeclaration(typeMaker, annotationConverter, classFile, null);
@@ -128,7 +128,7 @@ protected ClassFileBodyDeclaration convertBodyDeclaration(TypeMaker parser, Anno
128128
Map<String, TypeArgument> bindings;
129129
Map<String, BaseType> typeBounds;
130130

131-
if (!classFile.matchAccessFlags(ACC_STATIC) && (outerClassFileBodyDeclaration != null)) {
131+
if (!classFile.isStatic() && (outerClassFileBodyDeclaration != null)) {
132132
bindings = outerClassFileBodyDeclaration.getBindings();
133133
typeBounds = outerClassFileBodyDeclaration.getTypeBounds();
134134
} else {
@@ -227,7 +227,7 @@ protected List<ClassFileConstructorOrMethodDeclaration> convertMethods(TypeMaker
227227
bodyDeclaration, classFile, method, annotationReferences, name, methodTypes.typeParameters,
228228
methodTypes.returnedType, methodTypes.parameterTypes, methodTypes.exceptionTypes, defaultAnnotationValue,
229229
bindings, typeBounds, firstLineNumber);
230-
if (classFile.matchAccessFlags(ACC_INTERFACE)) {
230+
if (classFile.isInterface()) {
231231
if (methodDeclaration.getFlags() == Constants.ACC_PUBLIC) {
232232
// For interfaces, add 'default' access flag on public methods
233233
methodDeclaration.setFlags(Declaration.FLAG_PUBLIC|Declaration.FLAG_DEFAULT);
@@ -252,11 +252,11 @@ protected List<ClassFileTypeDeclaration> convertInnerTypes(TypeMaker parser, Ann
252252
for (ClassFile innerClassFile : innerClassFiles) {
253253
ClassFileTypeDeclaration innerTypeDeclaration;
254254

255-
if (innerClassFile.matchAccessFlags(ACC_ENUM)) {
255+
if (innerClassFile.isEnum()) {
256256
innerTypeDeclaration = convertEnumDeclaration(parser, converter, innerClassFile, outerClassFileBodyDeclaration);
257-
} else if (innerClassFile.matchAccessFlags(ACC_ANNOTATION)) {
257+
} else if (innerClassFile.isAnnotation()) {
258258
innerTypeDeclaration = convertAnnotationDeclaration(parser, converter, innerClassFile, outerClassFileBodyDeclaration);
259-
} else if (innerClassFile.matchAccessFlags(ACC_INTERFACE)) {
259+
} else if (innerClassFile.isInterface()) {
260260
innerTypeDeclaration = convertInterfaceDeclaration(parser, converter, innerClassFile, outerClassFileBodyDeclaration);
261261
} else {
262262
innerTypeDeclaration = convertClassDeclaration(parser, converter, innerClassFile, outerClassFileBodyDeclaration);

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/util/LocalVariableMaker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public LocalVariableMaker(TypeMaker typeMaker, ClassFileConstructorOrMethodDecla
105105
}
106106

107107
if (constructor) {
108-
if (classFile.matchAccessFlags(ACC_ENUM)) {
108+
if (classFile.isEnum()) {
109109
if (localVariableSet.root(1) == null) {
110110
// Local variable missing
111111
localVariableSet.add(1, new ObjectLocalVariable(typeMaker, 1, 0, ObjectType.TYPE_STRING, "this$enum$name"));
@@ -114,7 +114,7 @@ public LocalVariableMaker(TypeMaker typeMaker, ClassFileConstructorOrMethodDecla
114114
// Local variable missing
115115
localVariableSet.add(2, new PrimitiveLocalVariable(2, 0, PrimitiveType.TYPE_INT, "this$enum$index"));
116116
}
117-
} else if ((classFile.getOuterClassFile() != null) && !classFile.matchAccessFlags(ACC_STATIC)) {
117+
} else if ((classFile.getOuterClassFile() != null) && !classFile.isStatic()) {
118118
if (localVariableSet.root(1) == null) {
119119
// Local variable missing
120120
localVariableSet.add(1, new ObjectLocalVariable(typeMaker, 1, 0, typeMaker.makeFromInternalTypeName(classFile.getOuterClassFile().getInternalTypeName()), "this$0"));

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/visitor/CreateInstructionsVisitor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import java.util.List;
2323

24-
import static org.jd.core.v1.model.classfile.Constants.ACC_INTERFACE;
2524
import static org.jd.core.v1.model.javasyntax.declaration.Declaration.*;
2625

2726
public class CreateInstructionsVisitor extends AbstractJavaSyntaxVisitor {
@@ -136,7 +135,7 @@ protected void createParametersVariablesAndStatements(ClassFileConstructorOrMeth
136135

137136
comd.setFormalParameters(localVariableMaker.getFormalParameters());
138137

139-
if (classFile.matchAccessFlags(ACC_INTERFACE)) {
138+
if (classFile.isInterface()) {
140139
comd.setFlags(comd.getFlags() & ~(FLAG_PUBLIC|FLAG_ABSTRACT));
141140
}
142141
}

src/main/java/org/jd/core/v1/service/converter/classfiletojavasyntax/visitor/InitInnerClassVisitor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public void visit(ConstructorDeclaration declaration) {
102102

103103
if (expression.isConstructorInvocationExpression()) {
104104
// 'this(...)'
105-
if ((outerClassFile != null) && !classFile.matchAccessFlags(ACC_STATIC)) {
105+
if ((outerClassFile != null) && !classFile.isStatic()) {
106106
// Inner non-static class --> First parameter is the synthetic outer reference
107107
removeFirstParameter = true;
108108
}
@@ -524,7 +524,7 @@ public void visit(SuperConstructorInvocationExpression expression) {
524524
// Remove outer 'this' reference parameter
525525
Type firstParameterType = parameters.getFirst().getType();
526526

527-
if (firstParameterType.isObjectType() && !classFile.matchAccessFlags(ACC_STATIC) && (bodyDeclaration.getOuterTypeFieldName() != null)) {
527+
if (firstParameterType.isObjectType() && !classFile.isStatic() && (bodyDeclaration.getOuterTypeFieldName() != null)) {
528528
TypeMaker.TypeTypes superTypeTypes = typeMaker.makeTypeTypes(classFile.getSuperTypeName());
529529

530530
if ((superTypeTypes != null) && superTypeTypes.thisType.isInnerObjectType()) {

0 commit comments

Comments
 (0)