Example #1
0
        public static IParsingResultExtended Parse(ParsingContext context)
        {
            RewindState  rewind          = context.RewindState;
            CvQualifiers cvQualifiers    = CvQualifiers.Parse(context);
            bool         transactionSafe = context.Parser.VerifyString("Dx");

            if (context.Parser.VerifyString("F"))
            {
                bool             externC  = context.Parser.VerifyString("Y");
                BareFunctionType bareType = BareFunctionType.Parse(context);

                if (bareType != null)
                {
                    RefQualifier refQualifier = RefQualifier.Parse(context);

                    if (context.Parser.VerifyString("E"))
                    {
                        return(new FunctionType(bareType, cvQualifiers, refQualifier, transactionSafe, externC));
                    }
                }
            }

            context.Rewind(rewind);
            return(null);
        }
Example #2
0
 public FunctionType(BareFunctionType bareType, CvQualifiers cvQualifiers, RefQualifier refQualifier, bool transactionSafe, bool externC)
 {
     CvQualifiers    = cvQualifiers;
     TransactionSafe = transactionSafe;
     ExternC         = externC;
     BareType        = bareType;
     RefQualifier    = refQualifier;
 }
Example #3
0
        public static IParsingResult Parse(ParsingContext context)
        {
            IParsingResultExtended name = Name.Parse(context);

            if (name != null)
            {
                BareFunctionType type = BareFunctionType.Parse(context);

                if (type != null)
                {
                    return(new Function(name, type));
                }

                return(name);
            }

            return(SpecialName.Parse(context));
        }
Example #4
0
 public Function(IParsingResultExtended name, BareFunctionType type)
 {
     Name = name;
     Type = type;
 }