public class CleanupDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.Detector.JavaPsiScanner
recycle
calls on resources that encourage it, and
for missing commit
calls on FragmentTransactions, etc.com.android.tools.lint.detector.api.Detector.BinaryResourceScanner, com.android.tools.lint.detector.api.Detector.ClassScanner, com.android.tools.lint.detector.api.Detector.GradleScanner, com.android.tools.lint.detector.api.Detector.JavaPsiScanner, com.android.tools.lint.detector.api.Detector.JavaScanner, com.android.tools.lint.detector.api.Detector.OtherFileScanner, com.android.tools.lint.detector.api.Detector.ResourceFolderScanner, com.android.tools.lint.detector.api.Detector.XmlScanner
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ANDROID_CONTENT_SHARED_PREFERENCES |
static com.android.tools.lint.detector.api.Issue |
COMMIT_FRAGMENT
Problems with missing commit calls.
|
static java.lang.String |
CONTENT_PROVIDER_CLIENT_CLS |
static java.lang.String |
CONTENT_RESOLVER_CLS |
static java.lang.String |
CURSOR_CLS |
static com.android.tools.lint.detector.api.Issue |
RECYCLE_RESOURCE
Problems with missing recycle calls
|
static com.android.tools.lint.detector.api.Issue |
SHARED_PREF
The main issue discovered by this detector
|
static java.lang.String |
SQLITE_DATABASE_CLS |
static java.lang.String |
SURFACE_CLS |
static java.lang.String |
SURFACE_TEXTURE_CLS |
Constructor and Description |
---|
CleanupDetector()
Constructs a new
CleanupDetector |
Modifier and Type | Method and Description |
---|---|
java.util.List<java.lang.String> |
getApplicableConstructorTypes() |
java.util.List<java.lang.String> |
getApplicableMethodNames() |
static com.intellij.psi.PsiVariable |
getVariableElement(com.intellij.psi.PsiElement rhs)
Returns the variable the expression is assigned to, if any
|
static com.intellij.psi.PsiVariable |
getVariableElement(com.intellij.psi.PsiElement rhs,
boolean allowChainedCalls) |
void |
visitConstructor(com.android.tools.lint.detector.api.JavaContext context,
com.intellij.psi.JavaElementVisitor visitor,
com.intellij.psi.PsiNewExpression node,
com.intellij.psi.PsiMethod constructor) |
void |
visitMethod(com.android.tools.lint.detector.api.JavaContext context,
com.intellij.psi.JavaElementVisitor visitor,
com.intellij.psi.PsiMethodCallExpression call,
com.intellij.psi.PsiMethod method) |
afterCheckFile, afterCheckLibraryProject, afterCheckProject, applicableSuperClasses, appliesTo, appliesTo, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, createPsiVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableElements, getApplicableFiles, getApplicableNodeTypes, getApplicablePsiTypes, getApplicableReferenceNames, getSpeed, getSpeed, run, visitAttribute, visitBuildScript, visitConstructor, visitDocument, visitElement, visitElementAfter, visitMethod, visitReference, visitResourceReference, visitResourceReference
public static final com.android.tools.lint.detector.api.Issue RECYCLE_RESOURCE
public static final com.android.tools.lint.detector.api.Issue COMMIT_FRAGMENT
public static final com.android.tools.lint.detector.api.Issue SHARED_PREF
public static final java.lang.String SURFACE_CLS
public static final java.lang.String SURFACE_TEXTURE_CLS
public static final java.lang.String CONTENT_PROVIDER_CLIENT_CLS
public static final java.lang.String CONTENT_RESOLVER_CLS
public static final java.lang.String SQLITE_DATABASE_CLS
public static final java.lang.String CURSOR_CLS
public static final java.lang.String ANDROID_CONTENT_SHARED_PREFERENCES
public CleanupDetector()
CleanupDetector
@Nullable public java.util.List<java.lang.String> getApplicableMethodNames()
getApplicableMethodNames
in interface com.android.tools.lint.detector.api.Detector.JavaPsiScanner
getApplicableMethodNames
in class com.android.tools.lint.detector.api.Detector
@Nullable public java.util.List<java.lang.String> getApplicableConstructorTypes()
getApplicableConstructorTypes
in interface com.android.tools.lint.detector.api.Detector.JavaPsiScanner
getApplicableConstructorTypes
in class com.android.tools.lint.detector.api.Detector
public void visitMethod(@NonNull com.android.tools.lint.detector.api.JavaContext context, @Nullable com.intellij.psi.JavaElementVisitor visitor, @NonNull com.intellij.psi.PsiMethodCallExpression call, @NonNull com.intellij.psi.PsiMethod method)
visitMethod
in interface com.android.tools.lint.detector.api.Detector.JavaPsiScanner
visitMethod
in class com.android.tools.lint.detector.api.Detector
public void visitConstructor(@NonNull com.android.tools.lint.detector.api.JavaContext context, @Nullable com.intellij.psi.JavaElementVisitor visitor, @NonNull com.intellij.psi.PsiNewExpression node, @NonNull com.intellij.psi.PsiMethod constructor)
visitConstructor
in interface com.android.tools.lint.detector.api.Detector.JavaPsiScanner
visitConstructor
in class com.android.tools.lint.detector.api.Detector
@Nullable public static com.intellij.psi.PsiVariable getVariableElement(@NonNull com.intellij.psi.PsiElement rhs)
@Nullable public static com.intellij.psi.PsiVariable getVariableElement(@NonNull com.intellij.psi.PsiElement rhs, boolean allowChainedCalls)