Daniel Grunwald
17c4315974
Rename IsExtensionMethodGroupConversion -> DelegateCapturesFirstArgument.
12 years ago
Erik Källén
02cc0a38c6
Added property Conversion.IsExtensionMethodGroupConversion to determine whether a method group conversion is being performed on an extension method using extension method invocation syntax (eg. Func<int> f = myEnumerable.Single).
12 years ago
Daniel Grunwald
d1be453e2a
Fix return value conversion within async lambda.
12 years ago
Daniel Grunwald
ee5d87a0f8
Add year to license headers.
13 years ago
Erik Källén
4c1dbb9adc
Added information about built-in conversions before and after a user-defined conversion operator is applied
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
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
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
Daniel Grunwald
d4df4d9790
Fixed using implicit user-defined conversions as part of explicit conversions.
13 years ago
Daniel Grunwald
27978f44c7
Add 'allowOptionalParameters' flag to MGRR.PerformOverloadResolution.
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
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
Daniel Grunwald
62a8b20208
Fix icsharpcode/NRefactory#89 : explicit conversion of array to generic IList fails when array covariance is used.
13 years ago
Daniel Grunwald
26409db2bb
Implemented explicit conversions - invalid casts now resolve to Conversion.None.
13 years ago
Daniel Grunwald
979fa91a2e
Fix icsharpcode/NRefactory#88 : implicit conversion between type parameters.
...
Convert from T to U where T : class, U. Only T is known to be a reference type; U is not.
C# still classifies the conversion as a reference conversion.
13 years ago
Daniel Grunwald
ea5e36c836
Fix icsharpcode/NRefactory#60 : Implicit type parameter conversion
13 years ago
Daniel Grunwald
ed0e4c5197
Fixed conversions from "dynamic" - these only exist from expressions, not from the type (this was causing subtle issues with type inference).
13 years ago
Mike Krüger
a4344c8737
Checked for possible null refrence exception.
13 years ago
Erik Källén
951d9a6bb0
Fix for the issue that user-defined explicit conversions don't work.
13 years ago
Siegfried Pammer
a9d876904b
Implemented CSharpResolver.ResolveConditionFalse() for resolving operator false() calls.
...
Add message to ErrorResolveResult.
Expose CSharpOutputVisitor.PrintPrimitiveValue and CSharpConversions.IsImplicitReferenceConversion/IsBoxingConversion.
13 years ago
Daniel Grunwald
d4dd1648e8
Implemented the new options for overridden members in FindReferences.
14 years ago
Daniel Grunwald
bf42e08dd4
Add support for IReadOnlyList<T>.
14 years ago
Daniel Grunwald
b491ea85c3
Rename Conversions to CSharpConversions.
14 years ago
Daniel Grunwald
3df0cd3946
Make CSharpAstResolver and Conversions thread-safe.
14 years ago
Daniel Grunwald
24d2d195f9
Use specialized method for MethodGroupConversion. icsharpcode/NRefactory#21
14 years ago
Daniel Grunwald
d2f2feb994
Remove the thread-local cache; it seems to cause massive memory leaks.
14 years ago
Daniel Grunwald
e5217c2c13
Fixed bug in 'BetterConversion' implementation - converting to Func<> delegates is better than converting to Action<> delegates.
14 years ago
Daniel Grunwald
7971ad21f9
Check IType.Kind instead of using SpecialType.X.Equals().
14 years ago
Daniel Grunwald
942b4f70ef
Move ConversionResoleResult to ICSharpCode.NRefactory.Semantics.
...
Boxing conversion for attribute arguments is now used consistently in C# type system and Cecil-loaded type system.
14 years ago
Daniel Grunwald
9d7c018fb2
Adjusted C# resolver to refactored type system.
14 years ago
Daniel Grunwald
f9916d89ef
WIP: Type system refactoring.
14 years ago
Daniel Grunwald
f631199013
Type system refactoring: split unresolved/resolved type systems.
14 years ago
Daniel Grunwald
a73d7ba8db
Added async/await support to the resolver.
14 years ago
Daniel Grunwald
a1a80b63c9
Fix StackOverflowException when subtyping does not terminate due to expansive inheritance.
14 years ago
Daniel Grunwald
b5b2408cbc
Move NRefactory.CSharp to separate assembly.
14 years ago
Daniel Grunwald
e37dc4b6c7
Move ResolveResults to NR.Semantics
14 years ago
Daniel Grunwald
7f11fe3be0
Fixed bugs that caused some nodes not to be resolved in a "resolve all" run.
14 years ago
Daniel Grunwald
f807e6166f
TypeSystemAstBuilder: when a type reference cannot be resolved but is a C# type reference, output the original C# code that was used to created the type reference.
14 years ago
Daniel Grunwald
47eb18363e
Reuse Conversions instance across multiple files by storing it in the CacheManager.
14 years ago
Daniel Grunwald
2be1569cc7
Add cache for implicit conversions for 25% performance boost.
...
Also did some improvements to interning.
14 years ago
Daniel Grunwald
7a2c59ae4a
Add GetMemberOptions.
14 years ago
Daniel Grunwald
c9c204439f
Fix type inference and overload resolution when a class type parameter gets substituted by a method type parameter.
14 years ago
Daniel Grunwald
b52a348373
More work on lambda expressions.
14 years ago
Daniel Grunwald
43b5897b21
Add support for user-defined operators.
14 years ago