Files
2026-11-06 21:43:25 +05:30

27 lines
1.5 KiB
Plaintext

== 1. in-memory compile: Person + Main, BuilderProcessor supplied directly
success=true generated=[com.acme.PersonBuilder]
classes=[com.acme.Main, com.acme.Person, com.acme.PersonBuilder]
== 2. error cases: javac diagnostics produced via Messager
interface -> ERROR /com/acme/Shape.java:4: @GenerateBuilder can only be applied to a class or a record, not to interface
abstract class -> ERROR /com/acme/Animal.java:4: @GenerateBuilder cannot be applied to abstract class Animal
two constructors -> ERROR /com/acme/Point.java:4: Point must have exactly one non-private constructor, but has 2
generic class -> ERROR /com/acme/Box.java:4: @GenerateBuilder does not support generic types such as Box
== 3. rounds, with -Abuilder.debug=true
builder round 1: annotations=[com.ankurm.builder.GenerateBuilder] roots=[com.acme.Person] processingOver=false
builder round 2: annotations=[] roots=[com.acme.PersonBuilder] processingOver=false
builder round 3: annotations=[] roots=[] processingOver=true
== 4. no setProcessors(): discovered through META-INF/services via -processorpath
success=true generated=[com.acme.PersonBuilder]
== 5. -proc:none: the processor never runs
success=false generated=[]
ERROR /com/acme/Main.java:5: cannot find symbol
== 6. a processor that forgot @SupportedSourceVersion
WARNING: No SupportedSourceVersion annotation found on com.ankurm.builder.LazyProcessor, returning RELEASE_6.
WARNING: Supported source version 'RELEASE_6' from annotation processor 'com.ankurm.builder.LazyProcessor' less than -source '25'