top | up | prev | next

XmlAttributeProcessor Class

Definition at line 13 of XmlAttributeProcessor.hpp

Constructors

XmlAttributeProcessor()

Member Functions

void GenerateImplementation(AttributeNode* attribute, Symbol* symbol, StatementBinder* statementBinder)
void GenerateSymbols(AttributeNode* attribute, Symbol* symbol, BoundCompileUnit& boundCompileUnit, ContainerScope* containerScope)
void GenerateSystemDomElementConstructorImplementation(AttributeNode* attribute, ClassTypeSymbol* classTypeSymbol, ConstructorSymbol* constructorSymbol, StatementBinder* statementBinder)
void GenerateSystemDomElementConstructorSymbol(AttributeNode* attribute, ClassTypeSymbol* classTypeSymbol, BoundCompileUnit& boundCompileUnit, ContainerScope* containerScope)
void GenerateToXmlMemberFunctionImplementation(AttributeNode* attribute, ClassTypeSymbol* classTypeSymbol, MemberFunctionSymbol* toXmlMemberFunctionSymbol, StatementBinder* statementBinder)
void GenerateToXmlSymbol(AttributeNode* attribute, ClassTypeSymbol* classTypeSymbol, BoundCompileUnit& boundCompileUnit, ContainerScope* containerScope)
void TypeCheck(AttributeNode* attribute, Symbol* symbol)

Member Variables

std::unordered_map<Symbol*, ConstructorSymbol*> constructorSymbolMap
std::unordered_map<Symbol*, MemberFunctionSymbol*> toXmlMemberFunctionSymbolMap

Constructor Details

XmlAttributeProcessor Constructor

cmajor::binder::XmlAttributeProcessor::XmlAttributeProcessor()

Definition at line 25 of XmlAttributeProcessor.cpp :
 25 : AttributeProcessor(U"xml")
 26 {
 27 }


Declaration at line 16 of XmlAttributeProcessor.hpp


Member Function Details

GenerateImplementation Member Function

void cmajor::binder::XmlAttributeProcessor::GenerateImplementation(AttributeNode* attribute, Symbol * symbol, StatementBinder * statementBinder)

Definition at line 62 of XmlAttributeProcessor.cpp

Calls: cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorImplementation , cmajor::binder::XmlAttributeProcessor::GenerateToXmlMemberFunctionImplementation , cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::IsClassTypeSymbol


GenerateSymbols Member Function

void cmajor::binder::XmlAttributeProcessor::GenerateSymbols(AttributeNode* attribute, Symbol * symbol, BoundCompileUnit & boundCompileUnit, ContainerScope * containerScope)

Definition at line 49 of XmlAttributeProcessor.cpp

Calls: cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorSymbol , cmajor::binder::XmlAttributeProcessor::GenerateToXmlSymbol , cmajor::symbols::Symbol::IsClassTypeSymbol


GenerateSystemDomElementConstructorImplementation Member Function

void cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorImplementation(AttributeNode* attribute, ClassTypeSymbol * classTypeSymbol, ConstructorSymbol * constructorSymbol, StatementBinder * statementBinder)

Definition at line 283 of XmlAttributeProcessor.cpp

Calls: cmajor::binder::BoundClass::AddMember , cmajor::binder::BoundCompileUnit::AddFileScope , cmajor::binder::BoundCompileUnit::GetSymbolTable , cmajor::binder::BoundCompileUnit::RemoveLastFileScope , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::StatementBinder::CurrentClass , cmajor::binder::StatementBinder::CurrentConstructorNode , cmajor::binder::StatementBinder::CurrentConstructorSymbol , cmajor::binder::StatementBinder::CurrentFunction , cmajor::binder::StatementBinder::GetBoundCompileUnit , cmajor::binder::StatementBinder::GetContainerScope , cmajor::binder::StatementBinder::ReleaseStatement , cmajor::binder::StatementBinder::SetContainerScope , cmajor::binder::StatementBinder::SetCurrentConstructor , cmajor::binder::StatementBinder::SetCurrentFunction , cmajor::binder::TypeBinder::SetContainerScope , cmajor::binder::TypeBinder::SetCurrentFunctionSymbol , cmajor::symbols::ClassTypeSymbol::BaseClass , cmajor::symbols::ClassTypeSymbol::MemberVariables , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::Exception::Defined , cmajor::symbols::Exception::DefinedModuleId , cmajor::symbols::Exception::Message , cmajor::symbols::Exception::References , cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::GetAttributes , cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::SourceModuleId , cmajor::symbols::SymbolTable::BeginContainer , cmajor::symbols::SymbolTable::EndContainer

Called by: cmajor::binder::XmlAttributeProcessor::GenerateImplementation


