Use an intermediate representation to reinterpret the value in Target::paintAsType
Fix  Issue 12827 - [ICE] Segfault on immutable field self-initialization
Fix test output message
Fix test output message #2
fix
Issue 13303 - Internal error: ..\ztc\cgcs.c 351 with rvalue Variant.get call
fix
Issue 11946 - need 'this' to access member when passing field to template parameter
[reg] Temporary fix Issue 13321 - Wrong goto skips declaration error
[refactoring] turn PROT into struct and rename it

Makes it possible to easily add additional protection
information and differentiates between protected imports
and actual attribute.
Support 'package(ident)' syntax (parser/AST)

This commit adds capability of parsing and resolving
explicit package defined for package protection attribute. Adjusting
acess checks to use it will be done in separate commit.
Fix #2529: package protection + sub-package

Fix relevant issue by allowing to explicitly define
package to bind protection attribute to. Defaults
remain unchanged.
Reject non-parent protection packages

Using non-existent or non-parent package as an argument to
'package' protection attribute will result in compile-time error.

Test cases with error message output added.
Improve ProtDeclaration error formatting.

Now includes actual protection attribute kind and package name (if any)
    into error message. Also stores location information from the parser.
Do not generate code for protection tests
Printing of ProtDeclaration is handled by visitor
Move isAncestorPackageOf docs to definition
Simplify isAncestorPackageOf implementations
Trivial whitespace fix
Move package resolution to semantic phase
Fix debug printfs in access.c
Consume remaining line tokens on error