diff options
Diffstat (limited to 'source/slang/slang-token.cpp')
| -rw-r--r-- | source/slang/slang-token.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/source/slang/slang-token.cpp b/source/slang/slang-token.cpp new file mode 100644 index 000000000..a8238eb6c --- /dev/null +++ b/source/slang/slang-token.cpp @@ -0,0 +1,39 @@ +// slang-token.cpp +#include "slang-token.h" + +#include <assert.h> + +namespace Slang { + + +Name* Token::getName() const +{ + return getNameOrNull(); +} + +Name* Token::getNameOrNull() const +{ + switch (type) + { + default: + return nullptr; + + case TokenType::Identifier: + return (Name*) ptrValue; + } +} + +char const* TokenTypeToString(TokenType type) +{ + switch( type ) + { + default: + SLANG_ASSERT(!"unexpected"); + return "<uknown>"; + +#define TOKEN(NAME, DESC) case TokenType::NAME: return DESC; +#include "slang-token-defs.h" + } +} + +} // namespace Slang |
