|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.android.tools.lint.detector.api.Context
com.android.tools.lint.detector.api.JavaContext
public class JavaContext
A Context
used when checking Java files.
Field Summary |
---|
Fields inherited from class com.android.tools.lint.detector.api.Context |
---|
file, mDriver |
Constructor Summary | |
---|---|
JavaContext(LintDriver driver,
Project project,
Project main,
java.io.File file,
JavaParser parser)
Constructs a JavaContext for running lint on the given file, with
the given scope, in the given project reporting errors to the given
client. |
Method Summary | ||
---|---|---|
Location.Handle |
createLocationHandle(lombok.ast.Node node)
|
|
JavaParser.ResolvedClass |
findClass(java.lang.String fullyQualifiedName)
|
|
static lombok.ast.ClassDeclaration |
findSurroundingClass(lombok.ast.Node scope)
|
|
static lombok.ast.Node |
findSurroundingMethod(lombok.ast.Node scope)
|
|
lombok.ast.Node |
getCompilationUnit()
|
|
Location |
getLocation(lombok.ast.Node node)
Returns a location for the given node |
|
static
|
getNextSiblingOfType(lombok.ast.Node sibling,
java.lang.Class<T> clz)
Returns the first sibling of the given node that is of the given class |
|
static
|
getParentOfType(lombok.ast.Node element,
java.lang.Class<T> clz)
Returns the first ancestor node of the given type |
|
static
|
getParentOfType(lombok.ast.Node element,
java.lang.Class<T> clz,
boolean strict)
Returns the first ancestor node of the given type |
|
static
|
getParentOfType(lombok.ast.Node element,
java.lang.Class<T> clz,
boolean strict,
java.lang.Class<? extends lombok.ast.Node>... terminators)
Returns the first ancestor node of the given type, stopping at the given type |
|
JavaParser |
getParser()
|
|
protected java.lang.String |
getSuppressCommentPrefix()
Returns the comment marker used in Studio to suppress statements for language, if any |
|
JavaParser.TypeDescriptor |
getType(lombok.ast.Node node)
|
|
boolean |
isContextMethod(lombok.ast.MethodInvocation node)
Returns true if the given method invocation node corresponds to a call on a android.content.Context |
|
boolean |
isSuppressedWithComment(lombok.ast.Node scope,
Issue issue)
|
|
void |
report(Issue issue,
Location location,
java.lang.String message)
Reports an issue. |
|
void |
report(Issue issue,
lombok.ast.Node scope,
Location location,
java.lang.String message)
Reports an issue applicable to a given AST node. |
|
void |
report(Issue issue,
lombok.ast.Node scope,
Location location,
java.lang.String message,
java.lang.Object data)
Deprecated. Use report(Issue, Node, Location, String) instead;
this method is here for custom rule compatibility |
|
JavaParser.ResolvedNode |
resolve(lombok.ast.Node node)
|
|
void |
setCompilationUnit(lombok.ast.Node compilationUnit)
Sets the compilation result. |
Methods inherited from class com.android.tools.lint.detector.api.Context |
---|
containsCommentSuppress, getClient, getConfiguration, getContents, getDriver, getMainProject, getPhase, getProject, getProperty, getScope, getSdkInfo, isEnabled, isSuppressedWithComment, log, report, requestRepeat, setProperty |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JavaContext(@NonNull LintDriver driver, @NonNull Project project, @Nullable Project main, @NonNull java.io.File file, @NonNull JavaParser parser)
JavaContext
for running lint on the given file, with
the given scope, in the given project reporting errors to the given
client.
driver
- the driver running through the checksproject
- the project to run lint on which contains the given filemain
- the main project if this project is a library project, or
null if this is not a library project. The main project is
the root project of all library projects, not necessarily the
directly including project.file
- the file to be analyzedparser
- the parser to useMethod Detail |
---|
@NonNull public Location getLocation(@NonNull lombok.ast.Node node)
node
- the AST node to get a location for
@NonNull public JavaParser getParser()
@Nullable public lombok.ast.Node getCompilationUnit()
public void setCompilationUnit(@Nullable lombok.ast.Node compilationUnit)
compilationUnit
- the parse treepublic void report(@NonNull Issue issue, @Nullable Location location, @NonNull java.lang.String message)
Context
LintClient.report(com.android.tools.lint.detector.api.Context, com.android.tools.lint.detector.api.Issue, com.android.tools.lint.detector.api.Severity, com.android.tools.lint.detector.api.Location, java.lang.String, com.android.tools.lint.detector.api.TextFormat)
report
in class Context
issue
- the issue to reportlocation
- the location of the issue, or null if not knownmessage
- the message for this warningpublic void report(@NonNull Issue issue, @Nullable lombok.ast.Node scope, @Nullable Location location, @NonNull java.lang.String message)
issue
- the issue to reportscope
- the AST node scope the error applies to. The lint infrastructure
will check whether there are suppress annotations on this node (or its enclosing
nodes) and if so suppress the warning without involving the client.location
- the location of the issue, or null if not knownmessage
- the message for this warning@Deprecated public void report(@NonNull Issue issue, @Nullable lombok.ast.Node scope, @Nullable Location location, @NonNull java.lang.String message, @Nullable java.lang.Object data)
report(Issue, Node, Location, String)
instead;
this method is here for custom rule compatibility
report(Issue, Node, Location, String)
but with
a now-unused data parameter at the end.
@Nullable public static lombok.ast.Node findSurroundingMethod(lombok.ast.Node scope)
@Nullable public static lombok.ast.ClassDeclaration findSurroundingClass(@Nullable lombok.ast.Node scope)
@Nullable protected java.lang.String getSuppressCommentPrefix()
Context
getSuppressCommentPrefix
in class Context
public boolean isSuppressedWithComment(@NonNull lombok.ast.Node scope, @NonNull Issue issue)
@NonNull public Location.Handle createLocationHandle(@NonNull lombok.ast.Node node)
@Nullable public JavaParser.ResolvedNode resolve(@NonNull lombok.ast.Node node)
@Nullable public JavaParser.ResolvedClass findClass(@NonNull java.lang.String fullyQualifiedName)
@Nullable public JavaParser.TypeDescriptor getType(@NonNull lombok.ast.Node node)
public boolean isContextMethod(@NonNull lombok.ast.MethodInvocation node)
android.content.Context
node
- the method call node
@Nullable public static <T extends lombok.ast.Node> T getParentOfType(@Nullable lombok.ast.Node element, @NonNull java.lang.Class<T> clz)
T
- the target node typeelement
- the element to search fromclz
- the target node type
@Nullable public static <T extends lombok.ast.Node> T getParentOfType(@Nullable lombok.ast.Node element, @NonNull java.lang.Class<T> clz, boolean strict)
T
- the target node typeelement
- the element to search fromclz
- the target node typestrict
- if true, do not consider the element itself, only its parents
@Nullable public static <T extends lombok.ast.Node> T getParentOfType(@Nullable lombok.ast.Node element, @NonNull java.lang.Class<T> clz, boolean strict, @NonNull java.lang.Class<? extends lombok.ast.Node>... terminators)
T
- the target node typeelement
- the element to search fromclz
- the target node typestrict
- if true, do not consider the element itself, only its parentsterminators
- optional node types to terminate the search at
@Nullable public static <T extends lombok.ast.Node> T getNextSiblingOfType(@Nullable lombok.ast.Node sibling, @NonNull java.lang.Class<T> clz)
T
- the typesibling
- the sibling to search fromclz
- the type to look for
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |