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

#include <SkSLTraceHook.h>

Inheritance diagram for SkSL::Tracer:
SkSL::TraceHook

Public Member Functions

void line (int lineNum) override
 
void var (int slot, int32_t val) override
 
void enter (int fnIdx) override
 
void exit (int fnIdx) override
 
void scope (int delta) override
 
- Public Member Functions inherited from SkSL::TraceHook
virtual ~TraceHook ()=default
 
virtual void line (int lineNum)=0
 
virtual void var (int slot, int32_t val)=0
 
virtual void enter (int fnIdx)=0
 
virtual void exit (int fnIdx)=0
 
virtual void scope (int delta)=0
 

Static Public Member Functions

static std::unique_ptr< TracerMake (std::vector< TraceInfo > *traceInfo)
 

Detailed Description

Definition at line 29 of file SkSLTraceHook.h.

Member Function Documentation

◆ enter()

void SkSL::Tracer::enter ( int  fnIdx)
overridevirtual

Implements SkSL::TraceHook.

Definition at line 25 of file SkSLTraceHook.cpp.

25 {
26 fTraceInfo->push_back({TraceInfo::Op::kEnter, /*data=*/{fnIdx, 0}});
27}

◆ exit()

void SkSL::Tracer::exit ( int  fnIdx)
overridevirtual

Implements SkSL::TraceHook.

Definition at line 28 of file SkSLTraceHook.cpp.

28 {
29 fTraceInfo->push_back({TraceInfo::Op::kExit, /*data=*/{fnIdx, 0}});
30}

◆ line()

void SkSL::Tracer::line ( int  lineNum)
overridevirtual

Implements SkSL::TraceHook.

Definition at line 19 of file SkSLTraceHook.cpp.

19 {
20 fTraceInfo->push_back({TraceInfo::Op::kLine, /*data=*/{lineNum, 0}});
21}

◆ Make()

std::unique_ptr< Tracer > SkSL::Tracer::Make ( std::vector< TraceInfo > *  traceInfo)
static

Definition at line 13 of file SkSLTraceHook.cpp.

13 {
14 auto hook = std::make_unique<Tracer>();
15 hook->fTraceInfo = traceInfo;
16 return hook;
17}

◆ scope()

void SkSL::Tracer::scope ( int  delta)
overridevirtual

Implements SkSL::TraceHook.

Definition at line 31 of file SkSLTraceHook.cpp.

31 {
32 fTraceInfo->push_back({TraceInfo::Op::kScope, /*data=*/{delta, 0}});
33}

◆ var()

void SkSL::Tracer::var ( int  slot,
int32_t  val 
)
overridevirtual

Implements SkSL::TraceHook.

Definition at line 22 of file SkSLTraceHook.cpp.

22 {
23 fTraceInfo->push_back({TraceInfo::Op::kVar, /*data=*/{slot, val}});
24}

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