Classes Summary:
Exception class used by ASG internals.
Wrap the object's 'accept' method, printing out the visitor's type.
Class for not (yet) known type-ids.
A modifier that adds array dimensions to a type-id.
Class for parametrized type-id instances.
Class for function (pointer) types.
Dictionary extends the builtin 'dict' by adding a lookup method to it.
A node for internal use only.
Import one module's content into another.
Import a declaration into this module.
Base class for groups which contain declarations.
Base class for scopes (named groups).
Classes Details:
Exception class used by ASG internals.
Wrap the object's 'accept' method, printing out the visitor's type.
Useful for tracing visitors visiting declarations.
Named type abstract class
Class for builtin type-ids
Class for template dependent type-ids
Class for not (yet) known type-ids.
Class for alias types with modifiers (such as 'const', '&', etc.)
A modifier that adds array dimensions to a type-id.
Class for parametrized type-id instances.
Class for function (pointer) types.
Dictionary extends the builtin 'dict' by adding a lookup method to it.
Declaration base class. Every declaration has a name, type,
accessibility and annotations. The default accessibility is DEFAULT except for
C++ where the Parser always sets it to one of the other three.
A node for internal use only.
Import one module's content into another.
Import a declaration into this module.
A preprocessor macro. Note that macros are not strictly part of the
ASG, and as such are always in the global scope. A macro is "temporary" if
it was #undefined in the same file it was #defined in.
Base class for groups which contain declarations.
This class doesn't correspond to any language construct.
Rather, it may be used with comment-embedded grouping tags
to regroup declarations that are to appear together in the
manual.
Base class for scopes (named groups).
Module Class that references all places where this Module occurs
Inheritance class. This class encapsulates the information about an
inheritance, such as attributes like 'virtual' and 'public'
Enumerator of an Enum. Enumerators represent the individual names and
values in an enum.
Enum declaration. The actual names and values are encapsulated by
Enumerator objects.
Constant declaration. A constant is a name with a type and value.
Function declaration.
Note that function names are stored in mangled form to allow overriding.
Formatters should use the real_name to extract the unmangled name.
Operation class. An operation is related to a Function and is currently
identical.