Implements namespace statement.

This commit is contained in:
2020-10-09 11:54:43 +02:00
parent 2fb1b68ead
commit 43f080cc48
6 changed files with 69 additions and 32 deletions

View File

@@ -59,8 +59,21 @@ namespace MalachScript::Parser {
ParsedTypeDefStatement(TextSpan span, const Identifier& defineFrom, const Identifier& defineTo)
: ParsedStatementImpl<ParsedStatementKind::TypeDef>(span), _defineFrom(defineFrom), _defineTo(defineTo) {}
inline const Identifier& GetDefineFrom() const noexcept { return _defineFrom; }
inline const Identifier& GetDefineTo() const noexcept { return _defineTo; }
[[nodiscard]] inline const Identifier& GetDefineFrom() const noexcept { return _defineFrom; }
[[nodiscard]] inline const Identifier& GetDefineTo() const noexcept { return _defineTo; }
};
class ParsedNamespaceStatement : public ParsedStatementImpl<ParsedStatementKind::Namespace> {
Identifier _identifier;
const ParsedScriptStatement* _parsedScript;
public:
ParsedNamespaceStatement(TextSpan span, const Identifier& identifier, const ParsedScriptStatement* script)
: ParsedStatementImpl<ParsedStatementKind::Namespace>(span), _identifier(identifier),
_parsedScript(script) {}
[[nodiscard]] inline const Identifier& GetIdentifier() const noexcept { return _identifier; }
[[nodiscard]] inline const ParsedScriptStatement* GetScript() const noexcept { return _parsedScript; }
};
}