public override void PrzypiszReferencje(ISlownikSkryptu slownik) { if (FunkcjeWbudowane.PobierzFunkcje(Nazwa) != null) { throw new CheckingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.CannotOverrideBuiltinFunction), Nazwa)); } if (akcje != null) { ISlownikSkryptu s = new _ZbiorWartosci(slownik, argumenty); foreach (Akcje a in akcje) { a.PrzypiszReferencje(s); } } }
public override void PrzypiszReferencje(ISlownikSkryptu slownik) { // sprawdzenie czy jest taka funkcja wbudowana FunkcjaInformacje fi = FunkcjeWbudowane.PobierzFunkcje(Nazwa); if (fi != null) { if (!fi.DobraIloscParametrow(argumenty.Length)) { throw new CheckingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.IncorrectArgumentNumber), Nazwa, fi.IloscParametrow.ToString())); } _funkcja = fi.Funkcja; } // nie ma więc poszukanie w zdefiniowanych if (_funkcja == null) { fi = slownik.PobierzFunkcje(Nazwa); if (fi != null) { if (!fi.DobraIloscParametrow(argumenty.Length)) { throw new CheckingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.IncorrectArgumentNumber), Nazwa, fi.IloscParametrow.ToString())); } _funkcja = fi.Funkcja; } else { throw new CheckingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.FunctionNotFound), Nazwa)); } } if (argumenty != null) { foreach (Argument a in argumenty) { a.PrzypiszReferencje(slownik); } } }