![]() |
Flutter Engine
The Flutter Engine
|
#include <SkSLVariable.h>
Public Member Functions | |
ExtendedVariable (Position pos, Position modifiersPosition, const Layout &layout, ModifierFlags flags, std::string_view name, const Type *type, bool builtin, Storage storage, std::string mangledName) | |
~ExtendedVariable () override | |
InterfaceBlock * | interfaceBlock () const override |
const Layout & | layout () const override |
void | setInterfaceBlock (InterfaceBlock *elem) override |
void | detachDeadInterfaceBlock () override |
std::string_view | mangledName () const override |
![]() | |
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 () |
Additional Inherited Members | |
![]() | |
using | Storage = VariableStorage |
![]() | |
using | Kind = SymbolKind |
![]() | |
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) |
![]() | |
Position | fPosition |
![]() | |
static constexpr Kind | kIRNodeKind = Kind::kVariable |
![]() | |
IRNode (Position position, int kind) | |
![]() | |
int | fKind |
ExtendedVariable is functionally equivalent to a regular Variable, but it also contains extra fields that most variables don't need:
Some of these fields can be null/empty.
Definition at line 158 of file SkSLVariable.h.
|
inline |
Definition at line 160 of file SkSLVariable.h.
|
override |
Definition at line 38 of file SkSLVariable.cpp.
|
inlineoverridevirtual |
Reimplemented from SkSL::Variable.
Definition at line 182 of file SkSLVariable.h.
|
inlineoverridevirtual |
Reimplemented from SkSL::Variable.
Definition at line 169 of file SkSLVariable.h.
|
inlineoverridevirtual |
Reimplemented from SkSL::Variable.
Definition at line 173 of file SkSLVariable.h.
|
overridevirtual |
Reimplemented from SkSL::Variable.
Definition at line 88 of file SkSLVariable.cpp.
|
inlineoverridevirtual |
Reimplemented from SkSL::Variable.
Definition at line 177 of file SkSLVariable.h.