title: kotlin annotation method in runtime
body: <p>I would like to know how to modify the parameters passed to a method using annotations in kotlin</p>
  <p>for example</p>
  <pre><code>@Add
  fun method(n: Int, m: Int) -&gt; &quot;what I want&quot; method(n, m + n)
  </code></pre>
  <p>I have this processor so far but I don't know how to finish the job, does anyone have an idea?</p>
  <pre><code>@AutoService(Processor::class)
  class ConstantProcess : AbstractProcessor() {
  
      override fun getSupportedSourceVersion(): SourceVersion {
          return SourceVersion.latestSupported()
      }
  
      override fun getSupportedAnnotationTypes(): MutableSet&lt;String&gt; {
          return mutableSetOf(
              Constant::class.java.name
          )
      }
  
      override fun process(annotations: MutableSet&lt;out TypeElement&gt;?, roundEnv: RoundEnvironment?): Boolean {
  
          if (roundEnv == null) {
              processingEnv.noteMessage { &quot;RoundEnvironment is NULL hence skip the process&quot; }
              return false
          }
          if (annotations == null || annotations.isEmpty()) {
              processingEnv.noteMessage { &quot;TypeElement is NULL or empty hence skip the process&quot; }
              return false
          }
  
          val elements = roundEnv.getElementsAnnotatedWith(Constant::class.java)
  
          // ?????????
  
          return true
      }
  
      fun ProcessingEnvironment.noteMessage(msg: () -&gt; String) = this.messager.printMessage(Diagnostic.Kind.NOTE, msg())
  }
  </code></pre>