public static CGFFieldSymbol Parse(CGFParserReporter reporter, Microsoft.CodeAnalysis.IFieldSymbol fieldSymbol) { CGFFieldSymbol cgfFieldSymbol = new CGFFieldSymbol(fieldSymbol); cgfFieldSymbol.m_AttributeDataList = CGFAttributeDataList.Parse(reporter, fieldSymbol.GetAttributes()); return(cgfFieldSymbol); }
CGFFieldSymbol(Microsoft.CodeAnalysis.IFieldSymbol fieldSymbol) { m_FieldSymbol = fieldSymbol; Microsoft.CodeAnalysis.ITypeSymbol typeSymbol = m_FieldSymbol.Type; if (typeSymbol.TypeKind == Microsoft.CodeAnalysis.TypeKind.Array) { Microsoft.CodeAnalysis.IArrayTypeSymbol arrayTypeSymbol = fieldSymbol.Type as Microsoft.CodeAnalysis.IArrayTypeSymbol; TypeName = arrayTypeSymbol.ElementType.Name + "[]"; UnderlyingSpecialType = arrayTypeSymbol.ElementType.SpecialType; IsSystemType = arrayTypeSymbol.ElementType.SpecialType != Microsoft.CodeAnalysis.SpecialType.None; } else { TypeName = typeSymbol.Name; UnderlyingSpecialType = typeSymbol.SpecialType; IsSystemType = typeSymbol.SpecialType != Microsoft.CodeAnalysis.SpecialType.None; } }