Skip to content

Commit afca511

Browse files
committed
注釈処理で出力するメッセージに、クラス、メソッド、フィード名など出力元の情報を追加
Kotlin 1.0.2 の kapt によって出力される注釈処理のメッセージにソースコードの場所が含まれないことへの対応です。
1 parent 41d739e commit afca511

File tree

55 files changed

+999
-570
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+999
-570
lines changed

src/main/java/org/seasar/doma/internal/apt/AbstractGeneratingProcessor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ protected void generate(TypeElement typeElement, M meta) {
7070
generator.generate();
7171
} catch (IOException e) {
7272
throw new AptException(Message.DOMA4011, processingEnv,
73-
typeElement, e, typeElement.getQualifiedName(), e);
73+
typeElement, e, new Object[] {
74+
typeElement.getQualifiedName(), e });
7475
} finally {
7576
IOUtil.close(generator);
7677
}

src/main/java/org/seasar/doma/internal/apt/AbstractGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ protected void throwExceptionIfNecessary() {
143143
if (ioException != null) {
144144
formatter.close();
145145
throw new AptException(Message.DOMA4079, env, typeElement,
146-
ioException, canonicalName, ioException);
146+
ioException, new Object[] { canonicalName, ioException });
147147
}
148148
}
149149

src/main/java/org/seasar/doma/internal/apt/AbstractProcessor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ protected void handleTypeElement(TypeElement typeElement,
5151
return;
5252
}
5353
if (Options.isDebugEnabled(processingEnv)) {
54-
Notifier.debug(processingEnv, Message.DOMA4090, getClass()
55-
.getName(), typeElement.getQualifiedName());
54+
Notifier.debug(processingEnv, Message.DOMA4090, new Object[] {
55+
getClass().getName(), typeElement.getQualifiedName() });
5656
}
5757
try {
5858
handler.accept(typeElement);
@@ -64,16 +64,16 @@ protected void handleTypeElement(TypeElement typeElement,
6464
throw new AptTypeHandleException(typeElement, e);
6565
} catch (AptIllegalStateException e) {
6666
Notifier.notify(processingEnv, Kind.ERROR, Message.DOMA4039,
67-
typeElement);
67+
typeElement, new Object[] {});
6868
throw new AptTypeHandleException(typeElement, e);
6969
} catch (RuntimeException e) {
7070
Notifier.notify(processingEnv, Kind.ERROR, Message.DOMA4016,
71-
typeElement);
71+
typeElement, new Object[] {});
7272
throw new AptTypeHandleException(typeElement, e);
7373
}
7474
if (Options.isDebugEnabled(processingEnv)) {
75-
Notifier.debug(processingEnv, Message.DOMA4091, getClass()
76-
.getName(), typeElement.getQualifiedName());
75+
Notifier.debug(processingEnv, Message.DOMA4091, new Object[] {
76+
getClass().getName(), typeElement.getQualifiedName() });
7777
}
7878
}
7979
}

src/main/java/org/seasar/doma/internal/apt/AptException.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,42 +42,43 @@ public class AptException extends DomaException {
4242
protected AnnotationValue annotationValue;
4343

4444
public AptException(MessageResource messageResource,
45-
ProcessingEnvironment env, Element element, Object... args) {
45+
ProcessingEnvironment env, Element element, Object[] args) {
4646
this(messageResource, env, Kind.ERROR, element, null, null, null, args);
4747
}
4848

4949
public AptException(MessageResource messageResource,
5050
ProcessingEnvironment env, Element element, Throwable cause,
51-
Object... args) {
51+
Object[] args) {
5252
this(messageResource, env, Kind.ERROR, element, null, null, cause, args);
5353
}
5454

5555
public AptException(MessageResource messageResource,
5656
ProcessingEnvironment env, Element element,
57-
AnnotationMirror annotationMirror, Object... args) {
57+
AnnotationMirror annotationMirror, Object[] args) {
5858
this(messageResource, env, Kind.ERROR, element, annotationMirror, null,
5959
null, args);
6060
}
6161

6262
public AptException(MessageResource messageResource,
6363
ProcessingEnvironment env, Element element,
6464
AnnotationMirror annotationMirror, AnnotationValue annotationValue,
65-
Object... args) {
65+
Object[] args) {
6666
this(messageResource, env, Kind.ERROR, element, annotationMirror,
6767
annotationValue, null, args);
6868
}
6969

70-
public AptException(MessageResource messageResource,
70+
private AptException(MessageResource messageResource,
7171
ProcessingEnvironment env, Kind kind, Element element,
7272
AnnotationMirror annotationMirror, AnnotationValue annotationValue,
73-
Throwable cause, Object... args) {
73+
Throwable cause, Object[] args) {
7474
super(messageResource, cause, args);
7575
this.kind = kind;
7676
this.element = element;
7777
this.annotationMirror = annotationMirror;
7878
this.annotationValue = annotationValue;
7979
if (Options.isDebugEnabled(env)) {
80-
Notifier.debug(env, Message.DOMA4074, messageResource, cause);
80+
Notifier.debug(env, Message.DOMA4074, new Object[] {
81+
messageResource, cause });
8182
}
8283
}
8384

src/main/java/org/seasar/doma/internal/apt/BatchSqlValidator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public BatchSqlValidator(ProcessingEnvironment env,
5555
public Void visitEmbeddedVariableNode(EmbeddedVariableNode node, Void p) {
5656
if (!isSuppressed(Message.DOMA4181) && !embeddedVariableWarningNotified) {
5757
Notifier.notify(env, Kind.WARNING, Message.DOMA4181, methodElement,
58-
path);
58+
new Object[] { path });
5959
embeddedVariableWarningNotified = true;
6060
}
6161
return super.visitEmbeddedVariableNode(node, p);
@@ -65,7 +65,7 @@ public Void visitEmbeddedVariableNode(EmbeddedVariableNode node, Void p) {
6565
public Void visitIfNode(IfNode node, Void p) {
6666
if (!isSuppressed(Message.DOMA4182) && !ifWarningNotified) {
6767
Notifier.notify(env, Kind.WARNING, Message.DOMA4182, methodElement,
68-
path);
68+
new Object[] { path });
6969
ifWarningNotified = true;
7070
}
7171
return super.visitIfNode(node, p);
@@ -75,7 +75,7 @@ public Void visitIfNode(IfNode node, Void p) {
7575
public Void visitForNode(ForNode node, Void p) {
7676
if (!isSuppressed(Message.DOMA4183) && !forWarningNotified) {
7777
Notifier.notify(env, Kind.WARNING, Message.DOMA4183, methodElement,
78-
path);
78+
new Object[] { path });
7979
forWarningNotified = true;
8080
}
8181
return super.visitForNode(node, p);

src/main/java/org/seasar/doma/internal/apt/DomainConvertersProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ protected void validate(TypeElement typeElement) {
6969
if (convElement.getAnnotation(ExternalDomain.class) == null) {
7070
throw new AptException(Message.DOMA4196, processingEnv,
7171
typeElement, convertersMirror.getAnnotationMirror(),
72-
convElement.getQualifiedName());
72+
new Object[] { convElement.getQualifiedName() });
7373
}
7474
}
7575
}

0 commit comments

Comments
 (0)