Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Strips SecurityCritical, SecuritySafeCritical, SecurityPermission,
EnvironmentPermission, and PermissionSet attributes.
Also removes empty defines these left behind.
Patterns used:
^.*\[(System\.Security\.)?SecurityCritical\](\s*//.*|\s*)$[\r\n]*
^.*#if FEATURE_CORECLR[\s\r\n]*(#else)?[\s\r\n]*#endif.*[\r\n]*
^.*\[(System\.Security\.Permissions\.)?SecurityPermission(Attribute)?\([^)]*\)\](\s*//.*|\s*)$[\r\n]*
|
|
|
|
|
|
I audited all uses of FEATURE_SERIALIZATION in coreclr and removed most of the ifdef'ing. The remaining uses of FEATURE_SERIALIZATION are primary related to actually implementing formatters, CAS-related types, and a few types I've left non-serializable (e.g. ExecutionContext) but that we can revisit later if needed.
|
|
- Update the model.xml file to expose the serialization primitives from the runtime, e.g. [Serializable], [NonSerialized], ISerializable, etc.
- Tweak how FEATURE_SERIALIZATION is used on some types. ISerializable and IDeserializationCallback are not ifdef'd based on FEATURE_SERIALIZATION, but their members are, which means there are some types which are implementing the interface but have the implementation of the interface's method ifdef'd. This commit removes the ifdef'ing of the methods on the interface, and then ifdef's the implementation of the interface on the offending types.
|
|
We're adding BinaryFormatter to corefx. At present, ISerializable and friends are declared in corefx rather than being exported from System.Private.Corelib. As a result, there are a fair number of types in mscorlib that try to customize their serialization, but because they're doing so using interfaces that aren't exported (and in some cases, aren't even currently compiled in), a formatter outside of Corelib sees a type as serializable but then tries to serialize it using the default rules and fails.
This commit ifdefs the [Serializable] attribute on types that try to customize their serialization. If in the future we decide we want to expose ISerializable and friends from Corelib in order to enable the serialization of these types (which we'll likely want to), e.g Delegate, Exception, etc. we'll need to turn on FEATURE_SERIALIZATION for coreclr, and these will all come back automatically.
|
|
* Remove Encoding FEATURE_* defines from mscorlib
* Remove strange character from Encoding.cs
|
|
|
|
|
|
[tfs-changeset: 1407945]
|