The VariableDefinition object has information about:
· The variable's name and type
· Whether the variable is a scalar or an array and information about the array
· The variable's initial value, whether the value overrides an ancestor's value, and whether the variable is a constant
· The read and write access levels for the variable
· The scope of the variable (global, shared, instance, local, argument), including whether the variable is an argument and how the argument is passed