Example #1
0
        public static IParsingResult Parse(ParsingContext context)
        {
            RewindState    rewind = context.RewindState;
            IParsingResult name   = SimpleId.Parse(context);

            if (name != null)
            {
                return(name);
            }
            if (context.Parser.VerifyString("on"))
            {
                IParsingResult operatorName = OperatorName.Parse(context);

                if (operatorName != null)
                {
                    IParsingResult arguments = TemplateArgs.Parse(context);

                    return(new Operator(operatorName, arguments));
                }
                context.Rewind(rewind);
                return(null);
            }
            if (context.Parser.VerifyString("dn"))
            {
                return(DestructorName.Parse(context));
            }
            return(null);
        }
Example #2
0
 public static IParsingResultExtended Parse(ParsingContext context)
 {
     return(OperatorName.Parse(context) ?? CtorDtorName.Parse(context) ?? SourceName.Parse(context) ?? UnnamedTypeName.Parse(context));
 }