Skip to content

Commit

Permalink
refactor: flip literals to reduce risk of NPE (#2365)
Browse files Browse the repository at this point in the history
  • Loading branch information
zielint0 authored and surli committed Aug 10, 2018
1 parent 5e24e78 commit c7b4365
Show file tree
Hide file tree
Showing 11 changed files with 24 additions and 24 deletions.
2 changes: 1 addition & 1 deletion src/main/java/spoon/MavenLauncher.java
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ static String[] readClassPath(File ... classPathFiles) throws IOException {
sb.append(line);
line = br.readLine();
}
if (!sb.toString().equals("")) {
if (!"".equals(sb.toString())) {
String[] classpath = sb.toString().split(File.pathSeparator);
for (String cpe : classpath) {
if (!classpathElements.contains(cpe)) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/spoon/metamodel/MMMethodKind.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public enum MMMethodKind {
* void addOn(int, T)
*/
ADD_ON(1, true, 1, m -> {
if (m.getParameters().size() == 2 && m.getParameters().get(0).getType().getSimpleName().equals("int")) {
if (m.getParameters().size() == 2 && "int".equals(m.getParameters().get(0).getType().getSimpleName())) {
if (m.getSimpleName().startsWith("add") || m.getSimpleName().startsWith("insert")) {
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -914,7 +914,7 @@ private ParameterElementPair transformTemplateParameterInvocationOfS(ParameterEl
if (parent instanceof CtInvocation<?>) {
CtInvocation<?> invocation = (CtInvocation<?>) parent;
CtExecutableReference<?> executableRef = invocation.getExecutable();
if (executableRef.getSimpleName().equals("S")) {
if ("S".equals(executableRef.getSimpleName())) {
if (TemplateParameter.class.getName().equals(executableRef.getDeclaringType().getQualifiedName())) {
/*
* the invocation of TemplateParameter#S() has to be substituted
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1140,7 +1140,7 @@ public <T> void visitCtAnnotationFieldAccess(CtAnnotationFieldAccess<T> annotati

@Override
public <T> void visitCtFieldReference(CtFieldReference<T> reference) {
boolean isStatic = reference.getSimpleName().equals("class") || !reference.getSimpleName().equals("super") && reference.isStatic();
boolean isStatic = "class".equals(reference.getSimpleName()) || !"super".equals(reference.getSimpleName()) && reference.isStatic();

boolean printType = true;

Expand All @@ -1163,7 +1163,7 @@ public <T> void visitCtFieldReference(CtFieldReference<T> reference) {
}
printer.writeSeparator(".");
}
if (reference.getSimpleName().equals("class")) {
if ("class".equals(reference.getSimpleName())) {
printer.writeKeyword("class");
} else {
printer.writeIdentifier(reference.getSimpleName());
Expand Down Expand Up @@ -1756,7 +1756,7 @@ public void visitCtWildcardReference(CtWildcardReference wildcardReference) {
}

private boolean printQualified(CtTypeReference<?> ref) {
if (importsContext.isImported(ref) || (this.env.isAutoImports() && ref.getPackage() != null && ref.getPackage().getSimpleName().equals("java.lang"))) {
if (importsContext.isImported(ref) || (this.env.isAutoImports() && ref.getPackage() != null && "java.lang".equals(ref.getPackage().getSimpleName()))) {
// If my.pkg.Something is imported, but
//A) we are in the context of a class which is also called "Something",
//B) we are in the context of a class which defines field which is also called "Something",
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/spoon/reflect/visitor/ImportScannerImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ protected boolean addClassImport(CtTypeReference<?> ref) {
if (declaringType != null) {
if (declaringType.getPackage() != null && !declaringType.getPackage().isUnnamedPackage()) {
// ignore java.lang package
if (!declaringType.getPackage().getSimpleName().equals("java.lang")) {
if (!"java.lang".equals(declaringType.getPackage().getSimpleName())) {
// ignore type in same package
if (declaringType.getPackage().getSimpleName()
.equals(pack.getSimpleName())) {
Expand All @@ -380,7 +380,7 @@ protected boolean addClassImport(CtTypeReference<?> ref) {
CtPackageReference pack = targetType.getPackage();
if (pack != null && ref.getPackage() != null && !ref.getPackage().isUnnamedPackage()) {
// ignore java.lang package
if (ref.getPackage().getSimpleName().equals("java.lang")) {
if ("java.lang".equals(ref.getPackage().getSimpleName())) {
return false;
} else {
// ignore type in same package
Expand Down Expand Up @@ -493,7 +493,7 @@ protected boolean isImportedInClassImports(CtTypeReference<?> ref) {
// then it is imported by default
if (pack != null && ref.getPackage() != null && !ref.getPackage().isUnnamedPackage()) {
// ignore java.lang package
if (!ref.getPackage().getSimpleName().equals("java.lang")) {
if (!"java.lang".equals(ref.getPackage().getSimpleName())) {
// ignore type in same package
if (ref.getPackage().getSimpleName()
.equals(pack.getSimpleName())) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/spoon/support/StandardEnvironment.java
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ public void setInputClassLoader(ClassLoader aClassLoader) {
// Check that the URLs are only file URLs
boolean onlyFileURLs = true;
for (URL url : urls) {
if (!url.getProtocol().equals("file")) {
if (!"file".equals(url.getProtocol())) {
onlyFileURLs = false;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ void build() {

CtType klass = this.getOrLoadClass(className);
if (klass != null) {
if (methodOrFieldName.equals("*")) {
if ("*".equals(methodOrFieldName)) {
this.imports.add(createImportWithPosition(factory.Type().createWildcardStaticTypeMemberReference(klass.getReference()), importRef));
} else {
List<CtNamedElement> methodOrFields = klass.getElements(new NamedElementFilter<>(CtNamedElement.class, methodOrFieldName));
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/spoon/support/compiler/jdt/JDTTreeBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ public void endVisit(ReturnStatement returnStatement, BlockScope scope) {

@Override
public void endVisit(SingleMemberAnnotation annotation, BlockScope scope) {
if (!context.annotationValueName.pop().equals("value")) {
if (!"value".equals(context.annotationValueName.pop())) {
throw new RuntimeException("Inconsistent Stack");
}
context.exit(annotation);
Expand Down Expand Up @@ -1583,7 +1583,7 @@ public boolean visit(TypeDeclaration memberTypeDeclaration, ClassScope scope) {

@Override
public boolean visit(TypeDeclaration typeDeclaration, CompilationUnitScope scope) {
if (new String(typeDeclaration.name).equals("package-info")) {
if ("package-info".equals(new String(typeDeclaration.name))) {
context.enter(factory.Package().getOrCreate(new String(typeDeclaration.binding.fPackage.readableName())), typeDeclaration);
return true;
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ private Object convertElementToRuntimeObject(CtElement value) {
.partiallyEvaluate()).getValue();
}

if (((CtFieldReference<?>) value).getSimpleName().equals("class")) {
if ("class".equals(((CtFieldReference<?>) value).getSimpleName())) {
return c;
}
CtField<?> field = ((CtFieldReference<?>) value).getDeclaration();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,31 +82,31 @@ public CtTypeReference<?> box() {
if (!isPrimitive()) {
return this;
}
if (getSimpleName().equals("int")) {
if ("int".equals(getSimpleName())) {
return getFactory().Type().createReference(Integer.class);
}
if (getSimpleName().equals("float")) {
if ("float".equals(getSimpleName())) {
return getFactory().Type().createReference(Float.class);
}
if (getSimpleName().equals("long")) {
if ("long".equals(getSimpleName())) {
return getFactory().Type().createReference(Long.class);
}
if (getSimpleName().equals("char")) {
if ("char".equals(getSimpleName())) {
return getFactory().Type().createReference(Character.class);
}
if (getSimpleName().equals("double")) {
if ("double".equals(getSimpleName())) {
return getFactory().Type().createReference(Double.class);
}
if (getSimpleName().equals("boolean")) {
if ("boolean".equals(getSimpleName())) {
return getFactory().Type().createReference(Boolean.class);
}
if (getSimpleName().equals("short")) {
if ("short".equals(getSimpleName())) {
return getFactory().Type().createReference(Short.class);
}
if (getSimpleName().equals("byte")) {
if ("byte".equals(getSimpleName())) {
return getFactory().Type().createReference(Byte.class);
}
if (getSimpleName().equals("void")) {
if ("void".equals(getSimpleName())) {
return getFactory().Type().createReference(Void.class);
}
return this;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/spoon/support/template/Parameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ public static boolean isParameterSource(CtFieldReference<?> ref) {
//the template fields, which are using generic type like <T>, are not template parameters
return false;
}
if (ref.getSimpleName().equals("this")) {
if ("this".equals(ref.getSimpleName())) {
//the reference to this is not template parameter
return false;
}
Expand Down

0 comments on commit c7b4365

Please sign in to comment.