public static ResolveResult resolve(this O2AstResolver o2AstResolver, Expression expression, IClass callingClass, IMember callingMember) { o2AstResolver.initialize(expression); if (callingClass != null) // this is needed on the cases where we need to resolve expressions from partial files { o2AstResolver.resolver.CallingClass = callingClass; o2AstResolver.resolver.CallingMember = callingMember; o2AstResolver.resolver.CaretColumn = 0; o2AstResolver.resolver.CaretLine = 0; } var methodDeclaration = expression.parent<MethodDeclaration>(); if (methodDeclaration != null) o2AstResolver.resolver.RunLookupTableVisitor(methodDeclaration); else { var constructorDeclaration = expression.parent<ConstructorDeclaration>(); if (constructorDeclaration != null) o2AstResolver.resolver.RunLookupTableVisitor(constructorDeclaration); } //resolver.Initialize(parseInformation, memberReferenceExpression.StartLocation.Line, memberReferenceExpression.StartLocation.Column); //resolver.RunLookupTableVisitor(memberReferenceExpression); return o2AstResolver.resolver.ResolveInternal(expression, ExpressionContext.Default); }