Override to perform necessary checks that require information about the concrete Term.
Override to perform necessary checks that require information about the concrete Term.
This avoids the need for the checking code to have a backpointer to the Term.
Perform checking of an object against the supplied Term arg.
Mixin for objects that are shared, but have consistency checks to be run that are based on the concrete Term objects they are associated with.
E.g., DFDL statements may have checks that need to know the encoding (if it is known at compile time). We call this on each statement to enable the checking code to be expressed on that statement where it is relevant, but have it be callable from the concrete Term once it is created.
This is a way to avoid use of backpointers from shared objects to every thing referencing them.