public override void PrzypiszReferencje(ISlownikSkryptu slownik) { base.PrzypiszReferencje(slownik); if (_funkcjaNazwa != null) { // sprawdzenie czy jest taka funkcja wbudowana FunkcjaInformacje fi = slownik.PobierzFunkcje(_funkcjaNazwa); if (fi != null) { if (fi.IloscParametrow != 1) { throw new CheckingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.IncorrectNumberOfVariablesForVariableFunction), _funkcjaNazwa, Nazwa, fi.IloscParametrow)); } _funkcja = fi.Funkcja; _argumenty = new Argument[] { new Argument() { argument = this } }; } else { throw new CheckingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.FunctionNotFound), _funkcjaNazwa)); } } }
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); } } }