ScummVM API documentation
Stark::Tools::ASTCommand Struct Reference

#include <abstractsyntaxtree.h>

Inheritance diagram for Stark::Tools::ASTCommand:
Stark::Tools::ASTNode Stark::Tools::Command

Public Member Functions

 ASTCommand (ASTNode *parent, Command *command, DefinitionRegistry *definitions)
 
void print (uint depth, DefinitionRegistry *definitions) override
 
Common::Array< const ASTCommand * > listCommands (uint16 index) const override
 
void findSuccessorsIntern (const ASTNode *node, ASTNode **follower, ASTNode **trueBranch, ASTNode **falseBranch) const override
 
const ASTCommandgetFirstCommand () const override
 
Common::String callString (DefinitionRegistry *definitions)
 
- Public Member Functions inherited from Stark::Tools::ASTNode
 ASTNode (ASTNode *parent)
 
void findSuccessors (ASTNode **follower, ASTNode **trueBranch, ASTNode **falseBranch) const
 
- Public Member Functions inherited from Stark::Tools::Command
 Command (Command *command)
 
 Command (Resources::Command *resource)
 
void printCall () const
 
uint16 getIndex () const
 
Resources::Command::SubType getSubType () const
 
bool hasSubtypeDescription () const
 
ArgumentArray getEffectiveArguments () const
 

Additional Inherited Members

- Public Types inherited from Stark::Tools::Command
enum  ControlFlowType { kFlowNormal, kFlowBranch, kFlowEnd }
 
typedef Common::Array< Resources::Command::ArgumentArgumentArray
 
- Protected Member Functions inherited from Stark::Tools::ASTNode
void printWithDepth (uint depth, const Common::String &string) const
 
- Protected Member Functions inherited from Stark::Tools::Command
Common::String describeArguments (DefinitionRegistry *definitions) const
 
- Static Protected Member Functions inherited from Stark::Tools::Command
static const SubTypeDescsearchSubTypeDesc (Resources::Command::SubType subType)
 
- Protected Attributes inherited from Stark::Tools::ASTNode
ASTNode_parent
 
- Protected Attributes inherited from Stark::Tools::Command
uint16 _index
 
Resources::Command::SubType _subType
 
const SubTypeDesc_subTypeDesc
 
ArgumentArray _arguments
 

Detailed Description

Command AST Node

Commands are leaf AST nodes. They represent an engine command call.

Member Function Documentation

◆ print()

void Stark::Tools::ASTCommand::print ( uint  depth,
DefinitionRegistry definitions 
)
overridevirtual

Print the script source code for this node and its children

Implements Stark::Tools::ASTNode.

◆ listCommands()

Common::Array<const ASTCommand *> Stark::Tools::ASTCommand::listCommands ( uint16  index) const
overridevirtual

Recursively list all the commands in the tree with the requested index

Implements Stark::Tools::ASTNode.

◆ getFirstCommand()

const ASTCommand* Stark::Tools::ASTCommand::getFirstCommand ( ) const
overridevirtual

Find the first command to be executed when running this job

Implements Stark::Tools::ASTNode.

◆ callString()

Common::String Stark::Tools::ASTCommand::callString ( DefinitionRegistry definitions)

Build a script source code call for this command


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