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
@@ -18,18 +18,12 @@
#include "sequence_diagram_generator.h"
#include "sequence_diagram/visitor/translation_unit_context.h"
#include <cppast/libclang_parser.hpp>
#include <cppast/parser.hpp>
namespace clanguml::sequence_diagram::generators::plantuml {
using clanguml::common::model::message_t;
using clanguml::config::source_location;
using clanguml::sequence_diagram::model::activity;
using clanguml::sequence_diagram::model::message;
using clanguml::sequence_diagram::visitor::translation_unit_context;
using namespace clanguml::util;
//
@@ -23,7 +23,6 @@
#include "sequence_diagram/visitor/translation_unit_visitor.h"
#include "util/util.h"
#include <cppast/libclang_parser.hpp>
#include <glob/glob.hpp>
#include <filesystem>
@@ -1,58 +0,0 @@
/**
* src/sequence_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 "config/config.h"
#include "sequence_diagram/model/diagram.h"
#include <cppast/cpp_entity_index.hpp>
#include <functional>
#include <memory>
#include <string>
namespace clanguml::sequence_diagram::visitor {
class translation_unit_context {
public:
translation_unit_context(cppast::cpp_entity_index &idx,
clanguml::sequence_diagram::model::diagram &diagram,
const clanguml::config::sequence_diagram &config);
void push_namespace(const std::string &ns);
void pop_namespace();
const std::vector<std::string> &get_namespace() const;
const cppast::cpp_entity_index &entity_index() const;
const clanguml::config::sequence_diagram &config() const;
clanguml::sequence_diagram::model::diagram &diagram();
private:
// Reference to the cppast entity index
cppast::cpp_entity_index &entity_index_;
clanguml::sequence_diagram::model::diagram &diagram_;
const clanguml::config::sequence_diagram &config_;
std::vector<std::string> namespace_;
};
}
@@ -20,7 +20,6 @@
#include "common/model/namespace.h"
#include "cx/util.h"
#include "translation_unit_context.h"
namespace clanguml::sequence_diagram::visitor {
@@ -36,16 +35,6 @@ translation_unit_visitor::translation_unit_visitor(clang::SourceManager &sm,
/*
void translation_unit_visitor::process_activities(const cppast::cpp_function &e)
{
using clanguml::common::model::message_t;
using clanguml::sequence_diagram::model::activity;
using clanguml::sequence_diagram::model::diagram;
using clanguml::sequence_diagram::model::message;
using cppast::cpp_entity;
using cppast::cpp_entity_kind;
using cppast::cpp_function;
using cppast::cpp_member_function;
using cppast::cpp_member_function_call;
using cppast::visitor_info;
for (const auto &function_call_ptr : e.function_calls()) {
const auto &function_call =
@@ -129,12 +118,6 @@ void translation_unit_visitor::process_activities(const cppast::cpp_function &e)
void translation_unit_visitor::operator()(const cppast::cpp_entity &file)
{
using cppast::cpp_entity;
using cppast::cpp_entity_kind;
using cppast::cpp_function;
using cppast::cpp_member_function;
using cppast::cpp_member_function_call;
using cppast::visitor_info;
cppast::visit(file, [&, this](const cpp_entity &e, visitor_info) {
if (e.kind() == cpp_entity_kind::function_t) {
@@ -19,7 +19,6 @@
#include "config/config.h"
#include "sequence_diagram/model/diagram.h"
#include "sequence_diagram/visitor/translation_unit_context.h"
#include <clang/AST/RecursiveASTVisitor.h>
#include <clang/Basic/SourceManager.h>