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(); }
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(); } }
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); } }
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); }