Open 3D Engine ScriptCanvas Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
ScriptCanvas::Grammar::AbstractCodeModel Class Reference

#include <AbstractCodeModel.h>

Inherits AZStd::enable_shared_from_this< AbstractCodeModel >.

Public Member Functions

 AbstractCodeModel (const AbstractCodeModel &)=delete
 
 AbstractCodeModel (const Source &source, bool terminateOnError=false, bool terminateOnInternalError=false)
 
void AddError (ExecutionTreeConstPtr execution, ValidationConstPtr &&error) const
 
AZStd::string AddTranslationVariableName (const AZStd::string &name) const
 
AZStd::optional< AZStd::pair< size_t, Grammar::DependencyInfo > > CheckUserNodeableDependencyConstructionIndex (VariableConstPtr nodeable) const
 
AZStd::vector< VariableConstPtr > CombineVariableLists (const AZStd::vector< Nodeable * > &constructionNodeables, const AZStd::vector< AZStd::pair< VariableId, Datum > > &constructionInputVariableIds, const AZStd::vector< AZStd::pair< VariableId, Data::EntityIDType > > &entityIds) const
 
AZStd::optional< AZStd::string > FindNodeableSimpleName (VariableConstPtr variable) const
 
const AZStd::pair< Grammar::VariableConstPtr, AZStd::string > * FindStaticVariable (VariableConstPtr) const
 
AZStd::vector< ExecutionTreeConstPtr > GetAllExecutionRoots () const
 
const size_t * GetDebugInfoInIndex (ExecutionTreeConstPtr execution) const
 
const size_t * GetDebugInfoOutIndex (ExecutionTreeConstPtr execution, size_t index) const
 
const size_t * GetDebugInfoReturnIndex (ExecutionTreeConstPtr execution) const
 
const size_t * GetDebugInfoVariableAssignmentIndex (OutputAssignmentConstPtr output, size_t assignmentIndex) const
 
const size_t * GetDebugInfoVariableSetIndex (OutputAssignmentConstPtr output) const
 
const DebugSymbolMapGetDebugMap () const
 
const OrderedDependenciesGetOrderedDependencies () const
 
EBusHandlingConstPtr GetEBusEventHandling (const Node *) const
 
AZStd::vector< EBusHandlingConstPtr > GetEBusHandlings () const
 
EventHandlingConstPtr GetEventHandling (const Node *) const
 
AZStd::vector< EventHandlingConstPtr > GetEventHandlings () const
 
Grammar::ExecutionCharacteristics GetExecutionCharacteristics () const
 
AZStd::vector< ExecutionTreeConstPtr > GetFunctions () const
 
VariableConstPtr GetImplicitVariable (ExecutionTreeConstPtr execution) const
 
const SubgraphInterfaceGetInterface () const
 
const AZStd::unordered_set< VariableConstPtr > * GetLocalVariables (ExecutionTreeConstPtr execution) const
 
AZStd::vector< NodeableParseConstPtr > GetNodeableParse () const
 
AZStd::sys_time_t GetParseDuration () const
 
const ParsedRuntimeInputsGetRuntimeInputs () const
 
const SourceGetSource () const
 
const AZStd::string & GetSourceString () const
 
ExecutionTreeConstPtr GetStart () const
 
const AZStd::vector< AZStd::pair< Grammar::VariableConstPtr, AZStd::string > > & GetStaticVariablesNames () const
 
const AZStd::vector< AZStd::pair< Grammar::VariableConstPtr, AZStd::string > > & GetStaticVariablesNames (Grammar::ExecutionTreeConstPtr functionBlock) const
 
const ValidationResults::ValidationEventList & GetValidationEvents () const
 
VariableWriteHandlingConstPtr GetVariableHandling (const Slot *slot) const
 
VariableWriteHandlingConstSet GetVariableHandling (VariableConstPtr variable) const
 
const AZStd::vector< VariableConstPtr > & GetVariables () const
 
const AZStd::vector< VariableConstPtr > & GetVariablesUnused () const
 
bool IsErrorFree () const
 
bool IsClass () const
 
bool IsPureLibrary () const
 
bool IsUserNodeable () const
 
bool IsUserNodeable (VariableConstPtr variable) const
 
template<typename T >
AZStd::vector< Grammar::VariableConstPtr > ToVariableList (const AZStd::vector< AZStd::pair< VariableId, T > > &source) const
 

Static Public Member Functions

static bool RequiresCreationFunction (Data::eType type)
 
static AbstractCodeModelConstPtr Parse (const Source &source, bool terminateOnError=false, bool terminateOnInternalError=false)
 

Friends

struct PrintMetaData
 

Detailed Description

This class parses a graph into abstract programming concepts for easier translation into C++, Lua, or whatever else would be needed


The documentation for this class was generated from the following file: