Skip to content
Snippets Groups Projects
Verified Commit b3ec807b authored by Houtan Bastani's avatar Houtan Bastani
Browse files

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

parent 9b9c5beb
Branches
No related tags found
No related merge requests found
Pipeline #1627 passed
......@@ -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
{
......
......@@ -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;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment