Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mcs
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2018-01-19 14:33:47 +0300
committerMarek Safar <marek.safar@gmail.com>2018-01-19 16:45:10 +0300
commita5e2efe17f249ae609bdc3015fe05da5750cb224 (patch)
treed087931dcf60cb830869aa35f6237f09e8434753 /mcs
parent8a968a3550d3f4bd47fd1ab2046747f56398e6f0 (diff)
[mcs] Fixes assumption that string class has no implicit/explicit conversion operators
Diffstat (limited to 'mcs')
-rw-r--r--mcs/errors/cs1502-11.cs11
-rw-r--r--mcs/mcs/membercache.cs4
2 files changed, 3 insertions, 12 deletions
diff --git a/mcs/errors/cs1502-11.cs b/mcs/errors/cs1502-11.cs
deleted file mode 100644
index 82dcb3a2c17..00000000000
--- a/mcs/errors/cs1502-11.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// CS1502: The best overloaded method match for `string.String(char*)' has some invalid arguments
-// Line: 8
-
-class C
-{
- static string Prop {
- get {
- return new string ("s");
- }
- }
-}
diff --git a/mcs/mcs/membercache.cs b/mcs/mcs/membercache.cs
index eebf71b844b..ca05d2d7afc 100644
--- a/mcs/mcs/membercache.cs
+++ b/mcs/mcs/membercache.cs
@@ -309,7 +309,6 @@ namespace Mono.CSharp {
//
if (!BuiltinTypeSpec.IsPrimitiveType (dt) || dt.BuiltinType == BuiltinTypeSpec.Type.Char) {
switch (dt.BuiltinType) {
- case BuiltinTypeSpec.Type.String:
case BuiltinTypeSpec.Type.Delegate:
case BuiltinTypeSpec.Type.MulticastDelegate:
break;
@@ -317,6 +316,9 @@ namespace Mono.CSharp {
if (name == Operator.GetMetadataName (Operator.OpType.Implicit) || name == Operator.GetMetadataName (Operator.OpType.Explicit)) {
state |= StateFlags.HasConversionOperator;
} else {
+ if (dt.BuiltinType == BuiltinTypeSpec.Type.String)
+ break;
+
state |= StateFlags.HasUserOperator;
}