Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
SkSL::MultiArgumentConstructor Class Reference

#include <SkSLConstructor.h>

Inheritance diagram for SkSL::MultiArgumentConstructor:
SkSL::AnyConstructor SkSL::Expression SkSL::IRNode SkSL::Poolable SkSL::ConstructorArray SkSL::ConstructorCompound SkSL::ConstructorStruct

Public Member Functions

 MultiArgumentConstructor (Position pos, Kind kind, const Type *type, ExpressionArray arguments)
 
ExpressionArrayarguments ()
 
const ExpressionArrayarguments () const
 
SkSpan< std::unique_ptr< Expression > > argumentSpan () final
 
SkSpan< const std::unique_ptr< Expression > > argumentSpan () const final
 
- Public Member Functions inherited from SkSL::AnyConstructor
 AnyConstructor (Position pos, Kind kind, const Type *type)
 
virtual SkSpan< std::unique_ptr< Expression > > argumentSpan ()=0
 
virtual SkSpan< const std::unique_ptr< Expression > > argumentSpan () const =0
 
std::string description (OperatorPrecedence) const override
 
const TypecomponentType () const
 
bool supportsConstantValues () const override
 
std::optional< double > getConstantValue (int n) const override
 
ComparisonResult compareConstant (const Expression &other) const override
 
- Public Member Functions inherited from SkSL::Expression
 Expression (Position pos, Kind kind, const Type *type)
 
Kind kind () const
 
const Typetype () const
 
bool isAnyConstructor () const
 
bool isIntLiteral () const
 
bool isFloatLiteral () const
 
bool isBoolLiteral () const
 
AnyConstructorasAnyConstructor ()
 
const AnyConstructorasAnyConstructor () 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< Expressionclone (Position pos) const =0
 
std::unique_ptr< Expressionclone () 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
 
IRNodeoperator= (const IRNode &)=delete
 
Position position () const
 
void setPosition (Position p)
 
template<typename T >
bool is () const
 
template<typename T >
const Tas () const
 
template<typename T >
Tas ()
 

Additional Inherited Members

- Public Types inherited from SkSL::Expression
enum class  ComparisonResult { kUnknown = -1 , kNotEqual , kEqual }
 
using Kind = ExpressionKind
 
- Static Public Member Functions inherited from SkSL::Poolable
static void * operator new (const size_t size)
 
static void operator delete (void *ptr)
 
- 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
 

Detailed Description

Base class representing a constructor that takes an array of arguments.

Definition at line 89 of file SkSLConstructor.h.

Constructor & Destructor Documentation

◆ MultiArgumentConstructor()

SkSL::MultiArgumentConstructor::MultiArgumentConstructor ( Position  pos,
Kind  kind,
const Type type,
ExpressionArray  arguments 
)
inline

Definition at line 91 of file SkSLConstructor.h.

93 : INHERITED(pos, kind, type)
94 , fArguments(std::move(arguments)) {}
SkPoint pos
Kind kind() const
const Type & type() const
ExpressionArray & arguments()

Member Function Documentation

◆ arguments() [1/2]

ExpressionArray & SkSL::MultiArgumentConstructor::arguments ( )
inline

Definition at line 96 of file SkSLConstructor.h.

96 {
97 return fArguments;
98 }

◆ arguments() [2/2]

const ExpressionArray & SkSL::MultiArgumentConstructor::arguments ( ) const
inline

Definition at line 100 of file SkSLConstructor.h.

100 {
101 return fArguments;
102 }

◆ argumentSpan() [1/2]

SkSpan< const std::unique_ptr< Expression > > SkSL::MultiArgumentConstructor::argumentSpan ( ) const
inlinefinalvirtual

Implements SkSL::AnyConstructor.

Definition at line 108 of file SkSLConstructor.h.

108 {
109 return {&fArguments.front(), fArguments.size()};
110 }
int size() const
Definition: SkTArray.h:421

◆ argumentSpan() [2/2]

SkSpan< std::unique_ptr< Expression > > SkSL::MultiArgumentConstructor::argumentSpan ( )
inlinefinalvirtual

Implements SkSL::AnyConstructor.

Definition at line 104 of file SkSLConstructor.h.

104 {
105 return {&fArguments.front(), fArguments.size()};
106 }

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