From 695c930a1ecf1b6db40b158b9da10ccc5e4a333a Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Sat, 26 Sep 2015 08:34:12 -0400 Subject: [PATCH] Always null check result of extractTypeInfo() --- .../mode/java/pdex/ASTGenerator.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/java/src/processing/mode/java/pdex/ASTGenerator.java b/java/src/processing/mode/java/pdex/ASTGenerator.java index 1e209c694..2296a1ec6 100644 --- a/java/src/processing/mode/java/pdex/ASTGenerator.java +++ b/java/src/processing/mode/java/pdex/ASTGenerator.java @@ -2793,6 +2793,10 @@ public class ASTGenerator { SimpleType stp = extracTypeInfo(findDeclaration((qn.getQualifier()))); // log(qn.getQualifier() + "->" + qn.getName()); + if (stp == null) { + return null; + } + declaringClass = findDeclaration(stp.getName()); // log("QN decl class: " + getNodeAsString(declaringClass)); @@ -2810,16 +2814,15 @@ public class ASTGenerator { // .toString())); SimpleType stp = extracTypeInfo(findDeclaration((qnn.getQualifier()))); - if (stp != null) { - declaringClass = findDeclaration(stp.getName()); - constrains.clear(); - constrains.add(ASTNode.TYPE_DECLARATION); - constrains.add(ASTNode.FIELD_DECLARATION); - return definedIn(declaringClass, qnn.getName().toString(), - constrains, null); - } else { + if (stp == null) { return null; } + declaringClass = findDeclaration(stp.getName()); + constrains.clear(); + constrains.add(ASTNode.TYPE_DECLARATION); + constrains.add(ASTNode.FIELD_DECLARATION); + return definedIn(declaringClass, qnn.getName().toString(), + constrains, null); } } } else if (parent.getNodeType() == ASTNode.SIMPLE_TYPE) { @@ -3010,6 +3013,11 @@ public class ASTGenerator { // .toString())); SimpleType stp = extracTypeInfo(findDeclaration2((qnn.getQualifier()), alternateParent)); + + if (stp == null) { + return null; + } + // log(qnn.getQualifier() + "->" + qnn.getName()); declaringClass = findDeclaration2(stp.getName(), alternateParent);