org.sonar.java.resolve
Class Resolve

java.lang.Object
  extended by org.sonar.java.resolve.Resolve

public class Resolve
extends Object

Routines for name resolution.

Lookup by name and then filter by type is performant, because amount of symbols with same name are relatively small.

Naming conventions: env - is the environment where the symbol was mentioned site - is the type of which symbol is a member name - is the symbol's name

TODO site should be represented by class Type


Nested Class Summary
static class Resolve.AccessErrorSymbol
           
static class Resolve.AmbiguityErrorSymbol
           
static class Resolve.SymbolNotFound
           
 
Constructor Summary
Resolve()
           
 
Method Summary
 Symbol findIdent(org.sonar.java.resolve.Resolve.Env env, String name, int kind)
           
 Symbol findIdentInPackage(org.sonar.java.resolve.Resolve.Env env, Symbol site, String name, int kind)
           
 Symbol findIdentInType(org.sonar.java.resolve.Resolve.Env env, Symbol.TypeSymbol site, String name, int kind)
           
 Symbol findMemberType(org.sonar.java.resolve.Resolve.Env env, Symbol.TypeSymbol site, String name, Symbol.TypeSymbol c)
           
 Symbol findMethod(org.sonar.java.resolve.Resolve.Env env, String name, List<Type> argTypes)
          Finds method matching given name and types of arguments.
 Symbol findMethod(org.sonar.java.resolve.Resolve.Env env, Symbol.TypeSymbol site, String name, List<Type> argTypes)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Resolve

public Resolve()
Method Detail

findMemberType

public Symbol findMemberType(org.sonar.java.resolve.Resolve.Env env,
                             Symbol.TypeSymbol site,
                             String name,
                             Symbol.TypeSymbol c)

findIdent

public Symbol findIdent(org.sonar.java.resolve.Resolve.Env env,
                        String name,
                        int kind)
Parameters:
kind - subset of Symbol.VAR, Symbol.TYP, Symbol.PCK

findIdentInPackage

public Symbol findIdentInPackage(org.sonar.java.resolve.Resolve.Env env,
                                 Symbol site,
                                 String name,
                                 int kind)
Parameters:
kind - subset of Symbol.TYP, Symbol.PCK

findIdentInType

public Symbol findIdentInType(org.sonar.java.resolve.Resolve.Env env,
                              Symbol.TypeSymbol site,
                              String name,
                              int kind)
Parameters:
kind - subset of Symbol.VAR, Symbol.TYP

findMethod

public Symbol findMethod(org.sonar.java.resolve.Resolve.Env env,
                         String name,
                         List<Type> argTypes)
Finds method matching given name and types of arguments.


findMethod

public Symbol findMethod(org.sonar.java.resolve.Resolve.Env env,
                         Symbol.TypeSymbol site,
                         String name,
                         List<Type> argTypes)


Copyright © 2012-2014 SonarSource. All Rights Reserved.