// SPDX-FileCopyrightText: 2024 Himbeer // // SPDX-License-Identifier: GPL-3.0-or-later package main var funcs = map[string]struct{}{} var localConsts = map[string]map[string]string{} var localMuts = map[string]map[string]struct{}{} func isDeclared(name string, toplevel bool) bool { if toplevel { return isDeclaredToplevel(name) } return isDeclaredLocal(currentFunc, name) } func isDeclaredToplevel(name string) bool { _, ok := funcs[name] return ok } func isDeclaredLocal(function string, local string) bool { _, constant := localConsts[function][local] _, mutable := localMuts[function][local] return constant || mutable }