Skip to content

Commit 40dd373

Browse files
author
Matt Coley
committed
Fix JinjavaDoc for guice enhanced classes
1 parent d15f729 commit 40dd373

1 file changed

Lines changed: 21 additions & 9 deletions

File tree

src/main/java/com/hubspot/jinjava/doc/JinjavaDocFactory.java

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ public class JinjavaDocFactory {
2424
private static final Class JINJAVA_DOC_CLASS =
2525
com.hubspot.jinjava.doc.annotations.JinjavaDoc.class;
2626

27+
private static final String GUICE_CLASS_INDICATOR = "$$EnhancerByGuice$$";
28+
2729
private final Jinjava jinjava;
2830

2931
public JinjavaDocFactory(Jinjava jinjava) {
@@ -43,9 +45,9 @@ public JinjavaDoc get() {
4345

4446
private void addExpTests(JinjavaDoc doc) {
4547
for (ExpTest t : jinjava.getGlobalContextCopy().getAllExpTests()) {
46-
com.hubspot.jinjava.doc.annotations.JinjavaDoc docAnnotation = t
47-
.getClass()
48-
.getAnnotation(com.hubspot.jinjava.doc.annotations.JinjavaDoc.class);
48+
com.hubspot.jinjava.doc.annotations.JinjavaDoc docAnnotation = getJinjavaDocAnnotation(
49+
t.getClass()
50+
);
4951

5052
if (docAnnotation == null) {
5153
LOG.warn(
@@ -84,9 +86,9 @@ private void addExpTests(JinjavaDoc doc) {
8486

8587
private void addFilterDocs(JinjavaDoc doc) {
8688
for (Filter f : jinjava.getGlobalContextCopy().getAllFilters()) {
87-
com.hubspot.jinjava.doc.annotations.JinjavaDoc docAnnotation = f
88-
.getClass()
89-
.getAnnotation(com.hubspot.jinjava.doc.annotations.JinjavaDoc.class);
89+
com.hubspot.jinjava.doc.annotations.JinjavaDoc docAnnotation = getJinjavaDocAnnotation(
90+
f.getClass()
91+
);
9092

9193
if (docAnnotation == null) {
9294
LOG.warn(
@@ -186,9 +188,9 @@ private void addTagDocs(JinjavaDoc doc) {
186188
if (t instanceof EndTag) {
187189
continue;
188190
}
189-
com.hubspot.jinjava.doc.annotations.JinjavaDoc docAnnotation = t
190-
.getClass()
191-
.getAnnotation(com.hubspot.jinjava.doc.annotations.JinjavaDoc.class);
191+
com.hubspot.jinjava.doc.annotations.JinjavaDoc docAnnotation = getJinjavaDocAnnotation(
192+
t.getClass()
193+
);
192194

193195
if (docAnnotation == null) {
194196
LOG.warn(
@@ -265,4 +267,14 @@ private Map<String, String> extractMeta(JinjavaMetaValue[] metaValues) {
265267

266268
return meta;
267269
}
270+
271+
private com.hubspot.jinjava.doc.annotations.JinjavaDoc getJinjavaDocAnnotation(
272+
Class<?> clazz
273+
) {
274+
if (clazz.getName().contains(GUICE_CLASS_INDICATOR)) {
275+
clazz = clazz.getSuperclass();
276+
}
277+
278+
return clazz.getAnnotation(com.hubspot.jinjava.doc.annotations.JinjavaDoc.class);
279+
}
268280
}

0 commit comments

Comments
 (0)