Exemple #1
0
        protected void ProcessEnumValueNode(ALSymbolInformation symbol, EnumValueSyntax syntax)
        {
            string idText = syntax.Id.ToString();

            if (!String.IsNullOrWhiteSpace(idText))
            {
                int id;
                if (Int32.TryParse(idText, out id))
                {
                    symbol.id = id;
                }
            }
            symbol.fullName = ALSyntaxHelper.EncodeName(symbol.name); // + ": " + syntax.EnumValueToken.ToFullString();
        }
Exemple #2
0
 public virtual void VisitEnumValue(EnumValueSyntax node)
 {
     this.BeginSymbolDef(node, type: typeof(MetaEnumLiteral));
     try
     {
         if (node.Attribute != null)
         {
             foreach (var child in node.Attribute)
             {
                 this.Visit(child);
             }
         }
         this.Visit(node.Name);
     }
     finally
     {
         this.EndSymbolDef();
     }
 }
Exemple #3
0
        public void TestEnumValueCaptionPropertyValidation()
        {
            CancellationTokenSource source          = new CancellationTokenSource();
            CancellationToken       token           = source.Token;
            EnumValueSyntax         enumValueSyntax = null;

            IEnumerable <SyntaxNode> objectNodes = (SyntaxTree.ParseObjectText(GenerateFakeEnumObject()).GetRoot(token) as ObjectCompilationUnitSyntax).Objects.FirstOrDefault().DescendantNodes();

            foreach (SyntaxNode syntax in objectNodes)
            {
                if (syntax.Kind == SyntaxKind.EnumValue)
                {
                    enumValueSyntax = syntax as EnumValueSyntax;
                }
            }

            SyntaxNodeAnalysisContext context = new SyntaxNodeAnalysisContext();

            CaptionPropertyValidation.AnalyzeEnumValuesCaption(context);
            if (enumValueSyntax != null)
            {
                CaptionPropertyValidation.AnalyzeEnumValuesCaptions(context, enumValueSyntax);
            }
        }
Exemple #4
0
 protected void ProcessEnumValueNode(ALSymbolInformation symbol, EnumValueSyntax syntax)
 {
     symbol.fullName = ALSyntaxHelper.EncodeName(symbol.name) + ": " + syntax.EnumValueToken.ToFullString();
 }
        public static void AnalyzeEnumValuesCaptions(SyntaxNodeAnalysisContext context, EnumValueSyntax syntax)
        {
            if (syntax == null)
            {
                return;
            }
            PropertyListSyntax propertyListSyntax = syntax.PropertyList;
            PropertySyntax     propertySyntax     = GetProperty(propertyListSyntax.Properties, "Caption");

            if (propertySyntax == null)
            {
                ReportEnumValueMustHaveCaptionProperty(context, propertyListSyntax.GetLocation(), syntax.Name.ToString(), syntax.Kind, syntax.Name);
            }
        }
        public static void AnalyzeEnumValuesCaption(SyntaxNodeAnalysisContext context)
        {
            EnumValueSyntax syntax = context.Node as EnumValueSyntax;

            AnalyzeEnumValuesCaptions(context, syntax);
        }