41
41
set_keyword_ordering ,
42
42
)
43
43
from fortls .intrinsics import (
44
- fortran_intrinsic_obj ,
44
+ Intrinsic ,
45
45
get_intrinsic_keywords ,
46
46
load_intrinsics ,
47
47
set_lowercase_intrinsics ,
48
48
)
49
49
from fortls .json_templates import change_json , symbol_json , uri_json
50
50
from fortls .jsonrpc import JSONRPC2Connection , path_from_uri , path_to_uri
51
51
from fortls .objects import (
52
+ FortranAST ,
53
+ Variable ,
52
54
climb_type_tree ,
53
55
find_in_scope ,
54
56
find_in_workspace ,
55
- fortran_ast ,
56
- fortran_var ,
57
57
get_use_tree ,
58
58
)
59
- from fortls .parse_fortran import fortran_file , get_line_context
59
+ from fortls .parse_fortran import FortranFile , get_line_context
60
60
from fortls .regex_patterns import src_file_exts
61
61
from fortls .version import __version__
62
62
@@ -70,7 +70,7 @@ def __init__(self, conn, settings: dict):
70
70
self .conn : JSONRPC2Connection = conn
71
71
self .running : bool = True
72
72
self .root_path : str = None
73
- self .workspace : dict [str , fortran_file ] = {}
73
+ self .workspace : dict [str , FortranFile ] = {}
74
74
self .obj_tree : dict = {}
75
75
self .link_version = 0
76
76
self ._version = version .parse (__version__ )
@@ -496,7 +496,7 @@ def build_comp(
496
496
params : dict = request ["params" ]
497
497
uri : str = params ["textDocument" ]["uri" ]
498
498
path : str = path_from_uri (uri )
499
- file_obj : fortran_file = self .workspace .get (path )
499
+ file_obj : FortranFile = self .workspace .get (path )
500
500
if file_obj is None :
501
501
return None
502
502
# Check line
@@ -673,7 +673,7 @@ def build_comp(
673
673
674
674
def get_definition (
675
675
self ,
676
- def_file : fortran_file ,
676
+ def_file : FortranFile ,
677
677
def_line : int ,
678
678
def_char : int ,
679
679
hover_req : bool = False ,
@@ -716,7 +716,7 @@ def get_definition(
716
716
return None
717
717
# Search in Preprocessor defined variables
718
718
if def_name in def_file .pp_defs :
719
- var = fortran_var (
719
+ var = Variable (
720
720
def_file .ast ,
721
721
def_line + 1 ,
722
722
def_name ,
@@ -778,7 +778,7 @@ def get_definition(
778
778
):
779
779
var_type = f"{ FORTRAN_LITERAL } STRING"
780
780
if var_type :
781
- return fortran_var (
781
+ return Variable (
782
782
curr_scope .file_ast ,
783
783
def_line + 1 ,
784
784
def_name ,
@@ -897,7 +897,7 @@ def get_all_references(
897
897
self ,
898
898
def_obj ,
899
899
type_mem : bool ,
900
- file_obj : fortran_file = None ,
900
+ file_obj : FortranFile = None ,
901
901
):
902
902
# Search through all files
903
903
def_name : str = def_obj .name .lower ()
@@ -1124,7 +1124,7 @@ def serve_implementation(self, request: dict):
1124
1124
if var_obj is None :
1125
1125
return None
1126
1126
# Intrinsics do not have implementations we can access
1127
- if isinstance (var_obj , fortran_intrinsic_obj ):
1127
+ if isinstance (var_obj , Intrinsic ):
1128
1128
return None
1129
1129
# Construct implementation reference
1130
1130
if var_obj .parent .get_type () == CLASS_TYPE_ID :
@@ -1147,7 +1147,7 @@ def serve_rename(self, request: dict):
1147
1147
def_obj = self .get_definition (file_obj , def_line , def_char )
1148
1148
if def_obj is None :
1149
1149
return None
1150
- if isinstance (def_obj , fortran_intrinsic_obj ):
1150
+ if isinstance (def_obj , Intrinsic ):
1151
1151
self .post_message ("Rename failed: Cannot rename intrinsics" , Severity .warn )
1152
1152
return None
1153
1153
# Determine global accesibility and type membership
@@ -1335,11 +1335,11 @@ def update_workspace_file(
1335
1335
file_obj = self .workspace .get (filepath )
1336
1336
if read_file :
1337
1337
if file_obj is None :
1338
- file_obj = fortran_file (filepath , self .pp_suffixes )
1338
+ file_obj = FortranFile (filepath , self .pp_suffixes )
1339
1339
# Create empty file if not yet saved to disk
1340
1340
if not os .path .isfile (filepath ):
1341
1341
if allow_empty :
1342
- file_obj .ast = fortran_ast (file_obj )
1342
+ file_obj .ast = FortranAST (file_obj )
1343
1343
self .workspace [filepath ] = file_obj
1344
1344
return False , None
1345
1345
else :
@@ -1405,7 +1405,7 @@ def file_init(
1405
1405
fortran_file | str
1406
1406
A Fortran file object or a string containing the error message
1407
1407
"""
1408
- file_obj = fortran_file (filepath , pp_suffixes )
1408
+ file_obj = FortranFile (filepath , pp_suffixes )
1409
1409
err_str , _ = file_obj .load_from_disk ()
1410
1410
if err_str :
1411
1411
return err_str
@@ -1704,7 +1704,7 @@ def _load_intrinsics(self) -> None:
1704
1704
1705
1705
def _create_ref_link (self , obj ) -> dict :
1706
1706
"""Create a link reference to an object"""
1707
- obj_file : fortran_file = obj .file_ast .file
1707
+ obj_file : FortranFile = obj .file_ast .file
1708
1708
sline , (schar , echar ) = obj_file .find_word_in_code_line (obj .sline - 1 , obj .name )
1709
1709
if schar < 0 :
1710
1710
schar = echar = 0
0 commit comments