com.android.tools.lint.checks
Class MathDetector

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

public class MathDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.Detector.ClassScanner

Looks for usages of Math methods which can be replaced with android.util.FloatMath methods to avoid casting.


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 ISSUE
          The main issue discovered by this detector
 
Constructor Summary
MathDetector()
          Constructs a new MathDetector check
 
Method Summary
 void checkCall(com.android.tools.lint.detector.api.ClassContext context, org.objectweb.asm.tree.ClassNode classNode, org.objectweb.asm.tree.MethodNode method, org.objectweb.asm.tree.MethodInsnNode call)
           
 java.util.List<java.lang.String> getApplicableCallNames()
           
 com.android.tools.lint.detector.api.Speed getSpeed()
           
 
Methods inherited from class com.android.tools.lint.detector.api.Detector
afterCheckFile, afterCheckLibraryProject, afterCheckProject, appliesTo, appliesTo, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkClass, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallOwners, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getSpeed, run, visitAttribute, visitBuildScript, visitDocument, visitElement, visitElementAfter, visitMethod, 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.ClassScanner
checkClass, checkInstruction, getApplicableAsmNodeTypes, getApplicableCallOwners
 

Field Detail

ISSUE

public static final com.android.tools.lint.detector.api.Issue ISSUE
The main issue discovered by this detector

Constructor Detail

MathDetector

public MathDetector()
Constructs a new MathDetector check

Method Detail

getSpeed

@NonNull
public com.android.tools.lint.detector.api.Speed getSpeed()
Overrides:
getSpeed in class com.android.tools.lint.detector.api.Detector

getApplicableCallNames

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

checkCall

public void checkCall(@NonNull
                      com.android.tools.lint.detector.api.ClassContext context,
                      @NonNull
                      org.objectweb.asm.tree.ClassNode classNode,
                      @NonNull
                      org.objectweb.asm.tree.MethodNode method,
                      @NonNull
                      org.objectweb.asm.tree.MethodInsnNode call)
Specified by:
checkCall in interface com.android.tools.lint.detector.api.Detector.ClassScanner
Overrides:
checkCall in class com.android.tools.lint.detector.api.Detector