title: Writing custom lint warning to check for custom annotation
body: <p>I have written the following annotation:</p>
  
  <pre><code>import java.lang.annotation.ElementType;
  import java.lang.annotation.Retention;
  import java.lang.annotation.RetentionPolicy;
  import java.lang.annotation.Target;
  
  @Retention(RetentionPolicy.SOURCE)
  @Target({ElementType.METHOD})
  public @interface Warning {
  
  }
  </code></pre>
  
  <p>Which is intended to annotate methods which can cause problems if called carelessly. I added an annotation processor to my project, but this only provides the warning in the log output of the javac command. I want this warning to appear in Android Studio along with the other lint warnings anywhere a method with this annotation is called. This is why I am trying to write a custom lint rule. I have the basic skeleton of the lint rule:</p>
  
  <pre><code>import com.android.tools.lint.detector.api.Category;
  import com.android.tools.lint.detector.api.Detector;
  import com.android.tools.lint.detector.api.Implementation;
  import com.android.tools.lint.detector.api.Issue;
  import com.android.tools.lint.detector.api.Scope;
  import com.android.tools.lint.detector.api.Severity;
  
  public class CaimitoDetector extends Detector implements Detector.JavaScanner {
  
    public static final Issue ISSUE = Issue.create(
        "WarningAnnotation",
        "This method has been annotated with @Warning",
        "This method has special conditions surrounding it's use, be careful when using it and refer to its documentation.",
        Category.USABILITY, 7, Severity.WARNING,
        new Implementation(CaimitoDetector.class, Scope.JAVA_FILE_SCOPE));
  
    @Override
    public void visitMethod(JavaContext context, AstVisitor visitor, MethodInvocation node) {
  
    }
  
  }
  </code></pre>
  
  <hr>
  
  <pre><code>import com.android.tools.lint.client.api.IssueRegistry;
  import com.android.tools.lint.detector.api.Issue;
  
  import java.util.Collections;
  import java.util.List;
  
  public class CaimitoIssueRegistry extends IssueRegistry {
  
    @Override
    public List&lt;Issue&gt; getIssues() {
      return Collections.singletonList(CaimitoDetector.ISSUE);
    }
  
  }
  </code></pre>
  
  <p>But I do not know how to proceed from here. How can I check if an annoation exists on a method, and raise a warning such that it will be visible in Android Studio?</p>