Exemplo n.º 1
0
        public TableTypeInformation(TableSyntax tableSyntax) : this(tableSyntax.GetNameStringValue())
        {
            FieldListSyntax fields = tableSyntax.Fields;

            if (fields != null)
            {
                SyntaxList <FieldSyntax> fieldsList = fields.Fields;
                if (fieldsList != null)
                {
                    foreach (FieldSyntax fieldSyntax in fieldsList)
                    {
                        TableFieldTypeInformation fieldTypeInformation = new TableFieldTypeInformation(fieldSyntax);
                        Add(fieldTypeInformation);
                    }
                }
            }
        }
        private static void AnalyzeTableFieldsIDs(SyntaxNodeAnalysisContext context)
        {
            TableSyntax   tableSyntax = context.Node as TableSyntax;
            KeyListSyntax keys        = tableSyntax.Keys;
            List <String> keysList    = GetPrimaryKeyFieldsNames(keys);

            if (keysList == null)
            {
                return;
            }
            FieldListSyntax          fieldList = tableSyntax.Fields;
            SyntaxList <FieldSyntax> fields    = fieldList.Fields;

            foreach (FieldSyntax fieldSyntax in fields)
            {
                IdentifierNameSyntax fieldName = fieldSyntax.Name;
                SyntaxToken          FieldNo   = fieldSyntax.No;
                if (FieldNo.Value as int? < 20 && !keysList.Contains(fieldName.Identifier.Value.ToString()))
                {
                    ReportFieldsReservedForPrimaryKeyFields(context, FieldNo.GetLocation(), fieldName.Identifier.Value.ToString(), fieldName);
                }
            }
        }