public static Jint_Function jintFunction(this Jint_Visitor jintVisitor, MethodCall methodCall)
        {
            var jintFunction = new Jint_Function();
            var previous     = jintVisitor.previous_All <Identifier>(methodCall);

            if (previous.size() > 0)
            {
                jintFunction.Name = previous.first().Text;
                previous.Reverse();
                var className = "";
                foreach (var item in previous)
                {
                    className = "{0}.{1}".format(className, item.Text);
                }
                className          = className.removeFirstChar();
                jintFunction.Class = className;
            }
            else
            {
                jintFunction.Name = "[anonymous]";
            }
            jintFunction.Arguments = methodCall.Arguments;
            //foreach(var argument in methodCall.Arguments)
            //	jintFunction.Arguments.Add(argument.str());
            return(jintFunction);
        }
        public static List <Statement> previous(this Jint_Visitor jintVisitor, Statement startStatement, bool recursiveSearch)
        {
            if (recursiveSearch)
            {
                return(jintVisitor.previous_All(startStatement));
            }

            if (jintVisitor.PreviousMappings.hasKey(startStatement))
            {
                return(jintVisitor.PreviousMappings[startStatement].wrapOnList());
            }
            ;
            return(null);
        }
 public static List <T> previous_All_Until <T, T1>(this Jint_Visitor jintVisitor, Statement startStatement)
     where T : Statement
     where T1 : Statement
 {
     return(jintVisitor.previous_All <T>(startStatement, typeof(T1)));
 }
 public static List <T> previous_All <T>(this Jint_Visitor jintVisitor, Statement startStatement)
     where T : Statement
 {
     return(jintVisitor.previous_All <T>(startStatement, null));
 }
 public static List <Statement> previous_All(this Jint_Visitor jintVisitor, Statement startStatement)
 {
     return(jintVisitor.previous_All <Statement>(startStatement));
 }