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
Daniel Grunwald
37626e1bc7
Expose conversions as part of the ResolveResult.
14 years ago
Daniel Grunwald
f86a014b9c
Put MIT license into the file headers.
14 years ago
Daniel Grunwald
8c8caf76f6
Implemented type inference for implicitly typed lambdas.
14 years ago
Daniel Grunwald
6792a0c76a
Report which kind of conversion was found.
14 years ago
Daniel Grunwald
d59fd2bc56
C# Resolver: preparations for lambda support
14 years ago
Daniel Grunwald
bb2f93a24b
NRefactory bug fixes:
...
- Use IType.Equals() instead of == operator
- Change handling of partially parameterized types in IType.GetNestedTypes so that we don't leak type parameters from the wrong context
- Add support for unbound types to C# resolver (e.g. in attribute arguments)
- C# Parser: preserve variance modifier
- Ensure all interface members are marked as 'abstract'
- Add support for [TypeForwardedTo] and [ComImport] to CecilLoader.
14 years ago
Daniel Grunwald
daf0f21607
Fixed some bugs related to conversions of type parameters.
14 years ago
Daniel Grunwald
5ae4d6070a
Conversions: add support for user-defined implicit conversions.
14 years ago
Mike Krüger
6a85f0c50c
Renamed GetClass-> GetTypeDefinition;
14 years ago
Daniel Grunwald
eaee5bf5ee
Use static instances on KnownTypeReference for the built-in C# types.
15 years ago
Daniel Grunwald
dc8d4cadcb
Use (Namespace,Name) pair instead of FullName.
15 years ago
Daniel Grunwald
24eb146c74
Add 'CommonTypeInference'.
15 years ago
Daniel Grunwald
80a859c0cc
Add support for pointer types (implicit pointer conversion; operators defined on pointers).
15 years ago