aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/MIR/MIRDocument.cpp
blob: ad9ec405249bbb633979713f66b7d9c669b8b745 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// SPDX-License-Identifier: GPL-3.0-or-later

#include "rcc/MIR/MIRDocument.h"

#include "MIRDocumentParser.h"

#include <string>
#include <utility>

namespace rcc::mir {

MIRDocument::MIRDocument() = default;
MIRDocument::MIRDocument(CompilationUnit Unit) : Unit(std::move(Unit)) {}
MIRDocument::MIRDocument(MIRDocument &&) noexcept = default;
MIRDocument &MIRDocument::operator=(MIRDocument &&) noexcept = default;
MIRDocument::~MIRDocument() = default;

MIRDocumentParseResult::MIRDocumentParseResult(MIRDocumentParseResult &&) noexcept = default;
MIRDocumentParseResult &
MIRDocumentParseResult::operator=(MIRDocumentParseResult &&) noexcept = default;
MIRDocumentParseResult::~MIRDocumentParseResult() = default;

MIRDocumentParseResult parseMIRDocument(const TargetDescription &Target, std::string SourceName,
                                        std::string SourceText, MIRDocumentParserOptions Options) {
  return MIRDocumentParser(Target, std::move(SourceName), std::move(SourceText), std::move(Options))
      .run();
}

} // namespace rcc::mir