/// <inheritdoc />
        protected override void Format(IScriptToken token, StringBuilder resulttext, IFormatterCollection formatters, int depth = 0)
        {
            ImpliciteTypeCast cast = (ImpliciteTypeCast)token;

            resulttext.Append(cast.Keyword).Append('(');
            formatters[cast.Argument].FormatToken(cast.Argument, resulttext, formatters, depth);
            resulttext.Append(')');
        }
 /// <summary>
 /// visits a type cast token
 /// </summary>
 /// <param name="typecast">token to visit</param>
 public virtual void VisitTypeCast(ImpliciteTypeCast typecast)
 {
     VisitToken(typecast.Argument);
 }
 /// <inheritdoc />
 public override void VisitTypeCast(ImpliciteTypeCast typecast)
 {
     base.VisitTypeCast(typecast);
     ++TypeCasts;
 }