@@ -27,6 +27,22 @@ public SerializableDeclarationTree(SerializableDeclaration node, IEnumerable<Ser
27
27
}
28
28
}
29
29
30
+ [ DataContract ]
31
+ public class SerializableMemberAttribute
32
+ {
33
+ public SerializableMemberAttribute ( string name , IEnumerable < string > values )
34
+ {
35
+ Name = name ;
36
+ Values = values ;
37
+ }
38
+
39
+ [ DataMember ( IsRequired = true ) ]
40
+ public readonly string Name ;
41
+
42
+ [ DataMember ( IsRequired = true ) ]
43
+ public readonly IEnumerable < string > Values ;
44
+ }
45
+
30
46
public class SerializableDeclaration
31
47
{
32
48
public SerializableDeclaration ( )
@@ -36,9 +52,9 @@ public SerializableDeclaration(Declaration declaration)
36
52
{
37
53
IdentifierName = declaration . IdentifierName ;
38
54
39
- //todo: figure these out
40
- //Annotations = declaration.Annotations.Cast<AnnotationBase>().ToArray();
41
- //Attributes = declaration.Attributes.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.ToArray() );
55
+ Attributes = declaration . Attributes
56
+ . Select ( a => new SerializableMemberAttribute ( a . Key , a . Value ) )
57
+ . ToList ( ) ;
42
58
43
59
ParentScope = declaration . ParentScope ;
44
60
TypeHint = declaration . TypeHint ;
@@ -56,6 +72,8 @@ public SerializableDeclaration(Declaration declaration)
56
72
ComponentName = declaration . QualifiedName . QualifiedModuleName . ComponentName ;
57
73
}
58
74
75
+ public List < SerializableMemberAttribute > Attributes { get ; set ; }
76
+
59
77
public string IdentifierName { get ; set ; }
60
78
61
79
public string MemberName { get ; set ; }
0 commit comments