diff --git a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorCode.cs b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorCode.cs
index ba257895ef81..59db8a11357d 100644
--- a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorCode.cs
+++ b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorCode.cs
@@ -67,7 +67,6 @@ internal enum ErrorCode
ERR_CantCallSpecialMethod = 571,
ERR_BogusType = 648,
ERR_MissingPredefinedMember = 656,
- ERR_LiteralDoubleCast = 664,
ERR_ConvertToStaticClass = 716,
ERR_GenericArgIsStaticClass = 718,
ERR_PartialMethodToDelegate = 762,
diff --git a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorFacts.cs b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorFacts.cs
index bd4f0e5cbe44..5d40a48e3001 100644
--- a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorFacts.cs
+++ b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Errors/ErrorFacts.cs
@@ -197,9 +197,6 @@ public static string GetMessage(ErrorCode code)
case ErrorCode.ERR_MissingPredefinedMember:
codeStr = SR.MissingPredefinedMember;
break;
- case ErrorCode.ERR_LiteralDoubleCast:
- codeStr = SR.LiteralDoubleCast;
- break;
case ErrorCode.ERR_ConvertToStaticClass:
codeStr = SR.ConvertToStaticClass;
break;
diff --git a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Conversion.cs b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Conversion.cs
index 27565387701e..79375d16cd29 100644
--- a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Conversion.cs
+++ b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Conversion.cs
@@ -395,16 +395,6 @@ private Expr mustConvertCore(Expr expr, ExprClass destExpr, CONVERTTYPE flags)
exprResult.SetError();
return exprResult;
}
- else if (ftSrc == FUNDTYPE.FT_R8 && (0 != (expr.Flags & EXPRFLAG.EXF_LITERALCONST)) &&
- (dest.isPredefType(PredefinedType.PT_FLOAT) || dest.isPredefType(PredefinedType.PT_DECIMAL)))
- {
- // Tried to assign a literal of type double (the default) to a float or decimal. Suggest use
- // of a 'F' or 'M' suffix.
- ErrorContext.Error(ErrorCode.ERR_LiteralDoubleCast, dest.isPredefType(PredefinedType.PT_DECIMAL) ? "M" : "F", dest);
- exprResult = ExprFactory.CreateCast(0, destExpr, expr);
- exprResult.SetError();
- return exprResult;
- }
}
if (expr.Type is NullType && dest.fundType() != FUNDTYPE.FT_REF)
diff --git a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs
index ee75e7b38e9d..6575a9e6904d 100644
--- a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs
+++ b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs
@@ -1617,15 +1617,8 @@ private bool IsMatchingStatic(SymWithType swt, Expr pObject)
if (isStatic)
{
- // If we're static and we don't have an object, or we have an implicit this,
- // then we're ok. The reason implicit this is ok is because if the user is
- // just typing something like:
- //
- // Equals(
- //
- // then the implicit this can bind to statics.
-
- if (pObject == null || ((pObject.Flags & EXPRFLAG.EXF_IMPLICITTHIS) != 0))
+ // If we're static and we don't have an object then we're ok.
+ if (pObject == null)
{
return true;
}
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.de.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.de.xlf
index 2b711789e8d6..fcf1f5ebf387 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.de.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.de.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'Der vom Compiler angeforderte Member "{0}.{1}" fehlt.
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- Literale vom Typ "double" können nicht implizit in den {1}-Typ konvertiert werden. Verwenden Sie ein {0}-Suffix, um ein Literal mit diesem Typ zu erstellen.
- Cannot convert to static type '{0}'Die Konvertierung in den statischen {0}-Typ ist nicht möglich.
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.es.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.es.xlf
index 48d7be0aed03..7c8bcbb767e4 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.es.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.es.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'Falta el miembro '{0}.{1}' que requiere el compilador.
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- El literal de tipo double no se puede convertir implícitamente en el tipo '{1}'; use un sufijo '{0}' para crear un literal de este tipo
- Cannot convert to static type '{0}'No se puede convertir en el tipo estático '{0}'
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.fr.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.fr.xlf
index a75a68a0e146..f44e839bb42e 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.fr.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.fr.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'Membre requis par le compilateur '{0}.{1}' manquant
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- Impossible de convertir implicitement un littéral de type double en type '{1}' ; utilisez un suffixe '{0}' pour créer un littéral de ce type
- Cannot convert to static type '{0}'Impossible de convertir en type static '{0}'
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.it.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.it.xlf
index e51ad4d2ce7e..39ed1483d7cd 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.it.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.it.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'Manca il membro '{0}.{1}', necessario per il compilatore.
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- Impossibile convertire in modo implicito il valore letterale di tipo double nel tipo '{1}'. Utilizzare un suffisso '{0}' per creare un valore letterale di questo tipo
- Cannot convert to static type '{0}'Impossibile convertire nel tipo statico '{0}'
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ja.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ja.xlf
index d05d8cf93847..639e4b850b33 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ja.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ja.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'コンパイラが必要とするメンバー '{0}.{1}' がありません
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- 型 double のリテラルを暗黙的に型 '{1}' に変換することはできません。'{0}' サフィックスを使用して、この型のリテラルを作成してください
- Cannot convert to static type '{0}'スタティック型 '{0}' へ変換できません
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ko.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ko.xlf
index aada956e7caf..414ec8ef2d62 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ko.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ko.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}''{0}.{1}' 멤버를 필요로 하는 컴파일러가 없습니다.
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- double 형식의 리터럴을 암시적으로 '{1}' 형식으로 변환할 수 없습니다. 이 형식의 리터럴을 만들려면 '{0}' 접미사를 사용하십시오.
- Cannot convert to static type '{0}''{0}' 정적 형식으로 변환할 수 없습니다.
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ru.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ru.xlf
index 10409cbe6b58..ad064828fab7 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ru.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.ru.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'Отсутствует обязательный для компилятора член "{0}.{1}"
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- Литерал с типом double не может быть неявно преобразован к типу "{1}"; для создания литерала этого типа следует воспользоваться суффиксом "{0}"
- Cannot convert to static type '{0}'Не удается выполнить преобразование к статическому типу "{0}"
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hans.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hans.xlf
index 8dc5b47f8d69..075c8f7e36f5 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hans.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hans.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'缺少编译器要求的成员“{0}.{1}”
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- 无法将 Double 类型隐式转换为“{1}”类型;请使用“{0}”后缀创建此类型
- Cannot convert to static type '{0}'无法转换为静态类型“{0}”
diff --git a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hant.xlf b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hant.xlf
index 5f13492decb5..377dd858d6a9 100644
--- a/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hant.xlf
+++ b/src/Microsoft.CSharp/src/MultilingualResources/Microsoft.CSharp.zh-Hant.xlf
@@ -302,10 +302,6 @@
Missing compiler required member '{0}.{1}'遺漏編譯器所需的成員 '{0}.{1}'
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
- 不能隱含將型別 double 的常值轉換為型別 '{1}'; 請使用 '{0}' 後置字元來建立此型別的常值
- Cannot convert to static type '{0}'無法轉換為靜態型別 '{0}'
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.de.resx b/src/Microsoft.CSharp/src/Resources/Strings.de.resx
index 812a8dfee57c..0a9178cf2978 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.de.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.de.resx
@@ -234,9 +234,6 @@
Der vom Compiler angeforderte Member "{0}.{1}" fehlt.
-
- Literale vom Typ "double" können nicht implizit in den {1}-Typ konvertiert werden. Verwenden Sie ein {0}-Suffix, um ein Literal mit diesem Typ zu erstellen.
-
Die Konvertierung in den statischen {0}-Typ ist nicht möglich.
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.es.resx b/src/Microsoft.CSharp/src/Resources/Strings.es.resx
index db244c4e8031..94cd9e08772c 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.es.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.es.resx
@@ -234,9 +234,6 @@
Falta el miembro '{0}.{1}' que requiere el compilador.
-
- El literal de tipo double no se puede convertir implícitamente en el tipo '{1}'; use un sufijo '{0}' para crear un literal de este tipo
-
No se puede convertir en el tipo estático '{0}'
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.fr.resx b/src/Microsoft.CSharp/src/Resources/Strings.fr.resx
index 0f4fa44929d6..9711fa4b9dd1 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.fr.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.fr.resx
@@ -234,9 +234,6 @@
Membre requis par le compilateur '{0}.{1}' manquant
-
- Impossible de convertir implicitement un littéral de type double en type '{1}' ; utilisez un suffixe '{0}' pour créer un littéral de ce type
-
Impossible de convertir en type static '{0}'
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.it.resx b/src/Microsoft.CSharp/src/Resources/Strings.it.resx
index c417d81d539e..d27f93243c1c 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.it.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.it.resx
@@ -234,9 +234,6 @@
Manca il membro '{0}.{1}', necessario per il compilatore.
-
- Impossibile convertire in modo implicito il valore letterale di tipo double nel tipo '{1}'. Utilizzare un suffisso '{0}' per creare un valore letterale di questo tipo
-
Impossibile convertire nel tipo statico '{0}'
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.ja.resx b/src/Microsoft.CSharp/src/Resources/Strings.ja.resx
index ea0a92c76914..0d2aca0204e5 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.ja.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.ja.resx
@@ -234,9 +234,6 @@
コンパイラが必要とするメンバー '{0}.{1}' がありません
-
- 型 double のリテラルを暗黙的に型 '{1}' に変換することはできません。'{0}' サフィックスを使用して、この型のリテラルを作成してください
-
スタティック型 '{0}' へ変換できません
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.ko.resx b/src/Microsoft.CSharp/src/Resources/Strings.ko.resx
index 500a3e4caac5..e6d924e2b12b 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.ko.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.ko.resx
@@ -234,9 +234,6 @@
'{0}.{1}' 멤버를 필요로 하는 컴파일러가 없습니다.
-
- double 형식의 리터럴을 암시적으로 '{1}' 형식으로 변환할 수 없습니다. 이 형식의 리터럴을 만들려면 '{0}' 접미사를 사용하십시오.
-
'{0}' 정적 형식으로 변환할 수 없습니다.
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.resx b/src/Microsoft.CSharp/src/Resources/Strings.resx
index b51391b37b1f..b733b4882f77 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.resx
@@ -280,9 +280,6 @@
Missing compiler required member '{0}.{1}'
-
- Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type
-
Cannot convert to static type '{0}'
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.ru.resx b/src/Microsoft.CSharp/src/Resources/Strings.ru.resx
index 3f05651376a5..51380f868b3b 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.ru.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.ru.resx
@@ -234,9 +234,6 @@
Отсутствует обязательный для компилятора член "{0}.{1}"
-
- Литерал с типом double не может быть неявно преобразован к типу "{1}"; для создания литерала этого типа следует воспользоваться суффиксом "{0}"
-
Не удается выполнить преобразование к статическому типу "{0}"
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.zh-Hans.resx b/src/Microsoft.CSharp/src/Resources/Strings.zh-Hans.resx
index f9702cf3b891..88fe803447e3 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.zh-Hans.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.zh-Hans.resx
@@ -234,9 +234,6 @@
缺少编译器要求的成员“{0}.{1}”
-
- 无法将 Double 类型隐式转换为“{1}”类型;请使用“{0}”后缀创建此类型
-
无法转换为静态类型“{0}”
diff --git a/src/Microsoft.CSharp/src/Resources/Strings.zh-Hant.resx b/src/Microsoft.CSharp/src/Resources/Strings.zh-Hant.resx
index 10580f78a0b0..444b25f16565 100644
--- a/src/Microsoft.CSharp/src/Resources/Strings.zh-Hant.resx
+++ b/src/Microsoft.CSharp/src/Resources/Strings.zh-Hant.resx
@@ -234,9 +234,6 @@
遺漏編譯器所需的成員 '{0}.{1}'
-
- 不能隱含將型別 double 的常值轉換為型別 '{1}'; 請使用 '{0}' 後置字元來建立此型別的常值
-
無法轉換為靜態型別 '{0}'