Merge remote-tracking branch 'origin/pvj/main' into ncb/development
Atomic assignments now pogged as a whole

This fixes an issue with generating state invariant obligations
for atomic assignments (reported for Symphony).
Iterate through entire ctxt stack when popping.
Added some tests to exercise generation of the call statement when it has arguments of union types
Added generation of the call statement when it has union type arguments
Merge remote-tracking branch 'origin/development' into ncb/development
Account for is_ expressions in and clauses, fixes #342
Small correction to is_ type checks involving named types, fixes #342
Updated tests and test results related to generation of VDM models that include naming violations
Changed handling of naming violations such that the analysis changes violated names. For example, 'double' is a reserved keyword in Java, but it can be used as (say) a function name in VDM. The analysis now corrects this name to 'cg_double' in the Java code generator.
Updated IDE part of the Java code generator to reflect the most recent changes made to its core part concerning handling of naming violations.
Added generation of the equals definition (e.g. def x = 1 .....)
Fix for generation of the function instantiation expression
Fix for generation of explicit naming for variable expressions and call statements
Updates to codegen test results related to generation of constructors
Changed the way constructors are generated
Added test to exercise generation of constructors
Merge remote-tracking branch 'origin/ncb/development' into pvj/main
Merge remote-tracking branch 'origin/ldc/tests' into jwc/base
Merge remote-tracking branch 'origin/pvj/main' into jwc/base