Ejemplo n.º 1
0
        private Dictionary <string, FieldNode> getFieldsForEnum(EnumTypeNode enumType, string path)
        {
            Dictionary <string, FieldNode> fields = new Dictionary <string, FieldNode>();

            foreach (var enumeration in enumType.EnumItems)
            {
                fields[enumeration.Identifier.Name] = new FieldNode(enumeration.Identifier, enumType, true
                                                                    , new EncapsulationNode(TokenType.RW_PUBLIC, null), enumeration.value, enumeration.token);
            }
            return(fields);
        }
Ejemplo n.º 2
0
Archivo: Parser.cs Proyecto: knat/SData
 private bool EnumTypeMember(EnumTypeNode en)
 {
     Token name;
     if (Name(out name))
     {
         if (en.MemberMap.ContainsKey(name))
         {
             ErrorAndThrow(new DiagMsgEx(DiagCodeEx.DuplicateEnumMemberName, name.Value), name.TextSpan);
         }
         TokenExpected('=');
         en.MemberMap.Add(name, AtomValueExpected());
         return true;
     }
     return false;
 }
Ejemplo n.º 3
0
Archivo: Parser.cs Proyecto: knat/SData
 private bool EnumType(NamespaceNode ns)
 {
     if (Keyword(ParserConstants.EnumKeyword))
     {
         var name = NameExpected();
         CheckDuplicateGlobalType(ns, name);
         KeywordExpected(ParserConstants.AsKeyword);
         var atomQName = QualifiableNameExpected();
         TokenExpected('{');
         var en = new EnumTypeNode(ns, name, atomQName);
         while (EnumTypeMember(en)) ;
         TokenExpected('}');
         ns.GlobalTypeMap.Add(name, en);
         return true;
     }
     return false;
 }