What is the simplest way to get a variable's type as declared in a script, when the variable is received by a system function declared to take any input?
For example, given the following function declaration:
void Function(?& in)
How would i determine what type is passed in?
If i were to pass in this:
array<dictionary@>@ pArray = array<dictionary@>();
I want to get that declaration, including namespace if present. Whatever method would be used would have to take into account whether the input is a primitive type, reference or value type, enum, handle, or funcdef.
I know it's possible to get the information needed to form the declaration for all except funcdefs, which seem to be inaccessible on a module level. Only system declared funcdefs are available for iteration through the engine, as far as i know.