Skip to content

Commit 9a695c3

Browse files
author
Robert Holt
committed
Fix coercion errors
1 parent ce854ff commit 9a695c3

File tree

4 files changed

+21
-21
lines changed

4 files changed

+21
-21
lines changed

PSCompatibilityAnalyzer/Microsoft.PowerShell.CrossCompatibility/Data/Types/AvailableTypeData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public object Clone()
3636
return new AvailableTypeData()
3737
{
3838
TypeAccelerators = (JsonCaseInsensitiveStringDictionary<TypeAcceleratorData>)TypeAccelerators.Clone(),
39-
Assemblies = (JsonCaseInsensitiveStringDictionary<AssemblyData>)Assemblies.Clone()
39+
Assemblies = (JsonDictionary<string, AssemblyData>)Assemblies.Clone()
4040
};
4141
}
4242
}

PSCompatibilityAnalyzer/Microsoft.PowerShell.CrossCompatibility/Data/Types/MemberData.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ public class MemberData : ICloneable
2626
/// Fields on the type, keyed by field name.
2727
/// </summary>
2828
[DataMember(EmitDefaultValue = false)]
29-
public JsonCaseInsensitiveStringDictionary<FieldData> Fields { get; set; }
29+
public JsonDictionary<string, FieldData> Fields { get; set; }
3030

3131
/// <summary>
3232
/// Properties on this type, keyed by property name.
3333
/// </summary>
3434
[DataMember(EmitDefaultValue = false)]
35-
public JsonCaseInsensitiveStringDictionary<PropertyData> Properties { get; set; }
35+
public JsonDictionary<string, PropertyData> Properties { get; set; }
3636

3737
/// <summary>
3838
/// Indexers on the type.
@@ -44,19 +44,19 @@ public class MemberData : ICloneable
4444
/// Methods on the type, keyed by method name.
4545
/// </summary>
4646
[DataMember(EmitDefaultValue = false)]
47-
public JsonCaseInsensitiveStringDictionary<MethodData> Methods { get; set; }
47+
public JsonDictionary<string, MethodData> Methods { get; set; }
4848

4949
/// <summary>
5050
/// Events on the type, keyed by event name.
5151
/// </summary>
5252
[DataMember(EmitDefaultValue = false)]
53-
public JsonCaseInsensitiveStringDictionary<EventData> Events { get; set; }
53+
public JsonDictionary<string, EventData> Events { get; set; }
5454

5555
/// <summary>
5656
/// Types nested within the type, keyed by type name.
5757
/// </summary>
5858
[DataMember(EmitDefaultValue = false)]
59-
public JsonCaseInsensitiveStringDictionary<TypeData> NestedTypes { get; set; }
59+
public JsonDictionary<string, TypeData> NestedTypes { get; set; }
6060

6161
/// <summary>
6262
/// Create a deep clone of the member data object.
@@ -66,12 +66,12 @@ public object Clone()
6666
return new MemberData()
6767
{
6868
Constructors = Constructors?.Select(c => (string[])c.Clone()).ToArray(),
69-
Events = (JsonCaseInsensitiveStringDictionary<EventData>)Events?.Clone(),
70-
Fields = (JsonCaseInsensitiveStringDictionary<FieldData>)Fields?.Clone(),
69+
Events = (JsonDictionary<string, EventData>)Events?.Clone(),
70+
Fields = (JsonDictionary<string, FieldData>)Fields?.Clone(),
7171
Indexers = Indexers?.Select(i => (IndexerData)i.Clone()).ToArray(),
72-
Methods = (JsonCaseInsensitiveStringDictionary<MethodData>)Methods?.Clone(),
73-
NestedTypes = (JsonCaseInsensitiveStringDictionary<TypeData>)NestedTypes?.Clone(),
74-
Properties = (JsonCaseInsensitiveStringDictionary<PropertyData>)Properties?.Clone(),
72+
Methods = (JsonDictionary<string, MethodData>)Methods?.Clone(),
73+
NestedTypes = (JsonDictionary<string, TypeData>)NestedTypes?.Clone(),
74+
Properties = (JsonDictionary<string, PropertyData>)Properties?.Clone(),
7575
};
7676
}
7777
}

