@@ -66,13 +66,23 @@ def bootstrap_repl(which_ns: str) -> types.ModuleType:
66
66
is_flag = True ,
67
67
envvar = 'BASILISP_WARN_ON_SHADOWED_VAR' ,
68
68
help = 'if provided, emit warnings if a Var name is shadowed by a local name' )
69
- def repl (default_ns , use_var_indirection , warn_on_shadowed_name , warn_on_shadowed_var ):
69
+ @click .option ('--warn-on-var-indirection' ,
70
+ default = True ,
71
+ is_flag = True ,
72
+ envvar = 'BASILISP_WARN_ON_VAR_INDIRECTION' ,
73
+ help = 'if provided, emit warnings if a Var reference cannot be direct linked' )
74
+ def repl (default_ns ,
75
+ use_var_indirection ,
76
+ warn_on_shadowed_name ,
77
+ warn_on_shadowed_var ,
78
+ warn_on_var_indirection ):
70
79
basilisp .init ()
71
80
repl_module = bootstrap_repl (default_ns )
72
81
ctx = compiler .CompilerContext (
73
82
{compiler .USE_VAR_INDIRECTION : use_var_indirection ,
74
83
compiler .WARN_ON_SHADOWED_NAME : warn_on_shadowed_name ,
75
- compiler .WARN_ON_SHADOWED_VAR : warn_on_shadowed_var })
84
+ compiler .WARN_ON_SHADOWED_VAR : warn_on_shadowed_var ,
85
+ compiler .WARN_ON_VAR_INDIRECTION : warn_on_var_indirection })
76
86
ns_var = runtime .set_current_ns (default_ns )
77
87
eof = object ()
78
88
while True :
@@ -128,18 +138,25 @@ def repl(default_ns, use_var_indirection, warn_on_shadowed_name, warn_on_shadowe
128
138
is_flag = True ,
129
139
envvar = 'BASILISP_WARN_ON_SHADOWED_VAR' ,
130
140
help = 'if provided, emit warnings if a Var name is shadowed by a local name' )
141
+ @click .option ('--warn-on-var-indirection' ,
142
+ default = True ,
143
+ is_flag = True ,
144
+ envvar = 'BASILISP_WARN_ON_VAR_INDIRECTION' ,
145
+ help = 'if provided, emit warnings if a Var reference cannot be direct linked' )
131
146
def run (file_or_code , # pylint: disable=too-many-arguments
132
147
code ,
133
148
in_ns ,
134
149
use_var_indirection ,
135
150
warn_on_shadowed_name ,
136
- warn_on_shadowed_var ):
151
+ warn_on_shadowed_var ,
152
+ warn_on_var_indirection ):
137
153
"""Run a Basilisp script or a line of code, if it is provided."""
138
154
basilisp .init ()
139
155
ctx = compiler .CompilerContext (
140
156
{compiler .USE_VAR_INDIRECTION : use_var_indirection ,
141
157
compiler .WARN_ON_SHADOWED_NAME : warn_on_shadowed_name ,
142
- compiler .WARN_ON_SHADOWED_VAR : warn_on_shadowed_var })
158
+ compiler .WARN_ON_SHADOWED_VAR : warn_on_shadowed_var ,
159
+ compiler .WARN_ON_VAR_INDIRECTION : warn_on_var_indirection })
143
160
eof = object ()
144
161
145
162
with runtime .ns_bindings (in_ns ) as ns :
0 commit comments