SageBuilder::declaration_ownership
Exact structural ownership selected by named declaration producers.
Synopsis
Declared in <SageIII/sageInterface/sageBuilder.h>
class declaration_ownership;
Enums
Name |
Member Functions
Static Member Functions
Name |
Description |
Publish through semantic auxiliary ownership while leaving provenance unclassified for one exact frontend publication. The declaration is structurally auxiliary from construction and can never acquire a lexical source‐owner edge. |
|
Publish a source‐written tag in the exact function declaration scope that owns its declarator spelling while preserving the tag's semantic scope. |
|
Publish in the semantic scope passed to the builder. |
|
Publish a distinct class source surface in a lexical scope while joining an already published exact semantic class declaration family directly. No name or template‐argument lookup is permitted for this transaction. |
|
Publish in a distinct lexical scope without changing semantic scope. |
|
Publish in the semantic scope while leaving provenance unclassified for one later exact physical‐source publication by a frontend. |
|
Build one generated declaration surface with complete transformation provenance and semantic identity, but no lexical owner. A later typed mutation transaction must publish its exact physical output owner. |
Private Member Functions
Name |
|
Private Data Members
Non-Member Functions
Name |
Description |
Build a source‐anonymous structure with an explicit, non‐empty semantic identity. The internal name is never emitted as source. |
|
DQ (11/7/2009): Added function to build C++ class (builds both the non‐defining and defining declarations; in that order). |
|
Build a generic class declaration statement (SgClassDeclaration or subclass) with a class declaration and definition (creating both the defining and nondefining declarations as required. |
|
Build an SgDerivedTypeStatement Fortran derived type declaration with a class declaration and definition (creating both the defining and nondefining declarations as required). |
|
Build an enum, It is also a declaration statement in SAGE III |
|
Build one enum definition over an explicit canonical type identity. |
|
Build a Fortran module declaration. |
|
DQ (11/7/2009): Added functions to build C++ class. |
|
Build a class first nondefining declaration, without file info. |
|
Build the canonical semantic forward declaration for a Fortran derived type. A derived‐type forward has no source surface or definition and must be completed later by exactly one buildDerivedTypeStatement() call. |
|
buildNondefiningTemplateClassDeclaration() |
|
DQ (11/29/2011): Adding template declaration support to the AST. |
|
Build one nondefining redeclaration of an existing template class. The canonical declaration is required explicitly; the redeclaration reuses its exact type and symbol and never publishes another symbol. |
|
Build a structure, It is also a declaration statement in SAGE III |
|
Build tempplate class declaration |
|
Build and atomically publish a template variable declaration with explicit structural ownership. The semantic scope is supplied separately; sourceLexicalIn() represents an out‐of‐class definition without changing the variable entity's semantic class scope. |
Created with MrDocs