package net.wizardsoflua.annotation;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

@Retention(SOURCE)
@Target(TYPE)
public @interface GenerateLuaDoc {
  /**
   * The name of the module. Required unless @{@link LuaClassAttributes} is present, in which case
   * the name defaults to {@link LuaClassAttributes#name()}.
   */
  String name() default "";

  /**
   * The subtitle of the module.
   */
  String subtitle() default "";

  /**
   * The document type ({@code "module"}, {@code "class"} or {@code "event"}). Defaults to
   * {@code "class"} when the type is also annotated with @{@link GenerateLuaClassTable}. Defaults
   * to {@code "module"} when the type is also annotated with @{@link GenerateLuaModuleTable}.
   */
  String type() default "";
}

@@ -84,30 +84,24 @@
 e.TYPE;%0A
+%0A
 import 
-static 
 java.lan
@@ -117,127 +117,190 @@
 ion.
-RetentionPolicy.SOURCE;%0A%0Aimport java.lang.annotation.Retention;%0Aimpor
+Target;%0A%0A/**%0A * We use class retention, because otherwise this annotation is no
 t 
-j
 ava
-.lang.annotation.Target;%0A%0A@Retention(SOURCE)
+ilable on unchanged classes%0A * during eclipses incremental compilation.%0A * %0A * @author Adrodoc%0A */
 %0A@Ta

Fix incremental compilation for lua classes that require a superclass name resolution