A NULL from the parser may not yet know its type; that must be set during binding, as it is for parameters.
the DataValueDescriptor methods want to throw exceptions when they are of the wrong type, but to do that they must check typeId when the value is null, rather than the instanceof check they do for returning a valid value.
For code generation, we generate a static field. Then we set the field be the proper constant expression (something like getDatavalueFactory().getCharDataValue("hello", ...))
) in the constructor of the generated method. Ideally we would have just
|
|