com.android.tools.lint
Class EcjParser

java.lang.Object
  extended by com.android.tools.lint.client.api.JavaParser
      extended by com.android.tools.lint.EcjParser

public class EcjParser
extends com.android.tools.lint.client.api.JavaParser

Java parser which uses ECJ for parsing and type attribution


Nested Class Summary
 
Nested classes/interfaces inherited from class com.android.tools.lint.client.api.JavaParser
com.android.tools.lint.client.api.JavaParser.DefaultTypeDescriptor, com.android.tools.lint.client.api.JavaParser.ResolvedClass, com.android.tools.lint.client.api.JavaParser.ResolvedField, com.android.tools.lint.client.api.JavaParser.ResolvedMethod, com.android.tools.lint.client.api.JavaParser.ResolvedNode, com.android.tools.lint.client.api.JavaParser.ResolvedVariable, com.android.tools.lint.client.api.JavaParser.TypeDescriptor
 
Field Summary
 
Fields inherited from class com.android.tools.lint.client.api.JavaParser
TYPE_BOOLEAN, TYPE_CHAR, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_LONG, TYPE_NULL, TYPE_STRING
 
Constructor Summary
EcjParser(LintCliClient client, com.android.tools.lint.detector.api.Project project)
           
 
Method Summary
static org.eclipse.jdt.internal.compiler.impl.CompilerOptions createCompilerOptions()
          Create the default compiler options
 com.android.tools.lint.detector.api.Location.Handle createLocationHandle(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.Node node)
           
 void dispose(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.Node compilationUnit)
           
static long getLanguageLevel(int major, int minor)
           
 com.android.tools.lint.detector.api.Location getLocation(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.Node node)
           
 com.android.tools.lint.client.api.JavaParser.TypeDescriptor getType(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.Node node)
           
static void parse(org.eclipse.jdt.internal.compiler.impl.CompilerOptions options, java.util.List<org.eclipse.jdt.internal.compiler.env.ICompilationUnit> sourceUnits, java.util.List<java.lang.String> classPath, java.util.Map<org.eclipse.jdt.internal.compiler.env.ICompilationUnit,org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration> outputMap)
          Parse the given source units and class path and store it into the given output map
 lombok.ast.Node parseJava(com.android.tools.lint.detector.api.JavaContext context)
           
 void prepareJavaParse(java.util.List<com.android.tools.lint.detector.api.JavaContext> contexts)
           
 com.android.tools.lint.client.api.JavaParser.ResolvedNode resolve(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.Node node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EcjParser

public EcjParser(@NonNull
                 LintCliClient client,
                 @Nullable
                 com.android.tools.lint.detector.api.Project project)
Method Detail

createCompilerOptions

public static org.eclipse.jdt.internal.compiler.impl.CompilerOptions createCompilerOptions()
Create the default compiler options


getLanguageLevel

public static long getLanguageLevel(int major,
                                    int minor)

prepareJavaParse

public void prepareJavaParse(@NonNull
                             java.util.List<com.android.tools.lint.detector.api.JavaContext> contexts)
Specified by:
prepareJavaParse in class com.android.tools.lint.client.api.JavaParser

parse

public static void parse(org.eclipse.jdt.internal.compiler.impl.CompilerOptions options,
                         @NonNull
                         java.util.List<org.eclipse.jdt.internal.compiler.env.ICompilationUnit> sourceUnits,
                         @NonNull
                         java.util.List<java.lang.String> classPath,
                         @NonNull
                         java.util.Map<org.eclipse.jdt.internal.compiler.env.ICompilationUnit,org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration> outputMap)
Parse the given source units and class path and store it into the given output map


parseJava

public lombok.ast.Node parseJava(@NonNull
                                 com.android.tools.lint.detector.api.JavaContext context)
Specified by:
parseJava in class com.android.tools.lint.client.api.JavaParser

getLocation

@NonNull
public com.android.tools.lint.detector.api.Location getLocation(@NonNull
                                                                        com.android.tools.lint.detector.api.JavaContext context,
                                                                        @NonNull
                                                                        lombok.ast.Node node)
Specified by:
getLocation in class com.android.tools.lint.client.api.JavaParser

createLocationHandle

@NonNull
public com.android.tools.lint.detector.api.Location.Handle createLocationHandle(@NonNull
                                                                                        com.android.tools.lint.detector.api.JavaContext context,
                                                                                        @NonNull
                                                                                        lombok.ast.Node node)
Specified by:
createLocationHandle in class com.android.tools.lint.client.api.JavaParser

dispose

public void dispose(@NonNull
                    com.android.tools.lint.detector.api.JavaContext context,
                    @NonNull
                    lombok.ast.Node compilationUnit)
Overrides:
dispose in class com.android.tools.lint.client.api.JavaParser

resolve

@Nullable
public com.android.tools.lint.client.api.JavaParser.ResolvedNode resolve(@NonNull
                                                                                  com.android.tools.lint.detector.api.JavaContext context,
                                                                                  @NonNull
                                                                                  lombok.ast.Node node)
Specified by:
resolve in class com.android.tools.lint.client.api.JavaParser

getType

@Nullable
public com.android.tools.lint.client.api.JavaParser.TypeDescriptor getType(@NonNull
                                                                                    com.android.tools.lint.detector.api.JavaContext context,
                                                                                    @NonNull
                                                                                    lombok.ast.Node node)
Specified by:
getType in class com.android.tools.lint.client.api.JavaParser