Flutter Engine
The Flutter Engine
Public Member Functions | Static Public Attributes | List of all members
SkSL::FunctionPrototype Class Referencefinal

#include <SkSLFunctionPrototype.h>

Inheritance diagram for SkSL::FunctionPrototype:
SkSL::ProgramElement SkSL::IRNode SkSL::Poolable

Public Member Functions

 FunctionPrototype (Position pos, const FunctionDeclaration *declaration, bool builtin)
 
const FunctionDeclarationdeclaration () const
 
bool isBuiltin () const
 
std::string description () const override
 
- Public Member Functions inherited from SkSL::ProgramElement
 ProgramElement (Position pos, Kind kind)
 
Kind kind () const
 
- 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 ()
 

Static Public Attributes

static constexpr Kind kIRNodeKind = Kind::kFunctionPrototype
 

Additional Inherited Members

- Public Types inherited from SkSL::ProgramElement
using Kind = ProgramElementKind
 
- 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

A function prototype (a function declaration as a top-level program element)

Definition at line 20 of file SkSLFunctionPrototype.h.

Constructor & Destructor Documentation

◆ FunctionPrototype()

SkSL::FunctionPrototype::FunctionPrototype ( Position  pos,
const FunctionDeclaration declaration,
bool  builtin 
)
inline

Definition at line 24 of file SkSLFunctionPrototype.h.

25 : INHERITED(pos, kIRNodeKind)
26 , fDeclaration(declaration)
27 , fBuiltin(builtin) {}
SkPoint pos
const FunctionDeclaration & declaration() const
static constexpr Kind kIRNodeKind

Member Function Documentation

◆ declaration()

const FunctionDeclaration & SkSL::FunctionPrototype::declaration ( ) const
inline

Definition at line 29 of file SkSLFunctionPrototype.h.

29 {
30 return *fDeclaration;
31 }

◆ description()

std::string SkSL::FunctionPrototype::description ( ) const
inlineoverridevirtual

Implements SkSL::IRNode.

Definition at line 37 of file SkSLFunctionPrototype.h.

37 {
38 return this->declaration().description() + ";";
39 }
std::string description() const override

◆ isBuiltin()

bool SkSL::FunctionPrototype::isBuiltin ( ) const
inline

Definition at line 33 of file SkSLFunctionPrototype.h.

33 {
34 return fBuiltin;
35 }

Member Data Documentation

◆ kIRNodeKind

constexpr Kind SkSL::FunctionPrototype::kIRNodeKind = Kind::kFunctionPrototype
inlinestaticconstexpr

Definition at line 22 of file SkSLFunctionPrototype.h.


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