Skip to content

Body

class Body

Represents a body of an object or macro. This is the class other parts of the program interact with. It is a wrapper around the BodyElement hierarchy.

DEFINITION
class Body;

constructor Body

DEFINITION
Body ( );

constructor Body

DEFINITION
Body ( Expression  bank,
Expression  start_address,
Expression  end_address );
PARAMETERDESCRIPTION
bank
start_address
end_address

constructor Body

DEFINITION
Body ( const std::vector< IfBodyClause > & clauses );
PARAMETERDESCRIPTION
clauses

constructor Body

DEFINITION
Body ( const std::shared_ptr< BodyElement > & element );
PARAMETERDESCRIPTION
element

constructor Body

DEFINITION
Body ( const std::vector< Body > & elements );
PARAMETERDESCRIPTION
elements

constructor Body

DEFINITION
Body ( std::vector< DataBodyElement >  elements );
PARAMETERDESCRIPTION
elements

constructor Body

DEFINITION
Body ( Location  location,
std::string  message );
PARAMETERDESCRIPTION
location
message

constructor Body

DEFINITION
Body ( Symbol  name );
PARAMETERDESCRIPTION
name

constructor Body

DEFINITION
Body ( const Token & name,
std::vector< Expression >  arguments,
const Macro * macro = {} );
PARAMETERDESCRIPTION
name
arguments
macro

constructor Body

DEFINITION
Body ( Symbol  name,
SizeRange  offset,
bool  added_to_environment = false,
size_t  unnamed_index = std::numeric_limits< size_t >::max() );
PARAMETERDESCRIPTION
name
offset
added_to_environment
unnamed_index

constructor Body

DEFINITION
Body ( Visibility  visibility,
Symbol  name,
Expression  value );
PARAMETERDESCRIPTION
visibility
name
value

method append

DEFINITION
void  append ( const Body & element );
PARAMETERDESCRIPTION
element

method append_sub

DEFINITION
std::optional< Body >  append_sub ( const Body & element );
PARAMETERDESCRIPTION
element
RETURNSDESCRIPTION
std::optional< Body >

method as_blockconst

DEFINITION
BlockBody * as_block ( ) const;
RETURNSDESCRIPTION
BlockBody *

method as_dataconst

DEFINITION
DataBody * as_data ( ) const;
RETURNSDESCRIPTION
DataBody *

method as_errorconst

DEFINITION
ErrorBody * as_error ( ) const;
RETURNSDESCRIPTION
ErrorBody *

method as_labelconst

DEFINITION
LabelBody * as_label ( ) const;
RETURNSDESCRIPTION
LabelBody *

method as_scopeconst

DEFINITION
ScopeBody * as_scope ( ) const;
RETURNSDESCRIPTION
ScopeBody *

method backconst

DEFINITION
std::optional< Body >  back ( ) const;
RETURNSDESCRIPTION
std::optional< Body >

method collect_objectsconst

DEFINITION
void  collect_objects ( std::unordered_set< Object * > & objects ) const;
PARAMETERDESCRIPTION
objects

method emptyconst

DEFINITION
bool  empty ( ) const;
RETURNSDESCRIPTION
bool

method encodeconst

DEFINITION
void  encode ( std::string & bytes,
const Memory * memory = nullptr ) const;
PARAMETERDESCRIPTION
bytes
memory

method evaluate

DEFINITION
bool  evaluate ( const EvaluationContext & context );
PARAMETERDESCRIPTION
context
RETURNSDESCRIPTION
bool

method evaluatedconst

DEFINITION
std::optional< Body >  evaluated ( const EvaluationContext & context ) const;
PARAMETERDESCRIPTION
context
RETURNSDESCRIPTION
std::optional< Body >

method is_blockconst

DEFINITION
bool  is_block ( ) const;
RETURNSDESCRIPTION
bool

method is_dataconst

DEFINITION
bool  is_data ( ) const;
RETURNSDESCRIPTION
bool

method is_errorconst

DEFINITION
bool  is_error ( ) const;
RETURNSDESCRIPTION
bool

method is_labelconst

DEFINITION
bool  is_label ( ) const;
RETURNSDESCRIPTION
bool

method is_scopeconst

DEFINITION
bool  is_scope ( ) const;
RETURNSDESCRIPTION
bool

method make_uniqueconst

DEFINITION
Body  make_unique ( ) const;
RETURNSDESCRIPTION
Body

method scopedconst

DEFINITION
Body  scoped ( const std::shared_ptr< Environment > & = {} ) const;
PARAMETERDESCRIPTION
RETURNSDESCRIPTION
Body

method serializeconst

DEFINITION
void  serialize ( std::ostream & stream,
const std::string & prefix = "" ) const;
PARAMETERDESCRIPTION
stream
prefix

method sizeconst

DEFINITION
std::optional< uint64_t >  size ( ) const;
RETURNSDESCRIPTION
std::optional< uint64_t >

method size_rangeconst

DEFINITION
SizeRange  size_range ( ) const;
RETURNSDESCRIPTION
SizeRange

method use_countconst

DEFINITION
long  use_count ( ) const;
RETURNSDESCRIPTION
long