diff --git a/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs b/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs index 2f5e1661d9..d67287cdc4 100644 --- a/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs +++ b/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs @@ -54,7 +54,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver /// Moreover, there is the ResolveAll mode - it works similar to resolving mode, but will not switch back to scanning mode. /// The whole subtree will be resolved without notifying the navigator. /// - sealed class ResolveVisitor : IAstVisitor + sealed class ResolveVisitor : IAstVisitor { // The ResolveVisitor is also responsible for handling lambda expressions. @@ -180,7 +180,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver var oldResolver = resolver; resolverEnabled = false; StoreCurrentState(node); - ResolveResult result = node.AcceptVisitor(this, null); + ResolveResult result = node.AcceptVisitor(this); if (result != null) { // If the node was resolved, store the result even though it wasn't requested. // This is necessary so that Visit-methods that decide to always resolve are @@ -224,7 +224,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver cancellationToken.ThrowIfCancellationRequested(); StoreCurrentState(node); var oldResolver = resolver; - result = node.AcceptVisitor(this, null) ?? errorResult; + result = node.AcceptVisitor(this) ?? errorResult; StoreResult(node, result); if (resolver != oldResolver) { // The node changed the resolver state: @@ -537,7 +537,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Track UsingScope - ResolveResult IAstVisitor.VisitCompilationUnit(CompilationUnit unit, object data) + ResolveResult IAstVisitor.VisitCompilationUnit(CompilationUnit unit) { CSharpResolver previousResolver = resolver; try { @@ -550,7 +550,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data) + ResolveResult IAstVisitor.VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration) { CSharpResolver previousResolver = resolver; try { @@ -603,29 +603,29 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitTypeDeclaration(TypeDeclaration typeDeclaration, object data) + ResolveResult IAstVisitor.VisitTypeDeclaration(TypeDeclaration typeDeclaration) { return VisitTypeOrDelegate(typeDeclaration, typeDeclaration.Name, typeDeclaration.TypeParameters.Count); } - ResolveResult IAstVisitor.VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration, object data) + ResolveResult IAstVisitor.VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration) { return VisitTypeOrDelegate(delegateDeclaration, delegateDeclaration.Name, delegateDeclaration.TypeParameters.Count); } #endregion #region Track CurrentMember - ResolveResult IAstVisitor.VisitFieldDeclaration(FieldDeclaration fieldDeclaration, object data) + ResolveResult IAstVisitor.VisitFieldDeclaration(FieldDeclaration fieldDeclaration) { return VisitFieldOrEventDeclaration(fieldDeclaration); } - ResolveResult IAstVisitor.VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration, object data) + ResolveResult IAstVisitor.VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration) { return VisitFieldOrEventDeclaration(fixedFieldDeclaration); } - ResolveResult IAstVisitor.VisitEventDeclaration(EventDeclaration eventDeclaration, object data) + ResolveResult IAstVisitor.VisitEventDeclaration(EventDeclaration eventDeclaration) { return VisitFieldOrEventDeclaration(eventDeclaration); } @@ -656,7 +656,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return typeDef.GetMembers(m => m.ParsedFile == parsedFile && m.Region.IsInside(location), GetMemberOptions.IgnoreInheritedMembers | GetMemberOptions.ReturnMemberDefinitions).FirstOrDefault(); } - ResolveResult IAstVisitor.VisitVariableInitializer(VariableInitializer variableInitializer, object data) + ResolveResult IAstVisitor.VisitVariableInitializer(VariableInitializer variableInitializer) { // Within the variable initializer, the newly declared variable is not yet available: var resolverWithVariable = resolver; @@ -720,7 +720,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitFixedVariableInitializer(FixedVariableInitializer fixedVariableInitializer, object data) + ResolveResult IAstVisitor.VisitFixedVariableInitializer(FixedVariableInitializer fixedVariableInitializer) { if (resolverEnabled) { ResolveResult result = errorResult; @@ -752,22 +752,22 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitMethodDeclaration(MethodDeclaration methodDeclaration, object data) + ResolveResult IAstVisitor.VisitMethodDeclaration(MethodDeclaration methodDeclaration) { return VisitMethodMember(methodDeclaration); } - ResolveResult IAstVisitor.VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration, object data) + ResolveResult IAstVisitor.VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration) { return VisitMethodMember(operatorDeclaration); } - ResolveResult IAstVisitor.VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration, object data) + ResolveResult IAstVisitor.VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration) { return VisitMethodMember(constructorDeclaration); } - ResolveResult IAstVisitor.VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration, object data) + ResolveResult IAstVisitor.VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration) { return VisitMethodMember(destructorDeclaration); } @@ -798,17 +798,17 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, object data) + ResolveResult IAstVisitor.VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration) { return VisitPropertyMember(propertyDeclaration); } - ResolveResult IAstVisitor.VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration, object data) + ResolveResult IAstVisitor.VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration) { return VisitPropertyMember(indexerDeclaration); } - ResolveResult IAstVisitor.VisitCustomEventDeclaration(CustomEventDeclaration eventDeclaration, object data) + ResolveResult IAstVisitor.VisitCustomEventDeclaration(CustomEventDeclaration eventDeclaration) { CSharpResolver oldResolver = resolver; try { @@ -831,7 +831,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitParameterDeclaration(ParameterDeclaration parameterDeclaration, object data) + ResolveResult IAstVisitor.VisitParameterDeclaration(ParameterDeclaration parameterDeclaration) { ScanChildren(parameterDeclaration); if (resolverEnabled) { @@ -862,7 +862,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, object data) + ResolveResult IAstVisitor.VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { ScanChildren(typeParameterDeclaration); if (resolverEnabled) { @@ -888,7 +888,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration, object data) + ResolveResult IAstVisitor.VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration) { CSharpResolver oldResolver = resolver; try { @@ -917,7 +917,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Track CheckForOverflow - ResolveResult IAstVisitor.VisitCheckedExpression(CheckedExpression checkedExpression, object data) + ResolveResult IAstVisitor.VisitCheckedExpression(CheckedExpression checkedExpression) { CSharpResolver oldResolver = resolver; try { @@ -933,7 +933,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitUncheckedExpression(UncheckedExpression uncheckedExpression, object data) + ResolveResult IAstVisitor.VisitUncheckedExpression(UncheckedExpression uncheckedExpression) { CSharpResolver oldResolver = resolver; try { @@ -949,7 +949,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitCheckedStatement(CheckedStatement checkedStatement, object data) + ResolveResult IAstVisitor.VisitCheckedStatement(CheckedStatement checkedStatement) { CSharpResolver oldResolver = resolver; try { @@ -961,7 +961,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitUncheckedStatement(UncheckedStatement uncheckedStatement, object data) + ResolveResult IAstVisitor.VisitUncheckedStatement(UncheckedStatement uncheckedStatement) { CSharpResolver oldResolver = resolver; try { @@ -995,7 +995,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return null; } - ResolveResult IAstVisitor.VisitAnonymousTypeCreateExpression(AnonymousTypeCreateExpression anonymousTypeCreateExpression, object data) + ResolveResult IAstVisitor.VisitAnonymousTypeCreateExpression(AnonymousTypeCreateExpression anonymousTypeCreateExpression) { // 7.6.10.6 Anonymous object creation expressions List properties = new List(); @@ -1032,7 +1032,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Visit Expressions - ResolveResult IAstVisitor.VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression, object data) + ResolveResult IAstVisitor.VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression) { int dimensions = arrayCreateExpression.Arguments.Count; ResolveResult[] sizeArguments; @@ -1107,14 +1107,14 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression, object data) + ResolveResult IAstVisitor.VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression) { // Array initializers are handled by their parent expression. ScanChildren(arrayInitializerExpression); return errorResult; } - ResolveResult IAstVisitor.VisitAsExpression(AsExpression asExpression, object data) + ResolveResult IAstVisitor.VisitAsExpression(AsExpression asExpression) { if (resolverEnabled) { Scan(asExpression.Expression); @@ -1125,7 +1125,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitAssignmentExpression(AssignmentExpression assignmentExpression, object data) + ResolveResult IAstVisitor.VisitAssignmentExpression(AssignmentExpression assignmentExpression) { if (resolverEnabled) { Expression left = assignmentExpression.Left; @@ -1141,7 +1141,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression, object data) + ResolveResult IAstVisitor.VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression) { if (resolverEnabled) { return resolver.ResolveBaseReference(); @@ -1151,7 +1151,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression, object data) + ResolveResult IAstVisitor.VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression) { if (resolverEnabled) { Expression left = binaryOperatorExpression.Left; @@ -1183,7 +1183,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return rr; } - ResolveResult IAstVisitor.VisitCastExpression(CastExpression castExpression, object data) + ResolveResult IAstVisitor.VisitCastExpression(CastExpression castExpression) { if (resolverEnabled) { IType targetType = ResolveType(castExpression.Type); @@ -1197,7 +1197,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitConditionalExpression(ConditionalExpression conditionalExpression, object data) + ResolveResult IAstVisitor.VisitConditionalExpression(ConditionalExpression conditionalExpression) { if (resolverEnabled) { Expression condition = conditionalExpression.Condition; @@ -1218,7 +1218,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression, object data) + ResolveResult IAstVisitor.VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression) { if (resolverEnabled) { return resolver.ResolveDefaultValue(ResolveType(defaultValueExpression.Type)); @@ -1228,7 +1228,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitDirectionExpression(DirectionExpression directionExpression, object data) + ResolveResult IAstVisitor.VisitDirectionExpression(DirectionExpression directionExpression) { if (resolverEnabled) { ResolveResult rr = Resolve(directionExpression.Expression); @@ -1239,12 +1239,12 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitEmptyExpression(EmptyExpression emptyExpression, object data) + ResolveResult IAstVisitor.VisitEmptyExpression(EmptyExpression emptyExpression) { return errorResult; } - ResolveResult IAstVisitor.VisitIndexerExpression(IndexerExpression indexerExpression, object data) + ResolveResult IAstVisitor.VisitIndexerExpression(IndexerExpression indexerExpression) { if (resolverEnabled) { Expression target = indexerExpression.Target; @@ -1265,14 +1265,14 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitIsExpression(IsExpression isExpression, object data) + ResolveResult IAstVisitor.VisitIsExpression(IsExpression isExpression) { ScanChildren(isExpression); return new ResolveResult(resolver.Compilation.FindType(KnownTypeCode.Boolean)); } // NamedArgumentExpression is "identifier: Expression" - ResolveResult IAstVisitor.VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression, object data) + ResolveResult IAstVisitor.VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression) { // The parent expression takes care of handling NamedArgumentExpressions // by calling GetArguments(). @@ -1283,7 +1283,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } // NamedExpression is "identifier = Expression" in object initializers and attributes - ResolveResult IAstVisitor.VisitNamedExpression(NamedExpression namedExpression, object data) + ResolveResult IAstVisitor.VisitNamedExpression(NamedExpression namedExpression) { Expression rhs = namedExpression.Expression; if (rhs is ArrayInitializerExpression) { @@ -1302,12 +1302,12 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitNullReferenceExpression(NullReferenceExpression nullReferenceExpression, object data) + ResolveResult IAstVisitor.VisitNullReferenceExpression(NullReferenceExpression nullReferenceExpression) { return resolver.ResolvePrimitive(null); } - ResolveResult IAstVisitor.VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression, object data) + ResolveResult IAstVisitor.VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression) { if (resolverEnabled || !objectCreateExpression.Initializer.IsNull) { IType type = ResolveType(objectCreateExpression.Type); @@ -1375,7 +1375,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver StoreResult(initializer, voidResult); } - ResolveResult IAstVisitor.VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression, object data) + ResolveResult IAstVisitor.VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression) { if (resolverEnabled) { return Resolve(parenthesizedExpression.Expression); @@ -1385,7 +1385,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression, object data) + ResolveResult IAstVisitor.VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression) { if (resolverEnabled) { ResolveResult target = Resolve(pointerReferenceExpression.Target); @@ -1403,28 +1403,28 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitPrimitiveExpression(PrimitiveExpression primitiveExpression, object data) + ResolveResult IAstVisitor.VisitPrimitiveExpression(PrimitiveExpression primitiveExpression) { return resolver.ResolvePrimitive(primitiveExpression.Value); } - ResolveResult IAstVisitor.VisitSizeOfExpression(SizeOfExpression sizeOfExpression, object data) + ResolveResult IAstVisitor.VisitSizeOfExpression(SizeOfExpression sizeOfExpression) { return resolver.ResolveSizeOf(ResolveType(sizeOfExpression.Type)); } - ResolveResult IAstVisitor.VisitStackAllocExpression(StackAllocExpression stackAllocExpression, object data) + ResolveResult IAstVisitor.VisitStackAllocExpression(StackAllocExpression stackAllocExpression) { ResolveAndProcessConversion(stackAllocExpression.CountExpression, resolver.Compilation.FindType(KnownTypeCode.Int32)); return new ResolveResult(new PointerType(ResolveType(stackAllocExpression.Type))); } - ResolveResult IAstVisitor.VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression, object data) + ResolveResult IAstVisitor.VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression) { return resolver.ResolveThisReference(); } - ResolveResult IAstVisitor.VisitTypeOfExpression(TypeOfExpression typeOfExpression, object data) + ResolveResult IAstVisitor.VisitTypeOfExpression(TypeOfExpression typeOfExpression) { if (resolverEnabled) { return resolver.ResolveTypeOf(ResolveType(typeOfExpression.Type)); @@ -1434,7 +1434,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression, object data) + ResolveResult IAstVisitor.VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression) { if (resolverEnabled) { return Resolve(typeReferenceExpression.Type); @@ -1444,7 +1444,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, object data) + ResolveResult IAstVisitor.VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression) { if (resolverEnabled) { Expression expr = unaryOperatorExpression.Expression; @@ -1475,7 +1475,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitUndocumentedExpression(UndocumentedExpression undocumentedExpression, object data) + ResolveResult IAstVisitor.VisitUndocumentedExpression(UndocumentedExpression undocumentedExpression) { ScanChildren(undocumentedExpression); IType resultType; @@ -1558,7 +1558,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return mrr != null && mrr.Member.IsStatic; } - ResolveResult IAstVisitor.VisitIdentifierExpression(IdentifierExpression identifierExpression, object data) + ResolveResult IAstVisitor.VisitIdentifierExpression(IdentifierExpression identifierExpression) { // Note: this method is not called when it occurs in a situation where an ambiguity between // simple names and type names might occur. @@ -1572,7 +1572,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression, object data) + ResolveResult IAstVisitor.VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression) { // target = Resolve(identifierExpression = memberReferenceExpression.Target) // trr = ResolveType(identifierExpression) @@ -1617,7 +1617,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver IsTargetOfInvocation(memberReferenceExpression)); } - ResolveResult IAstVisitor.VisitInvocationExpression(InvocationExpression invocationExpression, object data) + ResolveResult IAstVisitor.VisitInvocationExpression(InvocationExpression invocationExpression) { // rr = Resolve(invocationExpression) // target = Resolve(memberReferenceExpression = invocationExpression.Target) @@ -1674,7 +1674,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Lamdbas / Anonymous Functions - ResolveResult IAstVisitor.VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression, object data) + ResolveResult IAstVisitor.VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression) { return HandleExplicitlyTypedLambda( anonymousMethodExpression.Parameters, anonymousMethodExpression.Body, @@ -1683,7 +1683,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver isAsync: anonymousMethodExpression.IsAsync); } - ResolveResult IAstVisitor.VisitLambdaExpression(LambdaExpression lambdaExpression, object data) + ResolveResult IAstVisitor.VisitLambdaExpression(LambdaExpression lambdaExpression) { bool isExplicitlyTyped = false; bool isImplicitlyTyped = false; @@ -2304,7 +2304,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver Scan(body); AnalyzeLambdaVisitor alv = new AnalyzeLambdaVisitor(); - body.AcceptVisitor(alv, null); + body.AcceptVisitor(alv); isValidAsVoidMethod = (alv.ReturnExpressions.Count == 0); if (alv.HasVoidReturnStatements) { returnExpressions = EmptyList.Instance; @@ -2411,12 +2411,12 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return false; } - sealed class AnalyzeLambdaVisitor : DepthFirstAstVisitor + sealed class AnalyzeLambdaVisitor : DepthFirstAstVisitor { public bool HasVoidReturnStatements; public List ReturnExpressions = new List(); - public override object VisitReturnStatement(ReturnStatement returnStatement, object data) + public override void VisitReturnStatement(ReturnStatement returnStatement) { Expression expr = returnStatement.Expression; if (expr.IsNull) { @@ -2424,25 +2424,23 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } else { ReturnExpressions.Add(expr); } - return null; } - public override object VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression, object data) + public override void VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression) { // don't go into nested lambdas - return null; } - public override object VisitLambdaExpression(LambdaExpression lambdaExpression, object data) + public override void VisitLambdaExpression(LambdaExpression lambdaExpression) { - return null; + // don't go into nested lambdas } } #endregion #endregion #region Local Variable Scopes (Block Statements) - ResolveResult IAstVisitor.VisitBlockStatement(BlockStatement blockStatement, object data) + ResolveResult IAstVisitor.VisitBlockStatement(BlockStatement blockStatement) { resolver = resolver.PushBlock(); ScanChildren(blockStatement); @@ -2450,7 +2448,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return voidResult; } - ResolveResult IAstVisitor.VisitUsingStatement(UsingStatement usingStatement, object data) + ResolveResult IAstVisitor.VisitUsingStatement(UsingStatement usingStatement) { resolver = resolver.PushBlock(); if (resolverEnabled) { @@ -2468,7 +2466,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return resolverEnabled ? voidResult : null; } - ResolveResult IAstVisitor.VisitFixedStatement(FixedStatement fixedStatement, object data) + ResolveResult IAstVisitor.VisitFixedStatement(FixedStatement fixedStatement) { resolver = resolver.PushBlock(); IType type = ResolveType(fixedStatement.Type); @@ -2481,7 +2479,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return voidResult; } - ResolveResult IAstVisitor.VisitForeachStatement(ForeachStatement foreachStatement, object data) + ResolveResult IAstVisitor.VisitForeachStatement(ForeachStatement foreachStatement) { resolver = resolver.PushBlock(); IVariable v; @@ -2506,7 +2504,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return voidResult; } - ResolveResult IAstVisitor.VisitSwitchStatement(SwitchStatement switchStatement, object data) + ResolveResult IAstVisitor.VisitSwitchStatement(SwitchStatement switchStatement) { resolver = resolver.PushBlock(); ScanChildren(switchStatement); @@ -2514,7 +2512,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return voidResult; } - ResolveResult IAstVisitor.VisitCatchClause(CatchClause catchClause, object data) + ResolveResult IAstVisitor.VisitCatchClause(CatchClause catchClause) { resolver = resolver.PushBlock(); if (string.IsNullOrEmpty(catchClause.VariableName)) { @@ -2533,7 +2531,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region VariableDeclarationStatement - ResolveResult IAstVisitor.VisitVariableDeclarationStatement(VariableDeclarationStatement variableDeclarationStatement, object data) + ResolveResult IAstVisitor.VisitVariableDeclarationStatement(VariableDeclarationStatement variableDeclarationStatement) { bool isConst = (variableDeclarationStatement.Modifiers & Modifiers.Const) != 0; if (!isConst && IsVar(variableDeclarationStatement.Type) && variableDeclarationStatement.Variables.Count == 1) { @@ -2563,7 +2561,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Condition Statements - ResolveResult IAstVisitor.VisitForStatement(ForStatement forStatement, object data) + ResolveResult IAstVisitor.VisitForStatement(ForStatement forStatement) { resolver = resolver.PushBlock(); var result = HandleConditionStatement(forStatement); @@ -2571,17 +2569,17 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return result; } - ResolveResult IAstVisitor.VisitIfElseStatement(IfElseStatement ifElseStatement, object data) + ResolveResult IAstVisitor.VisitIfElseStatement(IfElseStatement ifElseStatement) { return HandleConditionStatement(ifElseStatement); } - ResolveResult IAstVisitor.VisitWhileStatement(WhileStatement whileStatement, object data) + ResolveResult IAstVisitor.VisitWhileStatement(WhileStatement whileStatement) { return HandleConditionStatement(whileStatement); } - ResolveResult IAstVisitor.VisitDoWhileStatement(DoWhileStatement doWhileStatement, object data) + ResolveResult IAstVisitor.VisitDoWhileStatement(DoWhileStatement doWhileStatement) { return HandleConditionStatement(doWhileStatement); } @@ -2609,7 +2607,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Return Statements - ResolveResult IAstVisitor.VisitReturnStatement(ReturnStatement returnStatement, object data) + ResolveResult IAstVisitor.VisitReturnStatement(ReturnStatement returnStatement) { if (resolverEnabled && !resolver.IsWithinLambdaExpression && resolver.CurrentMember != null) { IType type = resolver.CurrentMember.ReturnType; @@ -2625,7 +2623,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return resolverEnabled ? voidResult : null; } - ResolveResult IAstVisitor.VisitYieldReturnStatement(YieldReturnStatement yieldStatement, object data) + ResolveResult IAstVisitor.VisitYieldReturnStatement(YieldReturnStatement yieldStatement) { if (resolverEnabled && resolver.CurrentMember != null) { IType returnType = resolver.CurrentMember.ReturnType; @@ -2637,41 +2635,41 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return resolverEnabled ? voidResult : null; } - ResolveResult IAstVisitor.VisitYieldBreakStatement(YieldBreakStatement yieldBreakStatement, object data) + ResolveResult IAstVisitor.VisitYieldBreakStatement(YieldBreakStatement yieldBreakStatement) { return voidResult; } #endregion #region Other statements - ResolveResult IAstVisitor.VisitExpressionStatement(ExpressionStatement expressionStatement, object data) + ResolveResult IAstVisitor.VisitExpressionStatement(ExpressionStatement expressionStatement) { ScanChildren(expressionStatement); return voidResult; } - ResolveResult IAstVisitor.VisitLockStatement(LockStatement lockStatement, object data) + ResolveResult IAstVisitor.VisitLockStatement(LockStatement lockStatement) { ScanChildren(lockStatement); return voidResult; } - ResolveResult IAstVisitor.VisitEmptyStatement(EmptyStatement emptyStatement, object data) + ResolveResult IAstVisitor.VisitEmptyStatement(EmptyStatement emptyStatement) { return voidResult; } - ResolveResult IAstVisitor.VisitBreakStatement(BreakStatement breakStatement, object data) + ResolveResult IAstVisitor.VisitBreakStatement(BreakStatement breakStatement) { return voidResult; } - ResolveResult IAstVisitor.VisitContinueStatement(ContinueStatement continueStatement, object data) + ResolveResult IAstVisitor.VisitContinueStatement(ContinueStatement continueStatement) { return voidResult; } - ResolveResult IAstVisitor.VisitThrowStatement(ThrowStatement throwStatement, object data) + ResolveResult IAstVisitor.VisitThrowStatement(ThrowStatement throwStatement) { if (resolverEnabled) { ResolveAndProcessConversion(throwStatement.Expression, resolver.Compilation.FindType(KnownTypeCode.Exception)); @@ -2682,34 +2680,34 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitTryCatchStatement(TryCatchStatement tryCatchStatement, object data) + ResolveResult IAstVisitor.VisitTryCatchStatement(TryCatchStatement tryCatchStatement) { ScanChildren(tryCatchStatement); return voidResult; } - ResolveResult IAstVisitor.VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement, object data) + ResolveResult IAstVisitor.VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement) { ScanChildren(gotoCaseStatement); return voidResult; } - ResolveResult IAstVisitor.VisitGotoDefaultStatement(GotoDefaultStatement gotoDefaultStatement, object data) + ResolveResult IAstVisitor.VisitGotoDefaultStatement(GotoDefaultStatement gotoDefaultStatement) { return voidResult; } - ResolveResult IAstVisitor.VisitGotoStatement(GotoStatement gotoStatement, object data) + ResolveResult IAstVisitor.VisitGotoStatement(GotoStatement gotoStatement) { return voidResult; } - ResolveResult IAstVisitor.VisitLabelStatement(LabelStatement labelStatement, object data) + ResolveResult IAstVisitor.VisitLabelStatement(LabelStatement labelStatement) { return voidResult; } - ResolveResult IAstVisitor.VisitUnsafeStatement(UnsafeStatement unsafeStatement, object data) + ResolveResult IAstVisitor.VisitUnsafeStatement(UnsafeStatement unsafeStatement) { return voidResult; } @@ -2842,7 +2840,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Attributes - ResolveResult IAstVisitor.VisitAttribute(Attribute attribute, object data) + ResolveResult IAstVisitor.VisitAttribute(Attribute attribute) { var type = ResolveType(attribute.Type); @@ -2864,7 +2862,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return rr; } - ResolveResult IAstVisitor.VisitAttributeSection(AttributeSection attributeSection, object data) + ResolveResult IAstVisitor.VisitAttributeSection(AttributeSection attributeSection) { ScanChildren(attributeSection); return voidResult; @@ -2872,26 +2870,26 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Using Declaration - ResolveResult IAstVisitor.VisitUsingDeclaration(UsingDeclaration usingDeclaration, object data) + ResolveResult IAstVisitor.VisitUsingDeclaration(UsingDeclaration usingDeclaration) { ScanChildren(usingDeclaration); return voidResult; } - ResolveResult IAstVisitor.VisitUsingAliasDeclaration(UsingAliasDeclaration usingDeclaration, object data) + ResolveResult IAstVisitor.VisitUsingAliasDeclaration(UsingAliasDeclaration usingDeclaration) { ScanChildren(usingDeclaration); return voidResult; } - ResolveResult IAstVisitor.VisitExternAliasDeclaration(ExternAliasDeclaration externAliasDeclaration, object data) + ResolveResult IAstVisitor.VisitExternAliasDeclaration(ExternAliasDeclaration externAliasDeclaration) { return voidResult; } #endregion #region Type References - ResolveResult IAstVisitor.VisitPrimitiveType(PrimitiveType primitiveType, object data) + ResolveResult IAstVisitor.VisitPrimitiveType(PrimitiveType primitiveType) { if (!resolverEnabled) return null; @@ -2908,7 +2906,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return new TypeResolveResult(type); } - ResolveResult IAstVisitor.VisitSimpleType(SimpleType simpleType, object data) + ResolveResult IAstVisitor.VisitSimpleType(SimpleType simpleType) { if (!resolverEnabled) { ScanChildren(simpleType); @@ -2939,7 +2937,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return rr; } - ResolveResult IAstVisitor.VisitMemberType(MemberType memberType, object data) + ResolveResult IAstVisitor.VisitMemberType(MemberType memberType) { ResolveResult target; if (memberType.IsDoubleColon && memberType.Target is SimpleType) { @@ -2966,7 +2964,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return rr; } - ResolveResult IAstVisitor.VisitComposedType(ComposedType composedType, object data) + ResolveResult IAstVisitor.VisitComposedType(ComposedType composedType) { if (!resolverEnabled) { ScanChildren(composedType); @@ -2987,7 +2985,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Query Expressions - ResolveResult IAstVisitor.VisitQueryExpression(QueryExpression queryExpression, object data) + ResolveResult IAstVisitor.VisitQueryExpression(QueryExpression queryExpression) { resolver = resolver.PushBlock(); var oldQueryResult = currentQueryResult; @@ -3118,7 +3116,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return null; } - ResolveResult IAstVisitor.VisitQueryFromClause(QueryFromClause queryFromClause, object data) + ResolveResult IAstVisitor.VisitQueryFromClause(QueryFromClause queryFromClause) { ResolveResult result = errorResult; ResolveResult expr = Resolve(queryFromClause.Expression); @@ -3172,7 +3170,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return new ConversionResolveResult(result.Type, result, Conversion.IdentityConversion); } - ResolveResult IAstVisitor.VisitQueryContinuationClause(QueryContinuationClause queryContinuationClause, object data) + ResolveResult IAstVisitor.VisitQueryContinuationClause(QueryContinuationClause queryContinuationClause) { ResolveResult rr = Resolve(queryContinuationClause.PrecedingQuery); IType variableType = GetTypeForQueryVariable(rr.Type); @@ -3183,7 +3181,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return WrapResult(rr); } - ResolveResult IAstVisitor.VisitQueryLetClause(QueryLetClause queryLetClause, object data) + ResolveResult IAstVisitor.VisitQueryLetClause(QueryLetClause queryLetClause) { ResolveResult expr = Resolve(queryLetClause.Expression); StoreCurrentState(queryLetClause.IdentifierToken); @@ -3200,7 +3198,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitQueryJoinClause(QueryJoinClause queryJoinClause, object data) + ResolveResult IAstVisitor.VisitQueryJoinClause(QueryJoinClause queryJoinClause) { // join v in expr on onExpr equals equalsExpr [into g] ResolveResult inResult = null; @@ -3349,7 +3347,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return rr; } - ResolveResult IAstVisitor.VisitQueryWhereClause(QueryWhereClause queryWhereClause, object data) + ResolveResult IAstVisitor.VisitQueryWhereClause(QueryWhereClause queryWhereClause) { ResolveResult condition = Resolve(queryWhereClause.Condition); IType boolType = resolver.Compilation.FindType(KnownTypeCode.Boolean); @@ -3368,7 +3366,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } } - ResolveResult IAstVisitor.VisitQuerySelectClause(QuerySelectClause querySelectClause, object data) + ResolveResult IAstVisitor.VisitQuerySelectClause(QuerySelectClause querySelectClause) { if (currentQueryResult == null) { ScanChildren(querySelectClause); @@ -3431,7 +3429,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return null; } - ResolveResult IAstVisitor.VisitQueryGroupClause(QueryGroupClause queryGroupClause, object data) + ResolveResult IAstVisitor.VisitQueryGroupClause(QueryGroupClause queryGroupClause) { if (currentQueryResult == null) { ScanChildren(queryGroupClause); @@ -3450,7 +3448,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return resolver.ResolveInvocation(methodGroup, arguments); } - ResolveResult IAstVisitor.VisitQueryOrderClause(QueryOrderClause queryOrderClause, object data) + ResolveResult IAstVisitor.VisitQueryOrderClause(QueryOrderClause queryOrderClause) { foreach (QueryOrdering ordering in queryOrderClause.Orderings) { currentQueryResult = Resolve(ordering); @@ -3458,7 +3456,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver return WrapResult(currentQueryResult); } - ResolveResult IAstVisitor.VisitQueryOrdering(QueryOrdering queryOrdering, object data) + ResolveResult IAstVisitor.VisitQueryOrdering(QueryOrdering queryOrdering) { if (currentQueryResult == null) { ScanChildren(queryOrdering); @@ -3482,7 +3480,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Constructor Initializer - ResolveResult IAstVisitor.VisitConstructorInitializer(ConstructorInitializer constructorInitializer, object data) + ResolveResult IAstVisitor.VisitConstructorInitializer(ConstructorInitializer constructorInitializer) { if (!resolverEnabled) { ScanChildren(constructorInitializer); @@ -3504,56 +3502,56 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #region Other Nodes // Token nodes - ResolveResult IAstVisitor.VisitIdentifier(Identifier identifier, object data) + ResolveResult IAstVisitor.VisitIdentifier(Identifier identifier) { return null; } - ResolveResult IAstVisitor.VisitComment (Comment comment, object data) + ResolveResult IAstVisitor.VisitComment (Comment comment) { return null; } - ResolveResult IAstVisitor.VisitPreProcessorDirective (PreProcessorDirective preProcessorDirective, object data) + ResolveResult IAstVisitor.VisitPreProcessorDirective (PreProcessorDirective preProcessorDirective) { return null; } - ResolveResult IAstVisitor.VisitCSharpTokenNode(CSharpTokenNode cSharpTokenNode, object data) + ResolveResult IAstVisitor.VisitCSharpTokenNode(CSharpTokenNode cSharpTokenNode) { return null; } - ResolveResult IAstVisitor.VisitArraySpecifier(ArraySpecifier arraySpecifier, object data) + ResolveResult IAstVisitor.VisitArraySpecifier(ArraySpecifier arraySpecifier) { return null; } - ResolveResult IAstVisitor.VisitPatternPlaceholder(AstNode placeholder, ICSharpCode.NRefactory.PatternMatching.Pattern pattern, object data) + ResolveResult IAstVisitor.VisitPatternPlaceholder(AstNode placeholder, ICSharpCode.NRefactory.PatternMatching.Pattern pattern) { return null; } // Nodes where we just need to visit the children: - ResolveResult IAstVisitor.VisitAccessor(Accessor accessor, object data) + ResolveResult IAstVisitor.VisitAccessor(Accessor accessor) { ScanChildren(accessor); return voidResult; } - ResolveResult IAstVisitor.VisitSwitchSection(SwitchSection switchSection, object data) + ResolveResult IAstVisitor.VisitSwitchSection(SwitchSection switchSection) { ScanChildren(switchSection); return voidResult; } - ResolveResult IAstVisitor.VisitCaseLabel(CaseLabel caseLabel, object data) + ResolveResult IAstVisitor.VisitCaseLabel(CaseLabel caseLabel) { ScanChildren(caseLabel); return voidResult; } - ResolveResult IAstVisitor.VisitConstraint(Constraint constraint, object data) + ResolveResult IAstVisitor.VisitConstraint(Constraint constraint) { ScanChildren(constraint); return voidResult; @@ -3561,7 +3559,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver #endregion #region Documentation Reference - ResolveResult IAstVisitor.VisitDocumentationReference(DocumentationReference documentationReference, object data) + ResolveResult IAstVisitor.VisitDocumentationReference(DocumentationReference documentationReference) { throw new NotImplementedException(); }