changed enum to enum class
This commit is contained in:
parent
f1f0be77ae
commit
2ab8c2eaee
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
enum TokenType
|
enum class TokenType
|
||||||
{
|
{
|
||||||
KEYWORD,
|
KEYWORD,
|
||||||
IDENTIFIER,
|
IDENTIFIER,
|
||||||
|
@ -11,7 +11,7 @@ enum TokenType
|
||||||
ID_OR_LIT
|
ID_OR_LIT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ValueType
|
enum class ValueType
|
||||||
{
|
{
|
||||||
STRING,
|
STRING,
|
||||||
NUMBER,
|
NUMBER,
|
||||||
|
@ -24,8 +24,8 @@ struct Instruction;
|
||||||
struct Keyword;
|
struct Keyword;
|
||||||
struct Runtime;
|
struct Runtime;
|
||||||
|
|
||||||
const std::string resolve_TokenType_str(enum TokenType);
|
std::string resolve_TokenType_str(enum class TokenType);
|
||||||
const std::string resolve_ValueType_str(enum ValueType);
|
std::string resolve_ValueType_str(enum class ValueType);
|
||||||
|
|
||||||
|
|
||||||
#endif //BISCUIT_INTERPRETER_COMMON_HPP
|
#endif //BISCUIT_INTERPRETER_COMMON_HPP
|
||||||
|
|
|
@ -29,9 +29,9 @@ struct WrongArgumentCountExcept : public std::exception
|
||||||
|
|
||||||
struct WrongTokenExcept : public std::exception
|
struct WrongTokenExcept : public std::exception
|
||||||
{
|
{
|
||||||
enum TokenType expected, got;
|
enum class TokenType expected, got;
|
||||||
std::string keyword_name, token_str;
|
std::string keyword_name, token_str;
|
||||||
inline WrongTokenExcept(const std::string& _keyword_name, const std::string& _token_str, const enum TokenType& _expected, const enum TokenType& _got)
|
inline WrongTokenExcept(const std::string& _keyword_name, const std::string& _token_str, enum class TokenType _expected, enum class TokenType _got)
|
||||||
: expected(_expected), got(_got), keyword_name(_keyword_name), token_str(_token_str) {}
|
: expected(_expected), got(_got), keyword_name(_keyword_name), token_str(_token_str) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -39,9 +39,9 @@ struct WrongTokenExcept : public std::exception
|
||||||
// Runtime errors
|
// Runtime errors
|
||||||
struct TypeErrorExcept : public std::exception
|
struct TypeErrorExcept : public std::exception
|
||||||
{
|
{
|
||||||
enum ValueType expected, got;
|
enum class ValueType expected, got;
|
||||||
std::string token_str;
|
std::string token_str;
|
||||||
inline TypeErrorExcept(const std::string& _token_str, const enum ValueType& _expected, const enum ValueType& _got)
|
inline TypeErrorExcept(const std::string& _token_str, enum class ValueType _expected, enum class ValueType _got)
|
||||||
: expected(_expected), got(_got), token_str(_token_str) {}
|
: expected(_expected), got(_got), token_str(_token_str) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -279,7 +279,7 @@ Instruction::Instruction(std::vector<Token>& _token_list)
|
||||||
|
|
||||||
// Make sure the keyword gets the number of arguments it needs
|
// Make sure the keyword gets the number of arguments it needs
|
||||||
if(keyword_ptr->expected_num_args != -1 && (keyword_ptr->expected_num_args != tokens.size() - 1))
|
if(keyword_ptr->expected_num_args != -1 && (keyword_ptr->expected_num_args != tokens.size() - 1))
|
||||||
throw WrongArgumentCountExcept(keyword_ptr->name, keyword_ptr->expected_num_args, tokens.size() - 1);
|
throw WrongArgumentCountExcept(keyword_ptr->name, keyword_ptr->expected_num_args, static_cast<int>(tokens.size() - 1));
|
||||||
|
|
||||||
// Check the arguments supplied are the right kind of tokens
|
// Check the arguments supplied are the right kind of tokens
|
||||||
for(int i = 0; i < keyword_ptr->expected_num_args; i++)
|
for(int i = 0; i < keyword_ptr->expected_num_args; i++)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include "common.hpp"
|
#include "common.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
const std::string resolve_TokenType_str(enum TokenType ttype)
|
std::string resolve_TokenType_str(TokenType ttype)
|
||||||
{
|
{
|
||||||
switch(ttype)
|
switch(ttype)
|
||||||
{
|
{
|
||||||
|
@ -22,7 +22,7 @@ const std::string resolve_TokenType_str(enum TokenType ttype)
|
||||||
return "UNKNOW TOKENTYPE";
|
return "UNKNOW TOKENTYPE";
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string resolve_ValueType_str(enum ValueType vtype)
|
std::string resolve_ValueType_str(ValueType vtype)
|
||||||
{
|
{
|
||||||
switch(vtype)
|
switch(vtype)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue