Bash++
Bash++ compiler internal documentation
resolve_entity.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <fstream>
9#include <memory>
10#include <string>
11#include <cstdint>
12
13#include <lsp/ProgramPool.h>
14#include <AST/ASTNode.h>
16#include "explode.h"
17
18std::shared_ptr<AST::ASTNode> find_node_at_position(std::shared_ptr<AST::ASTNode> node, uint32_t line, uint32_t column);
19
39std::shared_ptr<bpp::bpp_entity> resolve_entity_at(
40 const std::string& file,
41 uint32_t line,
42 uint32_t column,
43 std::shared_ptr<bpp::bpp_program> program
44);
45
56std::string find_comments_for_entity(std::shared_ptr<bpp::bpp_entity> entity, ProgramPool* program_pool);
Manages a pool of bpp_program objects for efficient reuse and access.
Definition ProgramPool.h:38
std::shared_ptr< AST::ASTNode > find_node_at_position(std::shared_ptr< AST::ASTNode > node, uint32_t line, uint32_t column)
Definition resolve_entity.cpp:12
std::shared_ptr< bpp::bpp_entity > resolve_entity_at(const std::string &file, uint32_t line, uint32_t column, std::shared_ptr< bpp::bpp_program > program)
Resolves the entity referenced at the given line and column in the specified file.
Definition resolve_entity.cpp:43
std::string find_comments_for_entity(std::shared_ptr< bpp::bpp_entity > entity, ProgramPool *program_pool)
Finds comments ostensibly associated with the given entity's definition.
Definition resolve_entity.cpp:375