module Crystalline::Analysis

Defined in:

crystalline/analysis/analysis.cr
crystalline/analysis/cursor_visitor.cr
crystalline/analysis/submodule_visitor.cr
crystalline/analysis/symbols_visitor.cr

Class Method Summary

Class Method Detail

def self.all_defs(type, *, accumulator = [] of ::Tuple(String, Crystal::Def, Crystal::Type, Int32), nesting = 0) #

[View source]
def self.all_macros(type, *, accumulator = [] of ::Tuple(String, Crystal::Macro, Crystal::Type, Int32), nesting = 0) #

[View source]
def self.all_submodules(result : Crystal::Compiler::Result, module_type : Crystal::Type) : Array(Crystal::ModuleType) #

[View source]
def self.compile(server : LSP::Server, file_uri : URI, *, lib_path : String | Nil = nil, file_overrides : Hash(String, String) | Nil = nil, ignore_diagnostics = false, wants_doc = false, fail_fast = false, top_level = false) #

Compile a target file_uri.


[View source]
def self.compile(server : LSP::Server, sources : Array(Crystal::Compiler::Source), *, lib_path : String | Nil = nil, file_overrides : Hash(String, String) | Nil = nil, ignore_diagnostics = false, wants_doc = false, fail_fast = false, top_level = false) #

Compile an array of sources.


[View source]
def self.context_at(result : Crystal::Compiler::Result, location : Crystal::Location) : Hash(String, Crystal::Type) | Nil #

[View source]
def self.definitions_at_cursor(result : Crystal::Compiler::Result, location : Crystal::Location) : Definitions | Nil #

Return the possible definition for the node at the given location.


[View source]
def self.node_at_cursor(result : Crystal::Compiler::Result, location : Crystal::Location) : Crystal::ASTNode | Nil #

Return the node at the given location.


[View source]
def self.nodes_at_cursor(result : Crystal::Compiler::Result, location : Crystal::Location) : Tuple(Array(Crystal::ASTNode), Hash(String, Tuple(Crystal::Type | Nil, Crystal::Location | Nil))) #

Return the whole hierarchy of nodes at the given location.


[View source]