public override object VisitEnumTypeDefDecl(PParser.EnumTypeDefDeclContext context) { // ENUM name=iden PEnum pEnum = (PEnum)nodesToDeclarations.Get(context); // LBRACE enumElemList RBRACE if (context.enumElemList() is PParser.EnumElemListContext elemList) { EnumElem[] elems = (EnumElem[])Visit(elemList); for (int i = 0; i < elems.Length; i++) { EnumElem elem = elems[i]; elem.Value = i; pEnum.AddElement(elem); } } // | LBRACE numberedEnumElemList RBRACE else if (context.numberedEnumElemList() is PParser.NumberedEnumElemListContext numberedElemList) { EnumElem[] numberedElems = (EnumElem[])Visit(numberedElemList); foreach (EnumElem elem in numberedElems) { pEnum.AddElement(elem); } } else { Debug.Fail("grammar requires enum declarations to have element lists"); } return(pEnum); }
public override object VisitEnumTypeDefDecl(PParser.EnumTypeDefDeclContext context) { string symbolName = context.name.GetText(); PEnum pEnum = CurrentScope.Put(symbolName, context); nodesToDeclarations.Put(context, pEnum); return(VisitChildren(context)); }
static void GenEnum(PEnum penum) { AppendLine(0, "enum {0} {{", penum.m_name); foreach (var item in penum.m_items.OrderBy(item_ => item_.Value)) { AppendLine(1, "{0} = {1};", item.Key, item.Value); } AppendLine(0, "}"); }
static void GenEnum(PEnum penum) { AppendLine(1, "public enum {0}", penum.m_name); AppendLine(1, "{"); foreach (var item in penum.m_items.OrderBy(item_ => item_.Value)) { AppendLine(2, "{0} = {1},", item.Key, item.Value); } AppendLine(1, "}"); }
public void CopyFrom(EditorMessage message) { if (message.m_message != null) { m_message = message.m_message; } if (message.m_enum != null) { m_enum = message.m_enum; } }
public PEnum Put(string name, PParser.EnumTypeDefDeclContext tree) { PEnum @enum = new PEnum(name, tree); CheckConflicts( @enum, Namespace(enums), Namespace(interfaces), Namespace(typedefs), Namespace(machines)); enums.Add(name, @enum); return(@enum); }
public static EditorMessage NewEnum(PEnum penum = null) { var obj = new EditorMessage(); if (penum != null) { obj.m_enum = penum; } else { obj.m_enum = new PEnum(); } return(obj); }
public DefEnum(PEnum e) { Name = e.Name; Namespace = e.Namespace; IsFlags = e.IsFlags; IsUniqueItemId = e.IsUniqueItemId; foreach (var item in e.Items) { Items.Add(new Item { Name = item.Name, Alias = item.Alias, Value = item.Value }); } }
public bool Lookup(string name, out PEnum tree) { Scope current = this; while (current != null) { if (current.Get(name, out tree)) { return(true); } current = current.Parent; } tree = null; return(false); }
protected void AddEnum(XElement e) { ValidAttrKeys(e, _enumOptionalAttrs, _enumRequiredAttrs); var en = new PEnum() { Name = XmlUtil.GetRequiredAttribute(e, "name"), Namespace = CurNamespace, IsFlags = XmlUtil.GetOptionBoolAttribute(e, "flags"), }; foreach (XElement item in e.Elements()) { ValidAttrKeys(item, _enumOptionalItemAttrs, _enumItemRequiredAttrs); en.Items.Add(new EnumItem() { Name = XmlUtil.GetRequiredAttribute(item, "name"), Alias = XmlUtil.GetOptionalAttribute(item, "alias"), Value = XmlUtil.GetOptionalAttribute(item, "value"), }); } s_logger.Trace("add enum:{@enum}", en); _enums.Add(en); }
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { EditorGUI.BeginProperty(position, label, property); object obj; try { UnityEngine.Object f****r = property.serializedObject.targetObject; obj = GetFieldViaPath(f****r.GetType(), property.propertyPath, f****r); } catch (Exception e) { Debug.Log("Error " + e.StackTrace); return; } PEnum t = obj as PEnum; t.Value = EditorGUI.EnumPopup(position, label, t.Value); EditorGUI.EndProperty(); }
public Exception DuplicateEnumValue(PParser.NumberedEnumElemContext location, PEnum pEnum) { return(IssueError(location, $"enum element {location.name.GetText()} in {pEnum.Name} duplicates previous value")); }
public string GetEnumFileName(PEnum e) { string enumName = GetEnumTypeName(e); return($"{enumName}.java"); }
public string GetEnumTypeName(PEnum pEnum) { return(pEnum.Name); }
public EnumEnum() { Key = new PEnum(typeof(K)); Value = new PEnum(typeof(V)); }
public KeyEnum() { Value = new PEnum(typeof(E)); }
public EnumValue() { Key = new PEnum(typeof(E)); }
public bool Get(string name, out PEnum tree) { return(enums.TryGetValue(name, out tree)); }
public EnumType(PEnum enumDecl) : base(TypeKind.Enum) { EnumDecl = enumDecl; }