ArkScript
A small, lisp-inspired, functional scripting language
Ark::internal::IR::Block Struct Reference

Block of IR entities, with attached metadata. More...

#include <Entity.hpp>

Collaboration diagram for Ark::internal::IR::Block:
[legend]

Classes

struct  Metadata
 

Public Types

using vec_t = std::vector<Entity>
 

Public Member Functions

std::string debugName () const
 
std::string metadataRepr () const
 
std::size_t instructionCount () const
 

Static Public Member Functions

static Block InitWithMetadata (const Block &source)
 Create a new empty IR::Block with the same metadata as the source block.
 

Public Attributes

struct Ark::internal::IR::Block::Metadata metadata
 
vec_t data
 

Detailed Description

Block of IR entities, with attached metadata.

Definition at line 240 of file Entity.hpp.

Member Typedef Documentation

◆ vec_t

Definition at line 242 of file Entity.hpp.

Member Function Documentation

◆ debugName()

std::string Ark::internal::IR::Block::debugName ( ) const
inlinenodiscard

◆ InitWithMetadata()

static Block Ark::internal::IR::Block::InitWithMetadata ( const Block & source)
inlinestatic

Create a new empty IR::Block with the same metadata as the source block.

Parameters
sourcesource block
Returns
Block

Definition at line 262 of file Entity.hpp.

References metadata.

Referenced by Ark::internal::IRInliner::process(), and Ark::internal::IROptimizer::process().

◆ instructionCount()

std::size_t Ark::internal::IR::Block::instructionCount ( ) const
inlinenodiscard

Definition at line 292 of file Entity.hpp.

References data, and Ark::internal::IR::Label.

Referenced by Ark::internal::IRCompiler::compile().

◆ metadataRepr()

Member Data Documentation

◆ data

◆ metadata


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