macro processor: move changes from `cd99bb3af9c8ef6fd881fa0457121894f8edd14e` to the header file

issue#70
Houtan Bastani 2019-08-19 18:28:57 +02:00
parent 9b9c5beb5c
commit b3ec807b90
No known key found for this signature in database
GPG Key ID: 000094FB955BE169
2 changed files with 18 additions and 18 deletions

View File

@ -39,14 +39,8 @@ Eval::interpret(ostream &output, bool no_line_macro)
}
}
void
Include::interpret(ostream &output, bool no_line_macro)
{
error(StackTrace("@#include", "should never be interpreted", location));
}
string
Include::interpretAndGetName()
Include::interpretAndGetName() const
{
try
{
@ -67,14 +61,8 @@ Include::interpretAndGetName()
return "";
}
void
IncludePath::interpret(ostream &output, bool no_line_macro)
{
error(StackTrace("@#includepath", "should never be interpreted", location));
}
string
IncludePath::interpretAndGetPath()
IncludePath::interpretAndGetPath() const
{
try
{

View File

@ -69,8 +69,14 @@ namespace macro
public:
Include(ExpressionPtr expr_arg, Environment &env_arg, Tokenizer::location location_arg) :
Directive(env_arg, move(location_arg)), expr{move(expr_arg)} { }
void interpret(ostream &output, bool no_line_macro) override;
string interpretAndGetName();
// Not interpretable because we want the class to be immutable (for use with shared_ptr)
// If it were interpretable, the name would need to be stored in a non-const variable
// rendering the class mutable
inline void interpret(ostream &output, bool no_line_macro) override
{
error(StackTrace("@#include", "should never be interpreted", location));
}
string interpretAndGetName() const;
};
@ -81,8 +87,14 @@ namespace macro
public:
IncludePath(ExpressionPtr expr_arg, Environment &env_arg, Tokenizer::location location_arg) :
Directive(env_arg, move(location_arg)), expr{move(expr_arg)} { }
void interpret(ostream &output, bool no_line_macro) override;
string interpretAndGetPath();
// Not interpretable because we want the class to be immutable (for use with shared_ptr)
// If it were interpretable, the name would need to be stored in a non-const variable
// rendering the class mutable
inline void interpret(ostream &output, bool no_line_macro) override
{
error(StackTrace("@#includepath", "should never be interpreted", location));
}
string interpretAndGetPath() const;
};