Esempio n. 1
0
 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);
         }
     }
 }
Esempio n. 2
0
        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);
                }
            }
        }