public class LeakDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.SourceCodeScanner
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.OtherFileScanner, com.android.tools.lint.detector.api.Detector.ResourceFolderScanner, com.android.tools.lint.detector.api.Detector.UastScanner, com.android.tools.lint.detector.api.Detector.XmlScanner| Modifier and Type | Field and Description |
|---|---|
static com.android.tools.lint.detector.api.Issue |
ISSUE
Leaking data via static fields
|
| Constructor and Description |
|---|
LeakDetector()
Constructs a new
LeakDetector check |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<java.lang.String> |
applicableSuperClasses() |
com.android.tools.lint.client.api.UElementHandler |
createUastHandler(com.android.tools.lint.detector.api.JavaContext context) |
java.util.List<java.lang.Class<? extends org.jetbrains.uast.UElement>> |
getApplicableUastTypes() |
void |
visitClass(com.android.tools.lint.detector.api.JavaContext context,
org.jetbrains.uast.UClass declaration)
Warn about inner classes that aren't static: these end up retaining the outer class
|
afterCheckFile, afterCheckLibraryProject, afterCheckProject, analyzeCallGraph, applicableAnnotations, appliesTo, appliesTo, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkFolder, checkInstruction, createPsiVisitor, fix, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicablePsiTypes, getApplicableReferenceNames, getSpeed, isApplicableAnnotationUsage, isCallGraphRequired, run, visitAnnotationUsage, visitAttribute, visitBuildScript, visitClass, visitConstructor, visitConstructor, visitDocument, visitElement, visitElementAfter, visitMethod, visitMethod, visitReference, visitReference, visitResourceReference, visitResourceReferenceclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitanalyzeCallGraph, applicableAnnotations, appliesToResourceRefs, getApplicableConstructorTypes, getApplicableMethodNames, getApplicableReferenceNames, isApplicableAnnotationUsage, isCallGraphRequired, visitAnnotationUsage, visitClass, visitConstructor, visitMethod, visitReference, visitResourceReferencepublic static final com.android.tools.lint.detector.api.Issue ISSUE
public LeakDetector()
LeakDetector check@Nullable public java.util.List<java.lang.String> applicableSuperClasses()
applicableSuperClasses in interface com.android.tools.lint.detector.api.SourceCodeScannerapplicableSuperClasses in class com.android.tools.lint.detector.api.Detectorpublic void visitClass(@NonNull
com.android.tools.lint.detector.api.JavaContext context,
@NonNull
org.jetbrains.uast.UClass declaration)
visitClass in interface com.android.tools.lint.detector.api.SourceCodeScannervisitClass in class com.android.tools.lint.detector.api.Detectorpublic java.util.List<java.lang.Class<? extends org.jetbrains.uast.UElement>> getApplicableUastTypes()
getApplicableUastTypes in interface com.android.tools.lint.detector.api.SourceCodeScannergetApplicableUastTypes in class com.android.tools.lint.detector.api.Detectorpublic com.android.tools.lint.client.api.UElementHandler createUastHandler(@NonNull
com.android.tools.lint.detector.api.JavaContext context)
createUastHandler in interface com.android.tools.lint.detector.api.SourceCodeScannercreateUastHandler in class com.android.tools.lint.detector.api.Detector