Returns bit order.
Returns bit order. If text, this is the bit order for the character set encoding. If binary, this is the bitOrder property value.
Checks for bit order change.
Checks for bit order change. If the bit order is changing, checks if we're on a proper byte boundary.
Used when evaluating expressions.
Used when evaluating expressions. Holds state of expression during evaluation.
Doesn't hold every bit of state - that is to say there's still the regular execution call stack, which keeps track of exactly where in the expression evaluation we are.
The User API sets the debugger and debug on/off flag on the DataProcessor object.
The User API sets the debugger and debug on/off flag on the DataProcessor object. When a PState or UState is created by the DataProcessor, the DataProcessor sets notifies the state object so that it can setup any debug-specific behaviors.
Must call after all processors so as to recompute the formatInfo slots for the next parser - since the values could change.
Must call after all processors so as to recompute the formatInfo slots for the next parser - since the values could change.
This takes newParent as DIElement, not DIComplex, because there is code where we don't know whether the node is simple or complex but we set it as the parent anyway.
This takes newParent as DIElement, not DIComplex, because there is code where we don't know whether the node is simple or complex but we set it as the parent anyway. If simple children will simply not be appended.
But this invariant that there is always a parent we could append a child into is being maintained. THis invariant starts at the very top as there is a Document which is the parent of the root element. So there's no time when there isn't a parent there.
Must be called on the state before any call to the I/O layer, as that will call back to get property-related information and that has to be obtained via the runtime data for the term - whether element or model group.
Must be called on the state before any call to the I/O layer, as that will call back to get property-related information and that has to be obtained via the runtime data for the term - whether element or model group. The
Important: If an error is being suppressed, you must call this to reset the state back so that the prior failure doesn't "last forever" past the point where it is being suppressed.
Important: If an error is being suppressed, you must call this to reset the state back so that the prior failure doesn't "last forever" past the point where it is being suppressed.
This happens, for example, in the debugger when it is evaluating expressions.
Used when errors are caught by interactive debugger expression evaluation.
Used when errors are caught by interactive debugger expression evaluation. We don't want to accumulate the diagnostics that we're suppressing.
Variable map provides access to variable bindings.
Variable map provides access to variable bindings.
Verify that the state is left where we expect it to be after a normal parse.
Verify that the state is left where we expect it to be after a normal parse. I.e., stacks have been popped back to their original state, pools - all items returned, etc.
If for some reason parsing ends with a throw (not supposed to, but just if) then all bets are off, so this must be called ONLY on a normal return from parse call. That is, the parse can succeed or fail with diagnostics, but it must have returned normally.