com.android.tools.lint.checks
Class CleanupDetector

java.lang.Object
  extended by com.android.tools.lint.detector.api.Detector
      extended by com.android.tools.lint.checks.CleanupDetector
All Implemented Interfaces:
com.android.tools.lint.detector.api.Detector.JavaScanner

public class CleanupDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.Detector.JavaScanner

Checks for missing recycle calls on resources that encourage it, and for missing commit calls on FragmentTransactions, etc.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.android.tools.lint.detector.api.Detector
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.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
 
Field Summary
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_PROVIDER_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 java.lang.String SQLITE_DATABASE_CLS
           
static java.lang.String SURFACE_CLS
           
static java.lang.String SURFACE_TEXTURE_CLS
           
 
Constructor Summary
CleanupDetector()
          Constructs a new CleanupDetector
 
Method Summary
 java.util.List<java.lang.String> getApplicableConstructorTypes()
           
 java.util.List<java.lang.String> getApplicableMethodNames()
           
static com.android.tools.lint.client.api.JavaParser.ResolvedVariable getVariable(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.Node expression)
           
 void visitConstructor(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.AstVisitor visitor, lombok.ast.ConstructorInvocation node, com.android.tools.lint.client.api.JavaParser.ResolvedMethod constructor)
           
 void visitMethod(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.AstVisitor visitor, lombok.ast.MethodInvocation node)
           
 
Methods inherited from class com.android.tools.lint.detector.api.Detector
afterCheckFile, afterCheckLibraryProject, afterCheckProject, applicableSuperClasses, appliesTo, appliesTo, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableElements, getApplicableFiles, getApplicableNodeTypes, getSpeed, getSpeed, run, visitAttribute, visitBuildScript, visitDocument, visitElement, visitElementAfter, visitResourceReference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.android.tools.lint.detector.api.Detector.JavaScanner
applicableSuperClasses, appliesToResourceRefs, checkClass, createJavaVisitor, getApplicableNodeTypes, visitResourceReference
 

Field Detail

RECYCLE_RESOURCE

public static final com.android.tools.lint.detector.api.Issue RECYCLE_RESOURCE
Problems with missing recycle calls


COMMIT_FRAGMENT

public static final com.android.tools.lint.detector.api.Issue COMMIT_FRAGMENT
Problems with missing commit calls.


SURFACE_CLS

public static final java.lang.String SURFACE_CLS
See Also:
Constant Field Values

SURFACE_TEXTURE_CLS

public static final java.lang.String SURFACE_TEXTURE_CLS
See Also:
Constant Field Values

CONTENT_PROVIDER_CLIENT_CLS

public static final java.lang.String CONTENT_PROVIDER_CLIENT_CLS
See Also:
Constant Field Values

CONTENT_RESOLVER_CLS

public static final java.lang.String CONTENT_RESOLVER_CLS
See Also:
Constant Field Values

CONTENT_PROVIDER_CLS

public static final java.lang.String CONTENT_PROVIDER_CLS
See Also:
Constant Field Values

SQLITE_DATABASE_CLS

public static final java.lang.String SQLITE_DATABASE_CLS
See Also:
Constant Field Values

CURSOR_CLS

public static final java.lang.String CURSOR_CLS
See Also:
Constant Field Values
Constructor Detail

CleanupDetector

public CleanupDetector()
Constructs a new CleanupDetector

Method Detail

getApplicableMethodNames

@Nullable
public java.util.List<java.lang.String> getApplicableMethodNames()
Specified by:
getApplicableMethodNames in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
getApplicableMethodNames in class com.android.tools.lint.detector.api.Detector

getApplicableConstructorTypes

@Nullable
public java.util.List<java.lang.String> getApplicableConstructorTypes()
Specified by:
getApplicableConstructorTypes in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
getApplicableConstructorTypes in class com.android.tools.lint.detector.api.Detector

visitMethod

public void visitMethod(@NonNull
                        com.android.tools.lint.detector.api.JavaContext context,
                        @Nullable
                        lombok.ast.AstVisitor visitor,
                        @NonNull
                        lombok.ast.MethodInvocation node)
Specified by:
visitMethod in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
visitMethod in class com.android.tools.lint.detector.api.Detector

visitConstructor

public void visitConstructor(@NonNull
                             com.android.tools.lint.detector.api.JavaContext context,
                             @Nullable
                             lombok.ast.AstVisitor visitor,
                             @NonNull
                             lombok.ast.ConstructorInvocation node,
                             @NonNull
                             com.android.tools.lint.client.api.JavaParser.ResolvedMethod constructor)
Specified by:
visitConstructor in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
visitConstructor in class com.android.tools.lint.detector.api.Detector

getVariable

@Nullable
public static com.android.tools.lint.client.api.JavaParser.ResolvedVariable getVariable(@NonNull
                                                                                                 com.android.tools.lint.detector.api.JavaContext context,
                                                                                                 @NonNull
                                                                                                 lombok.ast.Node expression)