GetConstantSort() публичный Метод

public GetConstantSort ( FastToken id ) : FastSort
id FastToken
Результат FastSort
Пример #1
0
 internal override void CalcSort(Func<FastToken, FastSort> context, FastPgm program)
 {
     if (program.defsMap.ContainsKey(this._token.text))
         _sort = program.GetConstantSort(this._token);
     else
         _sort = context(this._token);
 }
Пример #2
0
 internal override void Typecheck(FastPgm pgm)
 {
     if (this.expr != null) //else constructor
     {
         Func<FastToken, FastSort> context = x =>
             {
                 if (varSortMap.ContainsKey(x.text))
                     return varSortMap[x.text];
                 else
                     return pgm.GetConstantSort(x);
             };
         this.expr.CalcSort(context, pgm);
         if (!this.outputSort.name.text.Equals(this.expr.sort.name.text))
             throw new FastParseException(this.expr.token.Location, string.Format("Wrong sort '{0}', expecting '{1}'", expr.sort.name, outputSort.name.text));
     }
 }