PSCompatibilityAnalyzer/Microsoft.PowerShell.CrossCompatibility/Utility/ProfileCombination.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,11 @@ private static object Union(MemberData thisMembers, MemberData thatMembers)
192192

193193
thisMembers.Constructors = ParameterUnion(thisMembers.Constructors, thatMembers.Constructors);
194194

195-
thisMembers.Events = StringDictionaryUnion(thisMembers.Events, thatMembers.Events);
196-
thisMembers.Fields = StringDictionaryUnion(thisMembers.Fields, thatMembers.Fields);
197-
thisMembers.Methods = StringDictionaryUnion(thisMembers.Methods, thatMembers.Methods, Union);
198-
thisMembers.NestedTypes = StringDictionaryUnion(thisMembers.NestedTypes, thatMembers.NestedTypes, Union);
199-
thisMembers.Properties = StringDictionaryUnion(thisMembers.Properties, thatMembers.Properties, Union);
195+
thisMembers.Events = DictionaryUnion(thisMembers.Events, thatMembers.Events);
196+
thisMembers.Fields = DictionaryUnion(thisMembers.Fields, thatMembers.Fields);
197+
thisMembers.Methods = DictionaryUnion(thisMembers.Methods, thatMembers.Methods, Union);
198+
thisMembers.NestedTypes = DictionaryUnion(thisMembers.NestedTypes, thatMembers.NestedTypes, Union);
199+
thisMembers.Properties = DictionaryUnion(thisMembers.Properties, thatMembers.Properties, Union);
200200

201201
return thisMembers;
202202
}

PSCompatibilityAnalyzer/Microsoft.PowerShell.CrossCompatibility/Utility/TypeDataConversion.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -271,12 +271,12 @@ private static MemberData AssembleMembers(Type type, BindingFlags memberBinding)
271271
return new MemberData()
272272
{
273273
Constructors = constructors.Any() ? constructors.Select(c => AssembleConstructor(c)).ToArray() : null,
274-
Events = events.Any() ? new JsonCaseInsensitiveStringDictionary<EventData>(events.ToDictionary(e => e.Name, e => AssembleEvent(e))) : null,
275-
Fields = fields.Any() ? new JsonCaseInsensitiveStringDictionary<FieldData>(fields.ToDictionary(f => f.Name, f => AssembleField(f))) : null,
274+
Events = events.Any() ? new JsonDictionary<string, EventData>(events.ToDictionary(e => e.Name, e => AssembleEvent(e))) : null,
275+
Fields = fields.Any() ? new JsonDictionary<string, FieldData>(fields.ToDictionary(f => f.Name, f => AssembleField(f))) : null,
276276
Indexers = indexers.Any() ? indexers.Select(i => AssembleIndexer(i)).ToArray() : null,
277-
Methods = methods.Any() ? new JsonCaseInsensitiveStringDictionary<MethodData>(methods.ToDictionary(m => m.Key, m => AssembleMethod(m.Value))) : null,
278-
NestedTypes = nestedTypes.Any() ? new JsonCaseInsensitiveStringDictionary<TypeData>(nestedTypes.ToDictionary(t => t.Name, t => AssembleType(t))) : null,
279-
Properties = properties.Any() ? new JsonCaseInsensitiveStringDictionary<PropertyData>(properties.ToDictionary(p => p.Name, p => AssembleProperty(p))) : null
277+
Methods = methods.Any() ? new JsonDictionary<string, MethodData>(methods.ToDictionary(m => m.Key, m => AssembleMethod(m.Value))) : null,
278+
NestedTypes = nestedTypes.Any() ? new JsonDictionary<string, TypeData>(nestedTypes.ToDictionary(t => t.Name, t => AssembleType(t))) : null,
279+
Properties = properties.Any() ? new JsonDictionary<string, PropertyData>(properties.ToDictionary(p => p.Name, p => AssembleProperty(p))) : null
280280
};
281281
}
282282

0 commit comments

Comments
 (0)