Removed cppast dependency

This commit is contained in:
Bartek Kryza
2022-08-03 22:13:27 +02:00
parent 5917d341e2
commit 487e5d435b
46 changed files with 167 additions and 1230 deletions
@@ -49,13 +49,12 @@ void generator::generate_relationships(
[this](const auto &r) {
return m_model.should_include(r.type()) &&
util::contains(m_generated_aliases,
m_model.get(r.destination()).value().get().alias());
m_model.get(r.destination()).value().alias());
},
[&f, &ostr, this](const auto &r) {
ostr << f.alias() << " "
<< plantuml_common::to_plantuml(r.type(), r.style()) << " "
<< m_model.get(r.destination()).value().get().alias()
<< '\n';
<< m_model.get(r.destination()).value().alias() << '\n';
});
}
}
@@ -26,9 +26,6 @@
#include "include_diagram/visitor/translation_unit_visitor.h"
#include "util/util.h"
#include <cppast/cpp_entity_index.hpp>
#include <cppast/libclang_parser.hpp>
#include <filesystem>
#include <fstream>
#include <iostream>
@@ -1,42 +0,0 @@
/**
* src/include_diagram/model/visitor/element_visitor_context.h
*
* Copyright (c) 2021-2022 Bartek Kryza <bkryza@gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include "include_diagram/model/diagram.h"
namespace clanguml::include_diagram::visitor {
class translation_unit_context;
template <typename T> class element_visitor_context {
public:
element_visitor_context(
clanguml::include_diagram::model::diagram &diagram, T &element);
T &element();
clanguml::include_diagram::model::diagram &diagram();
private:
translation_unit_context *ctx_;
T &element_;
clanguml::include_diagram::model::diagram &diagram_;
};
}
@@ -1,62 +0,0 @@
/**
* src/include_diagram/visitor/translation_unit_context.h
*
* Copyright (c) 2021-2022 Bartek Kryza <bkryza@gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include "common/model/package.h"
#include "config/config.h"
#include "include_diagram/model/diagram.h"
#include <cppast/cpp_entity_index.hpp>
#include <cppast/cpp_namespace.hpp>
#include <cppast/cpp_type.hpp>
#include <type_safe/reference.hpp>
namespace clanguml::include_diagram::visitor {
class translation_unit_context {
public:
translation_unit_context(cppast::cpp_entity_index &idx,
clanguml::include_diagram::model::diagram &diagram,
const clanguml::config::include_diagram &config);
const cppast::cpp_entity_index &entity_index() const;
const clanguml::config::include_diagram &config() const;
clanguml::include_diagram::model::diagram &diagram();
void set_current_file(
type_safe::optional_ref<common::model::source_file> p);
type_safe::optional_ref<common::model::source_file>
get_current_file() const;
private:
// Reference to the cppast entity index
cppast::cpp_entity_index &entity_index_;
// Reference to the output diagram model
clanguml::include_diagram::model::diagram &diagram_;
// Reference to class diagram config
const clanguml::config::include_diagram &config_;
type_safe::optional_ref<common::model::source_file> current_file_;
};
}
@@ -132,7 +132,6 @@ translation_unit_visitor::include_visitor::process_internal_header(
diagram()
.get(current_file_id)
.value()
.get()
.add_relationship(common::model::relationship{
relationship_type, include_file.id()});
}
@@ -161,7 +160,6 @@ translation_unit_visitor::include_visitor::process_external_system_header(
diagram()
.get(current_file_id)
.value()
.get()
.add_relationship(common::model::relationship{
common::model::relationship_t::kDependency, f_id});
}
@@ -21,7 +21,6 @@
#include "common/model/package.h"
#include "config/config.h"
#include "include_diagram/model/diagram.h"
#include "include_diagram/visitor/translation_unit_context.h"
#include <clang/AST/RecursiveASTVisitor.h>
#include <clang/Basic/SourceManager.h>