From f2aa7b6d526ac3e903bfd7f1808d044c549d40de Mon Sep 17 00:00:00 2001 From: ZacNugent Date: Sun, 19 Apr 2020 22:14:48 +0100 Subject: [PATCH] wip --- src/languageserverinstance.jl | 4 +++- src/staticlint.jl | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/languageserverinstance.jl b/src/languageserverinstance.jl index 2ca109ab..286dd180 100644 --- a/src/languageserverinstance.jl +++ b/src/languageserverinstance.jl @@ -39,6 +39,7 @@ mutable struct LanguageServerInstance symbol_results_channel::Channel{Any} symbol_store::Dict{Symbol,SymbolServer.ModuleStore} symbol_extends::Dict{SymbolServer.VarRef,Vector{SymbolServer.VarRef}} + symbol_fieldtypemap::Dict{Symbol, Vector{SymbolServer.VarRef}} symbol_store_ready::Bool # ss_task::Union{Nothing,Future} format_options::DocumentFormat.FormatOptions @@ -71,6 +72,7 @@ mutable struct LanguageServerInstance Channel(Inf), deepcopy(SymbolServer.stdlibs), SymbolServer.collect_extended_methods(SymbolServer.stdlibs), + StaticLint.fieldname_type_map(SymbolServer.stdlibs), false, DocumentFormat.FormatOptions(), StaticLint.LintOptions(), @@ -151,7 +153,7 @@ function trigger_symbolstore_reload(server::LanguageServerInstance) server.err_handler ) server.symbol_extends = SymbolServer.collect_extended_methods(server.symbol_store) - + server.symbol_fieldtypemap = StaticLint.fieldname_type_map(server.symbol_store) server.number_of_outstanding_symserver_requests -= 1 if server.number_of_outstanding_symserver_requests==0 diff --git a/src/staticlint.jl b/src/staticlint.jl index d4ee390a..4dea39a7 100644 --- a/src/staticlint.jl +++ b/src/staticlint.jl @@ -1,4 +1,4 @@ -import StaticLint: hasfile, canloadfile, loadfile, setfile, getfile, getsymbolserver, getsymbolextendeds +import StaticLint: hasfile, canloadfile, loadfile, setfile, getfile, getsymbolserver, getsymbolextendeds, getsymbolfieldtypemap import StaticLint: getpath, setpath, getroot, setroot, getcst, setcst, scopepass, getserver, setserver hasfile(server::LanguageServerInstance, path::String) = hasdocument(server, URI2(filepath2uri(path))) function canloadfile(server::LanguageServerInstance, path::String) @@ -33,6 +33,7 @@ end getfile(server::LanguageServerInstance, path::String) = getdocument(server, URI2(filepath2uri(path))) getsymbolserver(server::LanguageServerInstance) = server.symbol_store getsymbolextendeds(server::LanguageServerInstance) = server.symbol_extends +getsymbolfieldtypemap(server::LanguageServerInstance) = server.symbol_fieldtypemap getpath(d::Document) = d.path function setpath(d::Document, path::String)