SystemXCodeGenerator(EmittingContext& emittingContext_) |
SystemXCodeGenerator(const SystemXCodeGenerator&) delete |
void* | CleanupBlock() override |
void | CreateCleanup() override |
int | CurrentTryBlockId() const override |
void | ExitBlocks(BoundCompoundStatement* targetBlock) |
void | GenJumpingBoolCode() |
void | GenerateCode(void* boundCompileUnit) override |
void | GenerateCodeForCleanups() |
void* | GetGlobalStringPtr(int stringId) override |
void* | GetGlobalUStringConstant(int stringId) override |
void* | GetGlobalUuidConstant(int uuidId) override |
void* | GetGlobalWStringConstant(int stringId) override |
void* | HandlerBlock() override |
bool | InTryBlock() const override |
int | Install(const std::string& str) override |
int | Install(const std::u16string& str) override |
int | Install(const std::u32string& str) override |
bool | NewCleanupNeeded() override |
void | SetTarget(BoundStatement* labeledStatement) |
void | Visit(BoundAddressOfExpression& boundAddressOfExpression) override |
void | Visit(BoundAsExpression& boundAsExpression) override |
void | Visit(BoundAssignmentStatement& boundAssignmentStatement) override |
void | Visit(BoundBitCast& boundBitCast) override |
void | Visit(BoundBreakStatement& boundBreakStatement) override |
void | Visit(BoundCaseStatement& boundCaseStatement) override |
void | Visit(BoundCatchStatement& boundCatchStatement) override |
void | Visit(BoundClass& boundClass) override |
void | Visit(BoundClassDelegateCall& boundClassDelegateCall) override |
void | Visit(BoundClassOrClassDelegateConversionResult& boundClassOrClassDelegateConversionResult) override |
void | Visit(BoundCompileUnit& boundCompileUnit) override |
void | Visit(BoundCompoundStatement& boundCompoundStatement) override |
void | Visit(BoundConjunction& boundConjunction) override |
void | Visit(BoundConstant& boundConstant) override |
void | Visit(BoundConstructAndReturnTemporaryExpression& boundConstructAndReturnTemporaryExpression) override |
void | Visit(BoundConstructExpression& boundConstructExpression) override |
void | Visit(BoundConstructionStatement& boundConstructionStatement) override |
void | Visit(BoundContinueStatement& boundContinueStatement) override |
void | Visit(BoundConversion& boundConversion) override |
void | Visit(BoundDefaultStatement& boundDefaultStatement) override |
void | Visit(BoundDelegateCall& boundDelegateCall) override |
void | Visit(BoundDereferenceExpression& boundDereferenceExpression) override |
void | Visit(BoundDisjunction& boundDisjunction) override |
void | Visit(BoundDoStatement& boundDoStatement) override |
void | Visit(BoundEmptyStatement& boundEmptyStatement) override |
void | Visit(BoundEnumConstant& boundEnumConstant) override |
void | Visit(BoundExpressionStatement& boundExpressionStatement) override |
void | Visit(BoundForStatement& boundForStatement) override |
void | Visit(BoundFunction& boundFunction) override |
void | Visit(BoundFunctionCall& boundFunctionCall) override |
void | Visit(BoundFunctionPtr& boundFunctionPtr) override |
void | Visit(BoundGlobalVariable& boundGlobalVariable) override |
void | Visit(BoundGotoCaseStatement& boundGotoCaseStatement) override |
void | Visit(BoundGotoDefaultStatement& boundGotoDefaultStatement) override |
void | Visit(BoundGotoStatement& boundGotoStatement) override |
void | Visit(BoundIfStatement& boundIfStatement) override |
void | Visit(BoundInitializationStatement& boundInitializationStatement) override |
void | Visit(BoundIsExpression& boundIsExpression) override |
void | Visit(BoundLiteral& boundLiteral) override |
void | Visit(BoundLocalVariable& boundLocalVariable) override |
void | Visit(BoundMemberVariable& boundMemberVariable) override |
void | Visit(BoundNamespace& boundNamespace) override |
void | Visit(BoundParameter& boundParameter) override |
void | Visit(BoundReferenceToPointerExpression& boundReferenceToPointerExpression) override |
void | Visit(BoundRethrowStatement& boundRethrowStatement) override |
void | Visit(BoundReturnStatement& boundReturnStatement) override |
void | Visit(BoundSequenceStatement& boundSequenceStatement) override |
void | Visit(BoundSetVmtPtrStatement& boundSetVmtPtrStatement) override |
void | Visit(BoundSizeOfExpression& boundSizeOfExpression) override |
void | Visit(BoundSwitchStatement& boundSwitchStatement) override |
void | Visit(BoundTemporary& boundTemporary) override |
void | Visit(BoundThrowStatement& boundThrowStatement) override |
void | Visit(BoundTryStatement& boundTryStatement) override |
void | Visit(BoundTypeNameExpression& boundTypeNameExpression) override |
void | Visit(BoundWhileStatement& boundWhileStatement) override |
SystemXCodeGenerator& | operator=(const SystemXCodeGenerator&) delete |
bool | basicBlockOpen |
std::unordered_map<BoundCompoundStatement*, std::vector<std::unique_ptr<BoundFunctionCall>>> | blockDestructionMap |
std::vector<BoundCompoundStatement*> | blocks |
void* | breakTarget |
BoundCompoundStatement* | breakTargetBlock |
std::stack<BoundClass*> | classStack |
void* | cleanupBlock |
std::vector<std::unique_ptr<Cleanup>> | cleanups |
BoundCompileUnit* | compileUnit |
std::string | compileUnitId |
void* | continueTarget |
BoundCompoundStatement* | continueTargetBlock |
BoundCompoundStatement* | currentBlock |
std::unordered_map<IntegralValue, void*, IntegralValueHash>* | currentCaseMap |
BoundClass* | currentClass |
BoundFunction* | currentFunction |
int64_t | currentTryBlockId |
void* | currentTryNextBlock |
void* | defaultDest |
bool | destructorCallGenerated |
Emitter* | emitter |
EmittingContext* | emittingContext |
void* | entryBasicBlock |
void* | falseBlock |
void* | function |
bool | genJumpingBoolCode |
bool | generateLineNumbers |
void* | handlerBlock |
bool | inTryBlock |
std::unordered_map<BoundStatement*, void*> | labeledStatementMap |
void* | lastAlloca |
bool | lastInstructionWasRet |
Module* | module |
CompileUnit* | nativeCompileUnit |
bool | newCleanupNeeded |
int64_t | nextTryBlockId |
bool | prevWasTerminator |
BoundStatement* | sequenceSecond |
SymbolTable* | symbolTable |
void* | trueBlock |
std::unordered_map<int, void*> | utf16stringMap |
std::unordered_map<int, void*> | utf32stringMap |
std::unordered_map<int, void*> | utf8stringMap |
std::unordered_map<int, void*> | uuidMap |