|
| UE_API SBuildResults | BuildProject (const CSourceProject &SourceProject, const SBuildContext &BuildContext, const SProgramContext &ProgramContext) |
| |
| UE_API ECompilerResult | ParseSnippet (const uLang::TSRef< Verse::Vst::Snippet > &OutVst, const CUTF8StringView &TextSnippet, const SBuildContext &BuildContext, const uint32_t VerseVersion=Verse::Version::Default, const uint32_t UploadedAtFNVersion=VerseFN::UploadedAtFNVersion::Latest) |
| |
| UE_API ECompilerResult | CompileVst (const TSRef< Verse::Vst::Project > &Vst, const SBuildContext &BuildContext, const SProgramContext &ProgramContext) |
| |
| UE_API ECompilerResult | SemanticAnalyzeVst (TOptional< TSRef< CSemanticProgram > > &OutProgram, const TSRef< Verse::Vst::Project > &Vst, const SBuildContext &BuildContext, const SProgramContext &ProgramContext) |
| |
| UE_API ECompilerResult | ExtractLocalization (const TSRef< CSemanticProgram > &Program, const SBuildContext &BuildContext, const SProgramContext &ProgramContext) |
| |
| UE_API ECompilerResult | IrGenerateProgram (const TSRef< CSemanticProgram > &Program, const SBuildContext &BuildContext, const SProgramContext &ProgramContext) |
| |
| UE_API ECompilerResult | AssembleProgram (const TSRef< CSemanticProgram > &Program, const SBuildContext &BuildContext, const SProgramContext &ProgramContext) |
| |
| UE_API ELinkerResult | Link (const SBuildContext &BuildContext, const SProgramContext &ProgramContext) |
| |
| const TOptional< TSRef< IParserPass > > & | GetParser () const |
| |
| const TSRefArray< IPostVstFilter > & | GetPostVstFilters () const |
| |
| const TOptional< TSRef< ISemanticAnalyzerPass > > & | GetSemanticAnalyzer () const |
| |
| const TSRefArray< IPostSemanticAnalysisFilter > & | GetPostSemanticAnalysisFilters () const |
| |
| const TSRefArray< IPostIrFilter > & | GetPostIrFilters () const |
| |
| const TOptional< TSRef< IAssemblerPass > > & | GetAssembler () const |
| |
| const TSPtr< Verse::Vst::Project > & | GetProjectVst () const |
| |
| void | SetProjectVst (const TSRef< Verse::Vst::Project > &NewProject) |
| |
| UE_API TArray< FSolLocalizationInfo > | TakeLocalizationInfo () |
| |
| UE_API TArray< FSolLocalizationInfo > | TakeStringInfo () |
| |
| | CSharedMix () |
| |
| virtual UE_API | ~CSharedMix () |
| |
| | CSharedMix (const CSharedMix &Other)=delete |
| |
| CSharedMix & | operator= (const CSharedMix &Other)=delete |
| |
| uint32_t | GetRefCount () const |
| |
The compiler toolchain, which has five stages of compilation. It's structured as a layered, multi-stage compiler API. Each stage is interchangeable, which means the frontend and the backend are retargetable.
This class needs to be assembled by the Toolchain Loader, which uses the Modular Features to find a module or modules that implement the five stages of the compiler. This also lets the user mix in various optimizing passes (post-Vst filters), or bytecode packing (post-expression filters) from any source.