public override void PrzypiszReferencje(ISlownikSkryptu slownik) { if (Zmienna is ZmiennaNieistniejaca) { Zmienna = (Zmienna)slownik.PobierzWartosc(Zmienna.Nazwa); Zmienna.SprawdzCzyMoznaUstawiacWartoscWSkrypcie(); } if (Wyrazenie is ZmiennaNieistniejaca) { Wartosc w = slownik.PobierzWartosc(((ZmiennaNieistniejaca)Wyrazenie).Nazwa); if (w is Zmienna) { Wyrazenie = (Zmienna)w; } else { if (w is Stala) { Wyrazenie = (Stala)w; } else { Wyrazenie = w; } } } else { Wyrazenie.PrzypiszReferencje(slownik); } }
public Wartosc PobierzWartosc(string nazwa) { Wartosc result = _zmienne.Find(delegate(Zmienna z) { return(z.Nazwa == nazwa); }); if (result == null) { result = _stale.Find(delegate(Stala s) { return(s.Nazwa == nazwa); }); } if (result == null) { throw new Exception(string.Format(UI.Language.Instance.GetString(UI.UIStrings.VariableOrConstantNotFound), nazwa)); } return(result); }