Mike Krüger
|
3ae2fe73c0
|
The formatting visitor is now using an easier visitor pattern.
|
14 years ago |
Daniel Grunwald
|
cfe807ab73
|
Fix "find references" for method group conversions in delegate creation expressions "new Action(MyMethod)"
|
14 years ago |
Daniel Grunwald
|
9859dce24f
|
Improve ResolveAtLocation.
|
14 years ago |
Daniel Grunwald
|
a7245affe6
|
Fixed finding references to method group conversions.
|
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
|
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
|
f3541d4747
|
Fixed accessing protected members through type parameters.
|
14 years ago |
Daniel Grunwald
|
9f5f18eeb2
|
Fixed resolving "condition ? byte : 0".
|
14 years ago |
Daniel Grunwald
|
67d19127f5
|
Fixed bug in reachability analysis when lambda/anonymous method contains a condition or switch statement.
|
14 years ago |
Daniel Grunwald
|
1a7ca154b4
|
Allow conversion of anonymous method with unreachable endpoint to Func<T>.
|
14 years ago |
Daniel Grunwald
|
822fda7e36
|
Handle T[] -> T* and string -> char* conversions in fixed statement initializers.
|
14 years ago |
Daniel Grunwald
|
0f2b0c380e
|
Fixed lambda type inference in delegate creation expressions. ("new Func<int, int>(a => a)")
|
14 years ago |
Daniel Grunwald
|
5c9dfb9896
|
Fixed IUnresolvedTypeDefinition.Resolve() and IAssembly.GetTypeDefinition(IUnresolvedTypeDefinition) to always retrieve the correct version of the type definition for the compilation, even if the IUnresolvedTypeDefinition is a different version.
The two methods now return UnknownType/null if the IUnresolvedTypeDefinition does not belong to the assembly.
|
14 years ago |
Daniel Grunwald
|
79b8b00d29
|
Fix bug in output type inference for explicitly typed lambdas.
|
14 years ago |
Daniel Grunwald
|
a3ff017e9e
|
When a simple-name refers to an instance field in the current class, set TargetResult=new ThisResolveResult().
|
14 years ago |
Daniel Grunwald
|
f2011680e9
|
Fixed resolving LINQ queries that involve transparent identifiers.
|
14 years ago |
Daniel Grunwald
|
418f7090cb
|
Fixed resolving NamedExpressions in anonymous type creation expressions.
|
14 years ago |
Daniel Grunwald
|
7779508e9f
|
Fixed lifting for built-in relational operators.
|
14 years ago |
Daniel Grunwald
|
040b841c3b
|
Fixed resolving equality and relational operators on nullable types.
|
14 years ago |
Daniel Grunwald
|
b803d850f7
|
Do not report invalid conversion from int to void for this code:
void Run(Action<string> a) { }
int M() {
Run(x => $M()$);
}
|
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
|
9af3c040f2
|
Fixed resolving compound assignment operators.
|
14 years ago |
Daniel Grunwald
|
f70a726495
|
Fixed resolving "-2147483648".
|
14 years ago |
Daniel Grunwald
|
f1a1ab32ad
|
Added ResolverTest to consistency check and fixed some crashing bugs in the resolver.
|
14 years ago |
Daniel Grunwald
|
b84c06e5b6
|
Make CSharpResolver immutable.
|
14 years ago |
Daniel Grunwald
|
1467ce3b5b
|
Fixed accessibility check for protected members in outer classes.
|
14 years ago |
Daniel Grunwald
|
f410a2b5d5
|
Enum members are implicitly cast to the underlying type when used in an enum member initializer.
|
14 years ago |
Daniel Grunwald
|
a9c743c0ec
|
Fixed type inference for "condition ? someEnum : 0"
|
14 years ago |
Daniel Grunwald
|
42ce4ca6e1
|
Fixed type inference in foreach when the collection type does not implement IEnumerable.
|
14 years ago |
Daniel Grunwald
|
a6433d43f3
|
Do not try to infer a type from the null literal.
|
14 years ago |
Daniel Grunwald
|
4d4f1f42b7
|
Fixed various resolver bugs.
|
14 years ago |
Daniel Grunwald
|
c4ce9344f0
|
Fixed bug when resolving base constructor calls.
|
14 years ago |
Daniel Grunwald
|
e2cb5467c2
|
Adjust CodeDomConvertVisitor and DefiniteAssignmentAnalysis to new type system.
|
14 years ago |
Daniel Grunwald
|
73438b7288
|
Make CSharpResolveVisitor internal and expose CSharpAstResolver instead.
|
14 years ago |
Daniel Grunwald
|
9d7c018fb2
|
Adjusted C# resolver to refactored type system.
|
14 years ago |
Daniel Grunwald
|
c02e801b5d
|
Introduce ResolvedUsingScope (serves as cache per using-scope; avoids resolving imported namespaces repeatedly).
|
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
|
57d55c651d
|
Fixed resolving simple names within a generic class that refer to a non-generic inner class.
|
14 years ago |
Daniel Grunwald
|
fd91bdccb2
|
Fixed resolving non-generic classes that are nested within generic classes.
|
14 years ago |
Mike Krüger
|
5ee9b73053
|
Added missing unit test.
|
14 years ago |
Daniel Grunwald
|
9ddf9bc442
|
Combine C#-specific UnaryOperatorResolveResult/BinaryOperatorResolveResult and ConditionalOperatorResolveResult classes into a single language-independent OperatorResolveResult class.
|
14 years ago |
Daniel Grunwald
|
4bbcf2dc11
|
Add "public ResolveResult Body { get; }" to LambdaResolveResult.
|
14 years ago |
Daniel Grunwald
|
177fb85a00
|
Fix infinite recursion when resolving the base type of "class Test : Test.Base { public class Base {} }"
|
14 years ago |
Daniel Grunwald
|
b7fcc55308
|
Re-enable resolver unit tests that failed due to the parser returning incorrect positions.
Fixed a bug that caused array initializers to fail to resolve when the parent variable initializer was not being resolved.
|
14 years ago |
Daniel Grunwald
|
0c3d5e06d7
|
Fix bug in ParameterListComparer: the method signatures "Method<T>(T a)" and "Method<S>(S b)" were considered unequal.
|
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 |