#include <type_rep_i.h>
Collaboration diagram for Type_reader:
Public Methods | |
Type | get_result () const |
Type_reader (Abstract_scope *scope, Ptree *tree, bool is_type_declaration, Ptree *name_for_anon) | |
Private Types | |
enum | { iInt = 01, iUnsigned = 010, iShort = 0100, iLong = 01000, iSigned = 010000, iFloat = 0100000, iDouble = 01000000, iChar = 010000000 } |
Private Methods | |
Ptree * | read_type (Ptree *const tree) |
Read one piece of a type. More... | |
Private Attributes | |
long | mask |
Multi-set of keywords encountered so far. More... | |
Type | user_type |
Scratchspace. More... | |
Type * | builtin |
When a "simple" one-keyword type was seen, this points to that type. More... | |
Type | qualifiers |
Qualifiers gathered so far. More... | |
Ptree * | user_id |
Identifier, if seen. More... | |
Abstract_scope * | scope |
Scope to look up names in. More... | |
bool | is_type_declaration |
Ptree * | name_for_anon |
Type | result |
Definition at line 22 of file type_rep_i.h.
|
Definition at line 28 of file type_rep_i.h. |
|
Definition at line 708 of file type_rep.cc. References builtin, char_type(), compile_error(), Type::copy_qualifiers(), double_type(), float_type(), Type::get_kind(), Symbol::get_kind(), Type_symbol::get_type(), iChar, iDouble, iFloat, iInt, iLong, iShort, iSigned, iUnsigned, Type::k_Reference, Symbol::k_Typedef, ldouble_type(), llong_type(), long_type(), Symbol_name::lookup_for_use(), mask, qualifiers, read_type(), result, schar_type(), short_type(), Ptree::ToString(), uchar_type(), ullong_type(), ulong_type(), Symbol_pair::untag, user_id, user_type, and ushort_type(). |
|
Definition at line 50 of file type_rep_i.h. Referenced by parse_type(). |
|
Read one piece of a type. Input is a weird heap of
Definition at line 822 of file type_rep.cc. References bool_type(), BOOLEAN, builtin, Ptree::Car(), Ptree::Cdr(), CHAR, compile_error(), DOUBLE, Ptree::Eq(), FLOAT, Type_symbol::get_type(), iChar, iDouble, iFloat, iInt, iLong, INT, is_type_declaration, iShort, iSigned, Ptree::IsLeaf(), iUnsigned, LONG, mask, name_for_anon, ntClassSpec, ntEnumSpec, parse_class(), parse_enum(), parse_qualifier(), qualifiers, scope, Ptree::Second(), SHORT, SIGNED, Ptree::ToString(), UNSIGNED, user_type, VOID, void_type(), WCHAR_T, wchar_type(), and Ptree::What(). Referenced by Type_reader(). |
|
When a "simple" one-keyword type was seen, this points to that type.
Definition at line 40 of file type_rep_i.h. Referenced by read_type(), and Type_reader(). |
|
Definition at line 45 of file type_rep_i.h. Referenced by read_type(). |
|
Multi-set of keywords encountered so far.
Definition at line 38 of file type_rep_i.h. Referenced by read_type(), and Type_reader(). |
|
Definition at line 46 of file type_rep_i.h. Referenced by read_type(). |
|
Qualifiers gathered so far.
Definition at line 41 of file type_rep_i.h. Referenced by read_type(), and Type_reader(). |
|
Definition at line 48 of file type_rep_i.h. Referenced by Type_reader(). |
|
Scope to look up names in.
Definition at line 43 of file type_rep_i.h. Referenced by read_type(). |
|
Identifier, if seen.
Definition at line 42 of file type_rep_i.h. Referenced by Type_reader(). |
|
Scratchspace.
Definition at line 39 of file type_rep_i.h. Referenced by read_type(), and Type_reader(). |