Example #1
0
        public void DeclareVariable(string name, IMember value, VariableSource source, Location location, bool overwrite = false)
        {
            if (source == VariableSource.Import && value is IVariable v)
            {
                CurrentScope.LinkVariable(name, v, location);
                return;
            }
            var member = GetInScope(name);

            if (member != null)
            {
                if (!value.IsUnknown())
                {
                    CurrentScope.DeclareVariable(name, value, source, location);
                }
            }
            else
            {
                CurrentScope.DeclareVariable(name, value, source, location);
            }
        }