Daniel Grunwald
ee5d87a0f8
Add year to license headers.
13 years ago
Daniel Grunwald
4324311718
Use IMember.Specialize() instead of 'new SpecializedMember()', and remove unnecessary upcasts.
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
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
Erik Källén
f186d27cc9
Return a CSharpInvocationResolveResult with the type overridden with Dynamic instead of a converted invocation
13 years ago
Daniel Grunwald
c1b2b13b5d
Ambiguous conversions don't cause overload resolution to pick a different overload.
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
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
5e01d285d0
Fix InvalidCastException on invalid compile-time constant casts.
13 years ago
Erik Källén
66f51bff3a
Added a separate AwaitResolveResult
13 years ago
Daniel Grunwald
80ba1b3dba
Always set ArrayCreateResolveResult.SizeArguments. Closes #111 .
13 years ago
Erik Källén
0af0137bdb
Use NamedArgumentResolveResult for dynamic invocations.
13 years ago
Daniel Grunwald
d6b4420940
Introduced NamedArgumentResolveResult.
13 years ago
Daniel Grunwald
4513b6e57c
Avoid NullReferenceExceptions now that MethodGroupResolveResult.TargetResult can be null.
13 years ago
Erik Källén
916cc2a1f2
Fixed issues pointed out by Daniel.
13 years ago
Erik Källén
ecd3de7ece
Implementation of feature
13 years ago
Erik Källén
ce5a42c4ee
Tests for the improved dynamic handling.
13 years ago
Daniel Grunwald
93e2def893
Fix #75 : conversion between delegate types
13 years ago
Daniel Grunwald
cc35fcc606
Revert f01a4b2
and 58c4ec8
.
...
Fixed small issue in CSharpResolver.GetExtensionMethods: when type parameters are provided explicitly, use the specialized method for the eligibility check.
13 years ago
Mike Krüger
58c4ec8010
[Resolver] Fixed type inference use case.
...
Daniel: The fix may not be correct - it's hard to tell which side
effects that change will cause.
13 years ago
Mike Krüger
f01a4b2c8d
[Resolver] Interfere extension method type arguments from the target
...
type if no parameter is given.
13 years ago
Daniel Grunwald
e62a04692b
Fixed resolving compile-time operations on enum types with an underlying type smaller than int. (always use unchecked context for the cast back to enum)
13 years ago
Daniel Grunwald
a7816c2f51
Fixed handling of user-defined conversions between primitive types.
...
Closes icsharpcode/NRefactory#68 .
13 years ago
Erik Källén
0bf9891a8e
ResolveResults for dynamic expressions
13 years ago
Daniel Grunwald
5d2fee1b90
Add CompilerSettings class instead of using the one from Mono.CSharp.
...
Added ResolveResult-treeview to NR.Demo.
13 years ago
Daniel Grunwald
585ae50c2f
CSharpAstResolver: don't return the same ResolveResult for two different nodes.
...
(make clones when using caches)
Closes icsharpcode/NRefactory#46 .
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
731ddf7c39
Add ConversionResolveResult.CheckForOverflow
13 years ago
Daniel Grunwald
4fe7c72b16
Fixed context for determining accessibility of protected inner classes when resolving a base type reference (NameLookupTests.InheritFromProtectedInnerClassTest)
13 years ago
Daniel Grunwald
3915a4ccb1
Add IsEligibleExtensionMethod to public API.
14 years ago
Daniel Grunwald
9771b6db8f
Fix icsharpcode/NRefactory#33 : Determining if a ThisResolveResult represents this. or base.
14 years ago
Daniel Grunwald
8d0abbe870
Fix icsharpcode/NRefactory#30 : Target of extension method invocation
14 years ago
Daniel Grunwald
777be39cca
Rewrite of the substitution logic in SpecializedMember.
...
Specializing an already-specialized member now produces the same result as performing the two specializations in a single step.
14 years ago
Daniel Grunwald
e213758ec7
Replace LazyInit.ReadBarrier() with LazyInit.VolatileRead().
14 years ago
Daniel Grunwald
d338acc553
Fix icsharpcode/NRefactory#18 : ResolveResult for object creation
14 years ago
Daniel Grunwald
51bd4164fe
Correctly set OperatorResolveResult.IsLiftedOperator in more cases.
14 years ago
Daniel Grunwald
55f858efb2
Fix icsharpcode/NRefactory#26 : Static methods are reported as having "this" as the target
14 years ago
Daniel Grunwald
c27f57f4a1
Fix icsharpcode/NRefactory#25 : OperatorResolveResult.IsLiftedOperator for unary operators
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
a731b9371e
Fix icsharpcode/NRefactory#19 : OperatorResolveResult.IsLiftedOperator is false for lifted built-in operators.
14 years ago
Daniel Grunwald
c6ae6c30ee
Script refactoring.
14 years ago
Mike Krüger
de6870b067
Fixed completion unit test.
14 years ago
Daniel Grunwald
46254b3b0d
Add support for resolving "operator true".
14 years ago
Daniel Grunwald
77ea4dae30
Report more types of invalid equality comparisons as errors.
...
Mark an anonymous function conversion as invalid if there are compiler errors in the implicitly typed lambda.
14 years ago
Daniel Grunwald
bb822e94d4
Allow using AstType.ToTypeReference().Resolve(compilation.TypeResolveContext) - this will now resolve in the global namespace.
...
Fixed increment operator on System.Char.
14 years ago
Daniel Grunwald
9f5f18eeb2
Fixed resolving "condition ? byte : 0".
14 years ago
Daniel Grunwald
7971ad21f9
Check IType.Kind instead of using SpecialType.X.Equals().
14 years ago