src/basilisp/lang/compiler/generator.py
def __should_warn_on_redef(
    ctx: GeneratorContext, defsym: sym.Symbol, safe_name: str, def_meta: lmap.Map
) -> bool:
    """Return True if the compiler should emit a warning about this name being redefined."""
    no_warn_on_redef = def_meta.entry(SYM_NO_WARN_ON_REDEF_META_KEY, False)
    if no_warn_on_redef:
        return False
    elif safe_name in ctx.current_ns.module.__dict__:
        return True
    elif defsym in ctx.current_ns.interns:
        var = ctx.current_ns.find(defsym)
        assert var is not None, f"Var {defsym} cannot be none here"

        if var.meta is not None and var.meta.entry(SYM_REDEF_META_KEY):
            return False
        elif var.is_bound:
            return True
        else:
            return False
    else:
        return False
def __should_warn_on_redef(
    ctx: GeneratorContext, defsym: sym.Symbol, safe_name: str, def_meta: lmap.Map
) -> bool:
    no_warn_on_redef = def_meta.entry(SYM_NO_WARN_ON_REDEF_META_KEY, False)
    if no_warn_on_redef:
        return False
    elif safe_name in ctx.current_ns.module.__dict__:
        return True
    elif defsym in ctx.current_ns.interns:
        var = ctx.current_ns.find(defsym)
        assert var is not None, f"Var {defsym} cannot be none here"

        if var.meta is not None and var.meta.entry(SYM_REDEF_META_KEY):
            return False
        elif var.is_bound:
            return True
        else:
            return False
    else:
        return False
def __should_warn_on_redef ( ctx : GeneratorContext , defsym : sym . Symbol , safe_name : str , def_meta : lmap . Map ) -> bool : no_warn_on_redef = def_meta . entry ( SYM_NO_WARN_ON_REDEF_META_KEY , False ) if no_warn_on_redef : return False elif safe_name in ctx . current_ns . module . __dict__ : return True elif defsym in ctx . current_ns . interns : var = ctx . current_ns . find ( defsym ) assert var is not None , f"Var {defsym} cannot be none here" if var . meta is not None and var . meta . entry ( SYM_REDEF_META_KEY ) : return False elif var . is_bound : return True else : return False else : return False
Return True if the compiler should emit a warning about this name being redefined.
Return True if the compiler should emit a warning about this name being redefined .