Age | Commit message (Collapse) | Author |
|
* mcs/ecore.cs (Expression.ExprClassToResolveFlags): New. Broken out of ...
(Expression.Resolve): ... this. Use it. Remove bogus code
allowing ExprClass.Type and ExprClass.Namespace for
ResolveFlags.VariableOrValue.
(Expression.Resolve) [1-argument variant]: Change default resolve
flags based on language version.
(Expression.Error_UnexpectedKind): Use a simple string array
rather than an ArrayList.
* mcs/expression.cs (TypeOf.DoResolve): Set eclass to ExprClass.Value,
not ExprClass.Type.
(TypeOfVoid.DoResolve): Likewise.
(MemberAccess.DoResolve) [3-argument variant]: Make private. Drop
flags argument -- it always has the same value.
* errors/cs0119-2.cs: New test from #75080.
svn path=/trunk/mcs/; revision=45321
|
|
Fix #75088.
* ecore.cs (Expression.MemberLookupFailed): Add CS0122 check in
the "almostMatchedMember" case too.
* typemanager.cs (Closure.CheckValidFamilyAccess): Add anything
that failed the accessibility checks to 'almost_match'.
In errors:
* cs0122-16.cs: New test from #75088.
svn path=/trunk/mcs/; revision=45190
|
|
Improve user-defined conversion handling.
* convert.cs (GetConversionOperators): Rewrite. Return only the
applicable operators.
(AddConversionOperators): New. Helper for GetConversionOperators.
(FindMostEncompassedType, FindMostEncompassingType): Verify that
there is only one most encompassed/encompassing type.
(FindMostSpecificSource, FindMostSpecificTarget): Remove
"applicable operator" handling.
(UserConversion): Move cache here from GetConversionOperators.
Directly cache the chosen operator, rather than the whole
MethodGroup.
(ExplicitNumericConversion): Fix buggy implementation of Decimal
case. Allow conversion of decimal to sbyte and byte too.
* expression.cs (EmptyExpression.Grab, EmptyExpression.Release):
New static methods. Used to avoid allocating EmptyExpressions in
convert.cs.
In errors:
* cs0173-3.cs: Rename from cs0172-2.cs. CSC 1.1 reports CS0173,
CSC 2.0.40607 reports CS0172. CS0173 is somewhat more appropriate
since the conversion is ambiguous.
In tests:
* test-387.cs: New test from #54928.
svn path=/trunk/mcs/; revision=45046
|
|
svn path=/trunk/mcs/; revision=44811
|
|
svn path=/trunk/mcs/; revision=44809
|
|
svn path=/trunk/mcs/; revision=44779
|
|
svn path=/trunk/mcs/; revision=44775
|
|
svn path=/trunk/mcs/; revision=44770
|
|
* mcs-known-issues, gmcs-known-issues: Updated.
* *-expect-*, *-ignore-*: Removed; we don't need them anymore with
the new test runner.
svn path=/trunk/mcs/; revision=44767
|
|
svn path=/trunk/mcs/; revision=44745
|
|
svn path=/trunk/mcs/; revision=44664
|
|
svn path=/trunk/mcs/; revision=44561
|
|
svn path=/trunk/mcs/; revision=44517
|
|
svn path=/trunk/mcs/; revision=44492
|
|
svn path=/trunk/mcs/; revision=44387
|
|
svn path=/trunk/mcs/; revision=44327
|
|
* Makefile: Use TestRunner under NET_2_0.
svn path=/trunk/mcs/; revision=44252
|
|
svn path=/trunk/mcs/; revision=41981
|
|
svn path=/trunk/mcs/; revision=41937
|
|
svn path=/trunk/mcs/; revision=41929
|