![]() |
Flutter Engine
The Flutter Engine
|
#include <SkSLBlock.h>
Public Types | |
enum class | Kind { kUnbracedBlock , kBracedScope , kCompoundStatement } |
![]() | |
using | Kind = StatementKind |
Public Member Functions | |
Block (Position pos, StatementArray statements, Kind kind=Kind::kBracedScope, std::unique_ptr< SymbolTable > symbols=nullptr) | |
const StatementArray & | children () const |
StatementArray & | children () |
bool | isScope () const |
Kind | blockKind () const |
void | setBlockKind (Kind kind) |
SymbolTable * | symbolTable () const |
bool | isEmpty () const override |
std::string | description () const override |
![]() | |
Statement (Position pos, Kind kind) | |
Kind | kind () const |
virtual bool | isEmpty () const |
![]() | |
virtual | ~IRNode () |
virtual std::string | description () const =0 |
IRNode (const IRNode &)=delete | |
IRNode & | operator= (const IRNode &)=delete |
Position | position () const |
void | setPosition (Position p) |
template<typename T > | |
bool | is () const |
template<typename T > | |
const T & | as () const |
template<typename T > | |
T & | as () |
Static Public Member Functions | |
static std::unique_ptr< Statement > | Make (Position pos, StatementArray statements, Kind kind=Kind::kBracedScope, std::unique_ptr< SymbolTable > symbols=nullptr) |
static std::unique_ptr< Statement > | MakeCompoundStatement (std::unique_ptr< Statement > existing, std::unique_ptr< Statement > additional) |
static std::unique_ptr< Block > | MakeBlock (Position pos, StatementArray statements, Kind kind=Kind::kBracedScope, std::unique_ptr< SymbolTable > symbols=nullptr) |
![]() | |
static void * | operator new (const size_t size) |
static void | operator delete (void *ptr) |
Static Public Attributes | |
static constexpr Kind | kIRNodeKind = Kind::kBlock |
Additional Inherited Members | |
![]() | |
Position | fPosition |
![]() | |
IRNode (Position position, int kind) | |
![]() | |
int | fKind |
A block of multiple statements functioning as a single statement.
Definition at line 26 of file SkSLBlock.h.
|
strong |
Enumerator | |
---|---|
kUnbracedBlock | |
kBracedScope | |
kCompoundStatement |
Definition at line 32 of file SkSLBlock.h.
|
inline |
Definition at line 41 of file SkSLBlock.h.
|
inline |
Definition at line 83 of file SkSLBlock.h.
|
inline |
Definition at line 75 of file SkSLBlock.h.
|
inline |
Definition at line 71 of file SkSLBlock.h.
|
overridevirtual |
Implements SkSL::IRNode.
Definition at line 97 of file SkSLBlock.cpp.
|
inlineoverridevirtual |
Reimplemented from SkSL::Statement.
Definition at line 95 of file SkSLBlock.h.
|
inline |
Definition at line 79 of file SkSLBlock.h.
|
static |
Definition at line 14 of file SkSLBlock.cpp.
|
static |
Definition at line 59 of file SkSLBlock.cpp.
|
static |
Definition at line 68 of file SkSLBlock.cpp.
|
inline |
Definition at line 87 of file SkSLBlock.h.
|
inline |
Definition at line 91 of file SkSLBlock.h.
|
inlinestaticconstexpr |
Definition at line 28 of file SkSLBlock.h.