docs: static SoyValue getConstantOrNull(ExprNode expr) {
  
      switch (expr.getKind()) {
        case NULL_NODE:
          return NullData.INSTANCE;
        case BOOLEAN_NODE:
          return BooleanData.forValue(((BooleanNode) expr).getValue());
        case INTEGER_NODE:
          return IntegerData.forValue(((IntegerNode) expr).getValue());
        case FLOAT_NODE:
          return FloatData.forValue(((FloatNode) expr).getValue());
        case STRING_NODE:
          return StringData.forValue(((StringNode) expr).getValue());
        case GLOBAL_NODE:
          GlobalNode global = (GlobalNode) expr;
          if (global.isResolved()) {
            return getConstantOrNull(global.getValue());
          }
          return null;
        default:
          return null;
      }
    }