[ASTERIXDB-2124] Throw NPE early

Change-Id: I84a458d2293450bce973788ac84b6fbc4c993a4a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2055
Reviewed-by: Ian Maxon <imaxon@apache.org>
Tested-by: Ian Maxon <imaxon@apache.org>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Integration-Tests: Murtadha Hubail <mhubail@apache.org>
Tested-by: Murtadha Hubail <mhubail@apache.org>
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalVariable.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalVariable.java
index 2023304..f3b9edc 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalVariable.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalVariable.java
@@ -48,11 +48,10 @@
 
     @Override
     public boolean equals(Object obj) {
-        if (!(obj instanceof LogicalVariable)) {
-            return false;
-        } else {
+        if (obj instanceof LogicalVariable) {
             return id == ((LogicalVariable) obj).getId();
         }
+        return false;
     }
 
     @Override
diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/VariableReferenceExpression.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/VariableReferenceExpression.java
index 2ccf0c4..c1342cc 100644
--- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/VariableReferenceExpression.java
+++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/VariableReferenceExpression.java
@@ -33,6 +33,9 @@
     private LogicalVariable variable;
 
     public VariableReferenceExpression(int tupleRef, LogicalVariable variable) {
+        if (variable == null) {
+            throw new NullPointerException();
+        }
         this.tupleRef = tupleRef;
         this.variable = variable;
     }
@@ -73,17 +76,16 @@
 
     @Override
     public boolean equals(Object obj) {
-        if (!(obj instanceof VariableReferenceExpression)) {
-            return false;
-        } else {
-            return tupleRef == ((VariableReferenceExpression) obj).tupleRef
-                    && variable.equals(((VariableReferenceExpression) obj).getVariableReference());
+        if (obj instanceof VariableReferenceExpression) {
+            final VariableReferenceExpression varRefExpr = (VariableReferenceExpression) obj;
+            return tupleRef == varRefExpr.tupleRef && variable.equals(varRefExpr.getVariableReference());
         }
+        return false;
     }
 
     @Override
     public int hashCode() {
-        return tupleRef + variable.getId();
+        return tupleRef + variable.hashCode();
     }
 
     @Override