25 #include "has_operand.h"
49 StorageClass m_storage_class;
51 std::string m_codegen_name;
59 Symbol(
const std::string &name, Kind kind, StorageClass storage_class,
const Type *type);
62 const std::string &get_name()
const {
return m_name; }
63 Kind get_kind()
const {
return m_kind; }
64 StorageClass get_storage_class()
const {
return m_storage_class; }
65 const Type *get_type()
const {
return m_type; }
67 void promote_fn_decl_to_def();
69 void set_codegen_name(
const std::string &codegen_name);
70 std::string get_codegen_name()
const;
72 void set_offset(
unsigned offset) { m_offset = offset; }
73 unsigned get_offset()
const {
return m_offset; }
HasOperand is a base class for NodeBase, which in turn is a base class for Node.
Definition: has_operand.h:31
Representation of a C data type.
Definition: type.h:60