Predator  [unstable] git snapshot
Data Fields
cl_operand Struct Reference

generic operand. More...

#include <code_listener.h>

Collaboration diagram for cl_operand:
Collaboration graph
[legend]

Data Fields

enum cl_operand_e code
 kind of operand (enumeration)
enum cl_scope_e scope
 scope of the operand's validity
struct cl_typetype
 type of operand, use type->uid to get its UID
struct cl_accessoraccessor
 chain of accessors, or NULL if there are no accessors
union {
   struct cl_var *   var
 valid only for CL_OPERAND_VAR
   struct cl_cst   cst
 valid only for CL_OPERAND_CST
data
 per operand type specific data

Detailed Description

generic operand.

There is in fact no operand if code==CL_OPERAND_VOID. Each operand with extra data has it's own member in the union data.

Definition at line 504 of file code_listener.h.

Field Documentation

struct cl_accessor* accessor

chain of accessors, or NULL if there are no accessors

Definition at line 523 of file code_listener.h.

enum cl_operand_e code

kind of operand (enumeration)

Definition at line 508 of file code_listener.h.

Referenced by Fnc::Fnc(), and isLcVar().

struct cl_cst cst

valid only for CL_OPERAND_CST

Definition at line 537 of file code_listener.h.

union { ... } data

per operand type specific data

enum cl_scope_e scope

scope of the operand's validity

Definition at line 513 of file code_listener.h.

Referenced by isLcVar().

struct cl_type* type

type of operand, use type->uid to get its UID

Definition at line 518 of file code_listener.h.

struct cl_var* var

valid only for CL_OPERAND_VAR

Definition at line 532 of file code_listener.h.


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