Mike Krüger
4267ccc4f2
Readded resolver test for bug 10201.
...
The bug wasn't valid but we didn't check this case.
13 years ago
Mike Krüger
8ca2d99ebc
Revert "Fixed type parameter substitution bug."
...
The old behaviour was correct.
This reverts commit c43a501ec4
.
13 years ago
Mike Krüger
c43a501ec4
Fixed type parameter substitution bug.
13 years ago
Mike Krüger
0eecec2cce
Adjusted unit tests to the new invocation resolve result.
13 years ago
Mike Krüger
8bd796eb7f
Revert "Revert "Implemented reduced method model.""
...
This reverts commit bdc1fde9d6
.
13 years ago
Mike Krüger
765d917d60
Revert "Revert "Implemented better way to handle extension method invocations.""
...
This reverts commit c26f61e813
.
13 years ago
Mike Krüger
c26f61e813
Revert "Implemented better way to handle extension method invocations."
...
This reverts commit d4afc75413
.
13 years ago
Mike Krüger
bdc1fde9d6
Revert "Implemented reduced method model."
...
This reverts commit aaf2b919f5
.
13 years ago
Mike Krüger
aaf2b919f5
Implemented reduced method model.
13 years ago
Mike Krüger
d4afc75413
Implemented better way to handle extension method invocations.
13 years ago
Mike Krüger
52350b3cb0
Fixed resolve at location failure.
...
Was caused by an invalid token location.
13 years ago
Erik Källén
867dc8b407
Improved handling of sizeof(x)
...
Resolving sizeof(x) will now return a specialized ResolveResult that contains information about which type's size is investigated. Also fixed a bug that caused sizeof() to not work when initializing fields. Also made sizeof(SomeEnum) resolve to the size of the underlying type which is illegal according to the spec, but mcs allows it.
13 years ago
Daniel Grunwald
b3c2b0ce9d
ResolveAtLocation: when resolving a method name within a delegate creation, produce MemberResolveResult instead of MethodGroupResolveResult.
13 years ago
Mike Krüger
11aa873815
Added alias resolve results that allows it to handle aliases more
...
easily. (for example showing them in the text editor UI or tooltips)
13 years ago
Mike Krüger
e00a9b8696
Fixed member lookup bug.
13 years ago
Daniel Grunwald
ba484d5a93
[OverloadResolution] Don't use specialized parameters of indexers or non-generic methods within generic methods for "more specific formal parameter" check; always use the original parameters like we do with generic methods.
13 years ago
Erik Källén
a069866ae9
Return ambiguous conversions when no most specific source and/or destination could be found.
13 years ago
Erik Källén
f186d27cc9
Return a CSharpInvocationResolveResult with the type overridden with Dynamic instead of a converted invocation
13 years ago
Erik Källén
32561557df
Look at implicit and explicit user-defined conversion operators at the same time when performing an explicit conversion
13 years ago
Daniel Grunwald
e29ca30daf
More implicit conversion unit tests.
13 years ago
Daniel Grunwald
d175871ede
Add another explicit conversion test.
13 years ago
Daniel Grunwald
c1b2b13b5d
Ambiguous conversions don't cause overload resolution to pick a different overload.
13 years ago
Erik Källén
a1337bc954
A new user-defined operator try
13 years ago
Daniel Grunwald
902f00ee7a
Add support for user-defined conversions starting with a constant expression conversion.
13 years ago
Daniel Grunwald
7eeb0348fb
Attempt that makes all the implicit conversions work
...
However, it introduces a problem with one of the explicit conversion test cases.
13 years ago
Daniel Grunwald
056a45df44
Fix a bug with type inference for nullables.
...
Simplify away the unnecessary portion of Mike's fix in df57e1d
, and add an additional test for it.
13 years ago
Mike Krüger
df57e1dad2
Fixed bug in type inference.
13 years ago
Daniel Grunwald
46881e6ea2
Un-ignore some tests that were fixed
13 years ago
Erik Källén
7b1530e814
When invoking a method with dynamic arguments (and there is only one applicable method), convert the result of the call to 'dynamic' ( http://blogs.msdn.com/b/ericlippert/archive/2012/10/22/a-method-group-of-one.aspx )
13 years ago
Erik Källén
e8131dca28
Implemented selection of best user-defined conversion operator according to §6.4.4 and §6.4.5
13 years ago
Erik Källén
06703663f0
Fixed await with generic awaiter types.
13 years ago
erikkallen
c615c9f730
Make 'await' resolve as in the C# 5.0 language specification.
...
This means that the awaiter type must implement INotifyCompletion and can optionally implement ICriticalNotifyCompletion.
13 years ago
Daniel Grunwald
d4df4d9790
Fixed using implicit user-defined conversions as part of explicit conversions.
13 years ago
Daniel Grunwald
8f459c2460
Ensure IVariable.ConstantValue has the correct type when a local constant declaration involves an implicit conversion
...
E.g. "const int MAXSIZE = ushort.MaxValue;"
13 years ago
Daniel Grunwald
27978f44c7
Add 'allowOptionalParameters' flag to MGRR.PerformOverloadResolution.
13 years ago
Daniel Grunwald
5e01d285d0
Fix InvalidCastException on invalid compile-time constant casts.
13 years ago
Daniel Grunwald
59cc439a30
Added delegate compatibility check to method-group conversions.
13 years ago
Erik Källén
8d5536e2f6
Handle await expressions in find references.
13 years ago
Erik Källén
66f51bff3a
Added a separate AwaitResolveResult
13 years ago
Mike Krüger
aebedfea27
Added test that exposes a problem with empty namespaces.
13 years ago
Daniel Grunwald
80ba1b3dba
Always set ArrayCreateResolveResult.SizeArguments. Closes #111 .
13 years ago
Daniel Grunwald
875ee8d079
Add test: implicit long constant expression conversion to short
13 years ago
Daniel Grunwald
47aa23e828
Add unit tests that check that a class hiding a field depends on the generics.
13 years ago
Daniel Grunwald
5670248de8
Add 'FullTypeName' struct, and use it to represent type names.
...
Contains some breaking API changes:
- Renamed 'FullNameAndTypeParameterCount' to 'TopLevelTypeName'.
- IAssembly.GetTypeDefinition(string, string, int) -> IAssembly.GetTypeDefinition(TopLevelTypeName)
- IAssembly.GetTypeDefinition(IUnresolvedTypeDefinition) -> IAssembly.GetTypeDefinition(FullTypeName)
- GetClassTypeReference now supports nested types
13 years ago
Daniel Grunwald
31474555b2
Avoid looking for inner classes when resolving a class constraint.
13 years ago
Mike Krüger
3dbba420eb
[Resolver] Fixed infinite loop issue when a type inherits from type
...
parameter.
13 years ago
Daniel Grunwald
c403f389b7
Move the fix for #94 into CSharpConversions.IsConstraintConvertible.
...
Also added a couple of additional unit tests for constraint validation.
13 years ago
erikkallen
a00495c22b
Test that demonstrates that a generic method cannot be invoked with a nullable type argument.
13 years ago
erikkallen
d857a8ba8d
Test demonstrating issue with duplicate using directive.
13 years ago
Daniel Grunwald
c3a31c9c81
Fix #92 : The resolver does not check type constraints on calls to generic methods
13 years ago