GenerateSystemDomElementConstructorSymbol Member Function

void cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorSymbol(AttributeNode* attribute, ClassTypeSymbol * classTypeSymbol, BoundCompileUnit & boundCompileUnit, ContainerScope * containerScope)

Definition at line 128 of XmlAttributeProcessor.cpp

Calls: cmajor::binder::BoundCompileUnit::GetModule , cmajor::symbols::ClassTypeSymbol::AddMember , cmajor::symbols::FunctionSymbol::AddMember , cmajor::symbols::FunctionSymbol::ComputeName , cmajor::symbols::FunctionSymbol::SetGroupName , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Symbol::SetAccess , cmajor::symbols::Symbol::SetModule , cmajor::symbols::SymbolTable::SetFunctionIdFor , cmajor::symbols::TypeSymbol::AddPointer , cmajor::symbols::VariableSymbol::SetType

Called by: cmajor::binder::XmlAttributeProcessor::GenerateSymbols


GenerateToXmlMemberFunctionImplementation Member Function

void cmajor::binder::XmlAttributeProcessor::GenerateToXmlMemberFunctionImplementation(AttributeNode* attribute, ClassTypeSymbol * classTypeSymbol, MemberFunctionSymbol * toXmlMemberFunctionSymbol, StatementBinder * statementBinder)

Definition at line 148 of XmlAttributeProcessor.cpp

Calls: cmajor::binder::BoundClass::AddMember , cmajor::binder::BoundCompileUnit::AddFileScope , cmajor::binder::BoundCompileUnit::GetSymbolTable , cmajor::binder::BoundCompileUnit::RemoveLastFileScope , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::StatementBinder::CurrentClass , cmajor::binder::StatementBinder::CurrentFunction , cmajor::binder::StatementBinder::GetBoundCompileUnit , cmajor::binder::StatementBinder::GetContainerScope , cmajor::binder::StatementBinder::ReleaseStatement , cmajor::binder::StatementBinder::SetContainerScope , cmajor::binder::StatementBinder::SetCurrentFunction , cmajor::binder::TypeBinder::SetContainerScope , cmajor::binder::TypeBinder::SetCurrentFunctionSymbol , cmajor::symbols::ClassTypeSymbol::BaseClass , cmajor::symbols::ClassTypeSymbol::MemberVariables , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::Exception::Defined , cmajor::symbols::Exception::DefinedModuleId , cmajor::symbols::Exception::Message , cmajor::symbols::Exception::References , cmajor::symbols::FileScope::AddContainerScope , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::GetAttributes , cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::Ns , cmajor::symbols::Symbol::SourceModuleId , cmajor::symbols::SymbolTable::BeginContainer , cmajor::symbols::SymbolTable::EndContainer , cmajor::symbols::SymbolTable::GlobalNs

Called by: cmajor::binder::XmlAttributeProcessor::GenerateImplementation


GenerateToXmlSymbol Member Function

void cmajor::binder::XmlAttributeProcessor::GenerateToXmlSymbol(AttributeNode* attribute, ClassTypeSymbol * classTypeSymbol, BoundCompileUnit & boundCompileUnit, ContainerScope * containerScope)

Definition at line 90 of XmlAttributeProcessor.cpp

Calls: cmajor::binder::BoundCompileUnit::GetModule , cmajor::symbols::ClassTypeSymbol::AddMember , cmajor::symbols::ClassTypeSymbol::BaseClass , cmajor::symbols::ClassTypeSymbol::Destructor , cmajor::symbols::FunctionSymbol::AddMember , cmajor::symbols::FunctionSymbol::ComputeName , cmajor::symbols::FunctionSymbol::IsVirtual , cmajor::symbols::FunctionSymbol::SetGroupName , cmajor::symbols::FunctionSymbol::SetOverride , cmajor::symbols::FunctionSymbol::SetReturnParam , cmajor::symbols::FunctionSymbol::SetReturnType , cmajor::symbols::FunctionSymbol::SetVirtual , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Symbol::SetAccess , cmajor::symbols::Symbol::SetModule , cmajor::symbols::Symbol::SetParent , cmajor::symbols::SymbolTable::SetFunctionIdFor , cmajor::symbols::TypeSymbol::AddPointer , cmajor::symbols::VariableSymbol::SetType

Called by: cmajor::binder::XmlAttributeProcessor::GenerateSymbols


TypeCheck Member Function

void cmajor::binder::XmlAttributeProcessor::TypeCheck(AttributeNode* attribute, Symbol * symbol)

Definition at line 29 of XmlAttributeProcessor.cpp

Calls: cmajor::binder::AttributeProcessor::TypeCheck , cmajor::symbols::Symbol::GetSymbolType


top | up | prev | next