Lines Matching refs:Kind
117 static constexpr Value Local(size_t id) { return Value{id, Kind::kLocalRegister}; } in Local()
118 static constexpr Value Parameter(size_t id) { return Value{id, Kind::kParameter}; } in Parameter()
119 static constexpr Value Immediate(size_t value) { return Value{value, Kind::kImmediate}; } in Immediate()
120 static constexpr Value String(size_t value) { return Value{value, Kind::kString}; } in String()
121 static constexpr Value Label(size_t id) { return Value{id, Kind::kLabel}; } in Label()
122 static constexpr Value Type(size_t id) { return Value{id, Kind::kType}; } in Type()
124 bool is_register() const { return kind_ == Kind::kLocalRegister; } in is_register()
125 bool is_parameter() const { return kind_ == Kind::kParameter; } in is_parameter()
127 bool is_immediate() const { return kind_ == Kind::kImmediate; } in is_immediate()
128 bool is_string() const { return kind_ == Kind::kString; } in is_string()
129 bool is_label() const { return kind_ == Kind::kLabel; } in is_label()
130 bool is_type() const { return kind_ == Kind::kType; } in is_type()
134 constexpr Value() : value_{0}, kind_{Kind::kInvalid} {} in Value()
137 enum class Kind { kInvalid, kLocalRegister, kParameter, kImmediate, kString, kLabel, kType }; enum
140 Kind kind_;
142 constexpr Value(size_t value, Kind kind) : value_{value}, kind_{kind} {} in Value()