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)); }
public void onMethodDeclaration(MethodDeclaration methodDeclaration) { var mappedMethod = O2AstResolver.getMappedIMethod(methodDeclaration); if (mappedMethod != null && mappedMethod.DotNetName == MethodToFind) { foundMethods.Add(methodDeclaration); } }
public List <MethodDeclaration> find(string methodToFind) { MethodToFind = methodToFind; foreach (var compilationUnit in O2AstResolver.parsedCompilationUnits.Values) { //graphAstVisitor.parseInformation.SetCompilationUnit(compilationUnit); O2AstResolver.setCurrentCompilationUnit(compilationUnit); compilationUnit.AcceptVisitor(O2AstVisitor, null); // var methods = compilationUnit.methods(); // foreach (var method in methods) // { // method. // } } return(foundMethods); }
public static ResolveResult resolve(this O2AstResolver o2AstResolver, Expression expression) { //return o2AstResolver.resolve(expression,null,null); return(o2AstResolver.resolve(expression, null, null)); }
public static void initialize(this O2AstResolver o2AstResolver, Expression expression) { o2AstResolver.resolver.Initialize(o2AstResolver.parseInformation, expression.StartLocation.Line, expression.StartLocation.Column); }
public AstMethodFinder(O2AstResolver o2AstResolver) { O2AstResolver = o2AstResolver; foundMethods = new List <MethodDeclaration>(); setupAstVisitor(); }