private boolean isValidDefineType(JSTypeExpression expression) {
    JSTypeRegistry registry = compiler.getTypeRegistry();
    JSType type = registry.evaluateTypeExpressionInGlobalScope(expression);
    return !type.isUnknownType()
        && type.isSubtypeOf(registry.getNativeType(NUMBER_STRING_BOOLEAN));
  }
private boolean isValidDefineType ( JSTypeExpression expression ) { JSTypeRegistry registry = compiler . getTypeRegistry ( ) ; JSType type = registry . evaluateTypeExpressionInGlobalScope ( expression ) ; return ! type . isUnknownType ( ) && type . isSubtypeOf ( registry . getNativeType ( NUMBER_STRING_BOOLEAN ) ) ; }
Only defines of literal number, string, or boolean are supported.