Mike Krüger
bcc014222b
ReducedMethod in CSharpInvocationResolveResult is now lazy.
13 years ago
Mike Krüger
a72b135df5
Changed C# invocation result that the reduced extension method has
...
it's own property.
13 years ago
Mike Krüger
a963bdbcf5
Fix build.
13 years ago
Mike Krüger
d19a6d2c96
Moved SpecializedMember property 'Substitution' to IMember and
...
SpecializedMethod property 'TypeArguments' to IMethod.
That should eliminate the need to upcast these objects & makes the
type system more flexible - that's needed for the
ReducedExtensionMethod model.
13 years ago
Mike Krüger
7962d8f80d
Reduced extension methods are now always non static methods with
...
extension method flag set.
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
c76240e934
Revert "Revert "[TypeSystem] Specialized method now contains a flag specifying the""
...
This reverts commit b758539431
.
13 years ago
Mike Krüger
b758539431
Revert "[TypeSystem] Specialized method now contains a flag specifying the"
...
This reverts commit bd1811cc18
.
Conflicts:
ICSharpCode.NRefactory.CSharp/Resolver/OverloadResolution.cs
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
cb38702a55
Secured potential cast exception.
...
TODO: Work on a better representation of that case.
13 years ago
Mike Krüger
bd1811cc18
[TypeSystem] Specialized method now contains a flag specifying the
...
extension method mode.
There needs some distinction between extension methods calles foo.Ext
(); and Class.Ext(foo); even if it's the same method call - it's
different for code completion tooltips.
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
Daniel Grunwald
f159810013
Remove unresolved references from new Alias*ResolveResult.
13 years ago
Mike Krüger
eae3641201
Corrected namespace.
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
52d116ea88
Allow calling FindReferences without IUnresolvedFile.
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
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
64b8217fb0
Don't produce NegativeRelationalExpressionIssue inside operator declarations
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
Mike Krüger
8cee8f532c
Fixed some compiler warnings.
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
Mike Krüger
ae20e4929a
[Resolver] Fixed unexpected resolver crash.
...
Test Case:
Action foo = f => { f.FirstOrDefault(l=>); };
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
b500f468ac
Fix #120 : RedundantNamespaceUsageIssue bad handling of using aliases
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
ee2bf2d209
Fix method-group conversions involving extension methods.
13 years ago
Daniel Grunwald
59cc439a30
Added delegate compatibility check to method-group conversions.
13 years ago
Mike Krüger
24e7b56613
Fixed cyclic constants.
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
989a895856
Improved last fix - gixe back the alias node & resolve result for the
...
import node.
13 years ago