Skip to content

Commit c9b1400

Browse files
authored
Merge pull request #52 from IBM/type-decl-model-update
Lombok model update to remove subclasses of Type
2 parents 4fe3f39 + 8b10301 commit c9b1400

File tree

4 files changed

+11
-37
lines changed

4 files changed

+11
-37
lines changed

src/main/java/com/ibm/northstar/SymbolTable.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@
1717
import com.github.javaparser.resolution.types.ResolvedType;
1818
import com.github.javaparser.symbolsolver.JavaSymbolSolver;
1919
import com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver;
20-
import com.github.javaparser.symbolsolver.resolution.typesolvers.JarTypeSolver;
2120
import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver;
2221
import com.github.javaparser.symbolsolver.utils.SymbolSolverCollectionStrategy;
2322
import com.github.javaparser.utils.ProjectRoot;
2423
import com.github.javaparser.utils.SourceRoot;
2524
import com.google.common.collect.Table;
2625
import com.google.common.collect.Tables;
27-
import com.ibm.northstar.entities.Enum;
2826
import com.ibm.northstar.entities.*;
2927
import com.ibm.northstar.utils.Log;
3028
import org.apache.commons.lang3.tuple.Pair;
@@ -108,10 +106,9 @@ private static JavaCompilationUnit processCompilationUnit(CompilationUnit parseR
108106
.map(typeDecl -> {
109107
// get type name and initialize the type object
110108
String typeName = typeDecl.getFullyQualifiedName().get().toString();
111-
com.ibm.northstar.entities.Type typeNode = null;
109+
com.ibm.northstar.entities.Type typeNode = new com.ibm.northstar.entities.Type();
112110

113111
if (typeDecl instanceof ClassOrInterfaceDeclaration) {
114-
typeNode = new ClassOrInterface();
115112
ClassOrInterfaceDeclaration classDecl = (ClassOrInterfaceDeclaration)typeDecl;
116113

117114
// Add interfaces implemented by class
@@ -127,17 +124,16 @@ private static JavaCompilationUnit processCompilationUnit(CompilationUnit parseR
127124
.collect(Collectors.toList()));
128125

129126
// add booleans indicating interfaces and inner/local classes
130-
((ClassOrInterface)typeNode).setInterface(classDecl.isInterface());
131-
((ClassOrInterface)typeNode).setInnerClass(classDecl.isInnerClass());
132-
((ClassOrInterface)typeNode).setLocalClass(classDecl.isLocalClassDeclaration());
127+
typeNode.setInterface(classDecl.isInterface());
128+
typeNode.setInnerClass(classDecl.isInnerClass());
129+
typeNode.setLocalClass(classDecl.isLocalClassDeclaration());
133130

134131
// Add extends
135-
((ClassOrInterface)typeNode).setExtendsList(classDecl.getExtendedTypes().stream()
132+
typeNode.setExtendsList(classDecl.getExtendedTypes().stream()
136133
.map(SymbolTable::resolveType)
137134
.collect(Collectors.toList()));
138135

139136
} else if (typeDecl instanceof EnumDeclaration) {
140-
typeNode = new Enum();
141137
EnumDeclaration enumDecl = (EnumDeclaration)typeDecl;
142138

143139
// Add interfaces implemented by enum
@@ -153,7 +149,7 @@ private static JavaCompilationUnit processCompilationUnit(CompilationUnit parseR
153149
.collect(Collectors.toList()));
154150

155151
// Add enum constants
156-
((Enum)typeNode).setEnumConstants(enumDecl.getEntries().stream()
152+
typeNode.setEnumConstants(enumDecl.getEntries().stream()
157153
.map(SymbolTable::processEnumConstantDeclaration).collect(Collectors.toList()));
158154

159155
} else {

src/main/java/com/ibm/northstar/entities/ClassOrInterface.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/main/java/com/ibm/northstar/entities/Enum.java

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/main/java/com/ibm/northstar/entities/Type.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ public class Type {
1212
private boolean isEnumDeclaration;
1313
private boolean isAnnotationDeclaration;
1414
private boolean isRecordDeclaration;
15+
private boolean isInterface;
16+
private boolean isInnerClass;
17+
private boolean isLocalClass;
18+
private List<String> extendsList;
1519
private String comment;
1620
private List<String> implementsList;
1721
private List<String> modifiers;
@@ -20,4 +24,5 @@ public class Type {
2024
private List<String> nestedTypeDeclarations;
2125
private Map<String, Callable> callableDeclarations;
2226
private List<Field> fieldDeclarations;
27+
private List<EnumConstant> enumConstants;
2328
}

0 commit comments

Comments
 (0)