Flutter Engine
The Flutter Engine
|
#include <SkSLVariableReference.h>
Public Types | |
using | RefKind = VariableRefKind |
Public Types inherited from SkSL::Expression | |
enum class | ComparisonResult { kUnknown = -1 , kNotEqual , kEqual } |
using | Kind = ExpressionKind |
Public Member Functions | |
VariableReference (Position pos, const Variable *variable, RefKind refKind) | |
VariableReference (const VariableReference &)=delete | |
VariableReference & | operator= (const VariableReference &)=delete |
const Variable * | variable () const |
RefKind | refKind () const |
void | setRefKind (RefKind refKind) |
void | setVariable (const Variable *variable) |
std::unique_ptr< Expression > | clone (Position pos) const override |
std::string | description (OperatorPrecedence) const override |
Public Member Functions inherited from SkSL::Expression | |
Expression (Position pos, Kind kind, const Type *type) | |
Kind | kind () const |
const Type & | type () const |
bool | isAnyConstructor () const |
bool | isIntLiteral () const |
bool | isFloatLiteral () const |
bool | isBoolLiteral () const |
AnyConstructor & | asAnyConstructor () |
const AnyConstructor & | asAnyConstructor () const |
bool | isIncomplete (const Context &context) const |
virtual ComparisonResult | compareConstant (const Expression &other) const |
CoercionCost | coercionCost (const Type &target) const |
virtual bool | supportsConstantValues () const |
virtual std::optional< double > | getConstantValue (int n) const |
virtual std::unique_ptr< Expression > | clone (Position pos) const =0 |
std::unique_ptr< Expression > | clone () const |
std::string | description () const final |
virtual std::string | description (OperatorPrecedence parentPrecedence) const =0 |
Public Member Functions inherited from SkSL::IRNode | |
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< Expression > | Make (Position pos, const Variable *variable, RefKind refKind=RefKind::kRead) |
Static Public Member Functions inherited from SkSL::Poolable | |
static void * | operator new (const size_t size) |
static void | operator delete (void *ptr) |
Static Public Attributes | |
static constexpr Kind | kIRNodeKind = Kind::kVariableReference |
Additional Inherited Members | |
Public Attributes inherited from SkSL::IRNode | |
Position | fPosition |
Protected Member Functions inherited from SkSL::IRNode | |
IRNode (Position position, int kind) | |
Protected Attributes inherited from SkSL::IRNode | |
int | fKind |
A reference to a variable, through which it can be read or written. In the statement:
x = x + 1;
there is only one Variable 'x', but two VariableReferences to it.
Definition at line 41 of file SkSLVariableReference.h.
Definition at line 43 of file SkSLVariableReference.h.
SkSL::VariableReference::VariableReference | ( | Position | pos, |
const Variable * | variable, | ||
RefKind | refKind | ||
) |
Definition at line 14 of file SkSLVariableReference.cpp.
|
delete |
|
inlineoverridevirtual |
Implements SkSL::Expression.
Definition at line 72 of file SkSLVariableReference.h.
|
overridevirtual |
|
inlinestatic |
|
delete |
|
inline |
Definition at line 65 of file SkSLVariableReference.h.
void SkSL::VariableReference::setRefKind | ( | RefKind | refKind | ) |
Definition at line 25 of file SkSLVariableReference.cpp.
void SkSL::VariableReference::setVariable | ( | const Variable * | variable | ) |
Definition at line 29 of file SkSLVariableReference.cpp.
|
inline |
Definition at line 61 of file SkSLVariableReference.h.
|
inlinestaticconstexpr |
Definition at line 45 of file SkSLVariableReference.h.