Lines Matching full:literal
19 #include "ir/expressions/literal.h"
25 class Literal; variable
55 class Literal {
57 explicit Literal() = default;
59 … explicit Literal(LiteralTag tag, const util::StringView &str) : tag_(tag), value_(str.Mutf8()) {} in Literal() function
60 explicit Literal(const util::StringView &str) : tag_(LiteralTag::STRING), value_(str.Mutf8()) {} in Literal() function
61 explicit Literal(uint32_t number) : tag_(LiteralTag::INTEGER), value_(number) {} in Literal() function
62 explicit Literal(double number) : tag_(LiteralTag::DOUBLE), value_(number) {} in Literal() function
63 …explicit Literal(bool boolean) : tag_(LiteralTag::BOOLEAN), value_(static_cast<uint32_t>(boolean))… in Literal() function
65 DEFAULT_COPY_SEMANTIC(Literal);
66 DEFAULT_MOVE_SEMANTIC(Literal);
67 ~Literal() = default;
69 static Literal NullLiteral() in NullLiteral()
71 return Literal(LiteralTag::NULL_VALUE); in NullLiteral()
74 static Literal UndefinedLiteral() in UndefinedLiteral()
76 return Literal(LiteralTag::UNDEFINED_VALUE); in UndefinedLiteral()
79 static Literal AccessorLiteral() in AccessorLiteral()
81 return Literal(LiteralTag::ACCESSOR); in AccessorLiteral()
129 explicit Literal(LiteralTag tag) : tag_(tag) {} in Literal() function
137 using LiteralBuffer = std::vector<Literal>;