![]() |
Flutter Engine
The Flutter Engine
|
#include <SkSLVariable.h>
Classes | |
struct | ScratchVariable |
Public Types | |
using | Storage = VariableStorage |
![]() | |
using | Kind = SymbolKind |
Public Member Functions | |
Variable (Position pos, Position modifiersPosition, ModifierFlags modifierFlags, std::string_view name, const Type *type, bool builtin, Storage storage) | |
~Variable () override | |
ModifierFlags | modifierFlags () const |
virtual const Layout & | layout () const |
Position | modifiersPosition () const |
bool | isBuiltin () const |
Storage | storage () const |
const Expression * | initialValue () const |
VarDeclaration * | varDeclaration () const |
void | setVarDeclaration (VarDeclaration *declaration) |
GlobalVarDeclaration * | globalVarDeclaration () const |
void | setGlobalVarDeclaration (GlobalVarDeclaration *global) |
void | detachDeadVarDeclaration () |
virtual InterfaceBlock * | interfaceBlock () const |
virtual void | setInterfaceBlock (InterfaceBlock *) |
virtual void | detachDeadInterfaceBlock () |
virtual std::string_view | mangledName () const |
std::string | description () const override |
![]() | |
Symbol (Position pos, Kind kind, std::string_view name, const Type *type=nullptr) | |
~Symbol () override | |
std::unique_ptr< Expression > | instantiate (const Context &context, Position pos) const |
const Type & | type () const |
Kind | kind () const |
std::string_view | name () const |
void | setName (std::string_view newName) |
![]() | |
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< Variable > | Convert (const Context &context, Position pos, Position modifiersPos, const Layout &layout, ModifierFlags flags, const Type *type, Position namePos, std::string_view name, Storage storage) |
static std::unique_ptr< Variable > | Make (Position pos, Position modifiersPosition, const Layout &layout, ModifierFlags flags, const Type *type, std::string_view name, std::string mangledName, bool builtin, Storage storage) |
static ScratchVariable | MakeScratchVariable (const Context &context, Mangler &mangler, std::string_view baseName, const Type *type, SymbolTable *symbolTable, std::unique_ptr< Expression > initialValue) |
![]() | |
static void * | operator new (const size_t size) |
static void | operator delete (void *ptr) |
Static Public Attributes | |
static constexpr Kind | kIRNodeKind = Kind::kVariable |
Additional Inherited Members | |
![]() | |
Position | fPosition |
![]() | |
IRNode (Position position, int kind) | |
![]() | |
int | fKind |
Represents a variable, whether local, global, or a function parameter. This represents the variable itself (the storage location), which is shared between all VariableReferences which read or write that storage location.
Definition at line 48 of file SkSLVariable.h.
Definition at line 50 of file SkSLVariable.h.
|
inline |
Definition at line 54 of file SkSLVariable.h.
|
override |
Definition at line 31 of file SkSLVariable.cpp.
|
static |
Definition at line 92 of file SkSLVariable.cpp.
|
inlineoverridevirtual |
Implements SkSL::IRNode.
Definition at line 134 of file SkSLVariable.h.
|
inlinevirtual |
|
inline |
Definition at line 117 of file SkSLVariable.h.
GlobalVarDeclaration * SkSL::Variable::globalVarDeclaration | ( | ) | const |
Definition at line 61 of file SkSLVariable.cpp.
const Expression * SkSL::Variable::initialValue | ( | ) | const |
Definition at line 45 of file SkSLVariable.cpp.
|
inlinevirtual |
Reimplemented in SkSL::ExtendedVariable.
Definition at line 125 of file SkSLVariable.h.
|
inline |
Definition at line 99 of file SkSLVariable.h.
|
virtual |
|
static |
Definition at line 145 of file SkSLVariable.cpp.
|
static |
Definition at line 180 of file SkSLVariable.cpp.
|
inlinevirtual |
|
inline |
Definition at line 89 of file SkSLVariable.h.
|
inline |
Definition at line 95 of file SkSLVariable.h.
void SkSL::Variable::setGlobalVarDeclaration | ( | GlobalVarDeclaration * | global | ) |
Definition at line 79 of file SkSLVariable.cpp.
|
inlinevirtual |
Reimplemented in SkSL::ExtendedVariable.
Definition at line 127 of file SkSLVariable.h.
void SkSL::Variable::setVarDeclaration | ( | VarDeclaration * | declaration | ) |
Definition at line 72 of file SkSLVariable.cpp.
|
inline |
Definition at line 103 of file SkSLVariable.h.
VarDeclaration * SkSL::Variable::varDeclaration | ( | ) | const |
Definition at line 50 of file SkSLVariable.cpp.
|
inlinestaticconstexpr |
Definition at line 52 of file SkSLVariable.h.