Fix another non-const expression binding crash

It's possible to resolve a qualified prefix of an expression that turns
out to be non-constant.

MOE_MIGRATED_REVID=136634305
diff --git a/java/com/google/turbine/binder/ConstEvaluator.java b/java/com/google/turbine/binder/ConstEvaluator.java
index d4c0520..2f6fae9 100644
--- a/java/com/google/turbine/binder/ConstEvaluator.java
+++ b/java/com/google/turbine/binder/ConstEvaluator.java
@@ -160,6 +160,9 @@
   /** Evaluates a reference to another constant variable. */
   Const evalConstVar(ConstVarName t) {
     FieldInfo field = resolveField(t);
+    if (field == null) {
+      return null;
+    }
     if ((field.access() & TurbineFlag.ACC_ENUM) == TurbineFlag.ACC_ENUM) {
       return new Const.EnumConstantValue(field.sym());
     }
@@ -180,6 +183,9 @@
       ClassSymbol sym = (ClassSymbol) result.sym();
       for (int i = 0; i < result.remaining().size() - 1; i++) {
         sym = Resolve.resolve(env, sym, result.remaining().get(i));
+        if (sym == null) {
+          return null;
+        }
       }
       field = Resolve.resolveField(env, sym, Iterables.getLast(result.remaining()));
       if (field != null) {
diff --git a/javatests/com/google/turbine/lower/testdata/non_const.test b/javatests/com/google/turbine/lower/testdata/non_const.test
index def461a..046a8de 100644
--- a/javatests/com/google/turbine/lower/testdata/non_const.test
+++ b/javatests/com/google/turbine/lower/testdata/non_const.test
@@ -12,4 +12,5 @@
   public static final int D = -xs.length;
   public static final short E = (short) xs.length;
   public static final int[] F = {xs.length};
+  public static final int G = Test.xs.length;
 }