Ejemplo n.º 1
0
        private Node WriteEnum(AstTypeDefinitionEnum astEnum, string parentId)
        {
            var name = astEnum.Identifier.NativeFullName;
            var node = CreateNode(name, astEnum.NodeKind);

            _          = CreateLink(parentId, node.Id);
            node.Group = DefaultGroup;

            var fields = String.Join("\r\n",
                                     astEnum.Fields.Select(f => $"{f.Identifier.NativeFullName} = {f.Expression.AsString()}"));

            var fieldsNode = CreateNode("Fields", fields);

            fieldsNode.Category = FieldsCategory;
            _ = CreateLink(node.Id, fieldsNode.Id, ContainsCategory);

            return(node);
        }
Ejemplo n.º 2
0
        public CSharp.Enum AddEnum(AstTypeDefinitionEnum enumDef)
        {
            var enumType = new CSharp.Enum(enumDef.Identifier.SymbolName.CanonicalName.FullName)
            {
                AccessModifiers = enumDef.Symbol.SymbolLocality == AstSymbolLocality.Exported
                    ? AccessModifiers.Public : AccessModifiers.Private,
                BaseTypeName = enumDef.BaseType.ToCode(),
            };

            foreach (var field in enumDef.Fields)
            {
                var option = new CSharp.EnumOption(field.Identifier.SymbolName.CanonicalName.FullName)
                {
                    Value = field.Expression.ToCode()
                };

                enumType.AddOption(option);
            }

            _moduleClass.AddEnum(enumType);

            return(enumType);
        }
Ejemplo n.º 3
0
 public override void VisitTypeDefinitionEnum(AstTypeDefinitionEnum enumType)
 => Context.ModuleClass.AddEnum(enumType);
Ejemplo n.º 4
0
 public override void VisitTypeDefinitionEnum(AstTypeDefinitionEnum enumType)
 {
     enumType.Symbol.Should().NotBeNull();
     base.VisitTypeDefinitionEnum(enumType);
 }
Ejemplo n.º 5
0
 public virtual void VisitTypeDefinitionEnum(AstTypeDefinitionEnum enumType)
 {
     enumType.VisitChildren(this);
 }
Ejemplo n.º 6
0
 public override void VisitTypeDefinitionEnum(AstTypeDefinitionEnum enumType)
 {
     enumType.Parent.Should().NotBeNull();
     enumType.VisitChildren(this);
 }