Beispiel #1
0
        internal static TypeReference ParseType(string content)
        {
            var builder = FileBuilder.Create(content);
            var context = builder.Parser.type();

            var walker = new ParseTreeWalker();

            walker.Walk(builder.Listener, context);

            return(builder.Listener.LastParsedType);
        }
Beispiel #2
0
        internal static FileBuilder ParseParExpression(Type typeUsing, Type[] typeNamespaces, string content)
        {
            var builder = FileBuilder.Create(content, typeUsing, typeNamespaces);

            builder.Listener.PrepareForExpressionParsing("StepBroFileBuilder.ParseParExpression");
            var context = builder.Parser.parExpression();

            var walker = new ParseTreeWalker();

            walker.Walk(builder.Listener, context);

            return(builder);
        }
Beispiel #3
0
        internal static IValueContainer <T> ParseFileVariable <T>(Type typeUsing, Type[] typeNamespaces, string content)
        {
            var builder = FileBuilder.Create(content, typeUsing, typeNamespaces);

            builder.Listener.PrepareForExpressionParsing("StepBroFileBuilder.ParseExpression");
            var context = builder.Parser.fileVariable();

            var walker = new ParseTreeWalker();

            walker.Walk(builder.Listener, context);

            if (builder.Errors.ErrorCount > 0)
            {
                throw new Exception("PARSING ERRORS");
            }

            return(builder.File.ListFileVariables().FirstOrDefault() as IValueContainer <T>);
        }