|
24 | 24 | import java.util.*; |
25 | 25 |
|
26 | 26 | import static org.jd.core.v1.api.printer.Printer.UNKNOWN_LINE_NUMBER; |
| 27 | +import static org.jd.core.v1.model.javasyntax.declaration.Declaration.FLAG_SYNTHETIC; |
27 | 28 |
|
28 | 29 | public class InitInstanceFieldVisitor extends AbstractJavaSyntaxVisitor { |
29 | 30 | protected SearchFirstLineNumberVisitor searchFirstLineNumberVisitor = new SearchFirstLineNumberVisitor(); |
@@ -92,18 +93,24 @@ public void visit(ConstructorDeclaration declaration) { |
92 | 93 | datas.add(new Data(cfcd, statements, iterator.nextIndex())); |
93 | 94 |
|
94 | 95 | if (datas.size() == 1) { |
95 | | - int firstLineNumber = superConstructorCall.getLineNumber(); |
| 96 | + int firstLineNumber; |
96 | 97 |
|
97 | | - if (superConstructorCall.getDescriptor().equals("()V") && (firstLineNumber != UNKNOWN_LINE_NUMBER) && iterator.hasNext()) { |
98 | | - if ((lineNumber == UNKNOWN_LINE_NUMBER) || (lineNumber >= firstLineNumber)) { |
99 | | - searchFirstLineNumberVisitor.init(); |
100 | | - iterator.next().accept(searchFirstLineNumberVisitor); |
101 | | - iterator.previous(); |
| 98 | + if ((cfcd.getFlags() & FLAG_SYNTHETIC) != 0) { |
| 99 | + firstLineNumber = UNKNOWN_LINE_NUMBER; |
| 100 | + } else { |
| 101 | + firstLineNumber = superConstructorCall.getLineNumber(); |
102 | 102 |
|
103 | | - int ln = searchFirstLineNumberVisitor.getLineNumber(); |
| 103 | + if (superConstructorCall.getDescriptor().equals("()V") && (firstLineNumber != UNKNOWN_LINE_NUMBER) && iterator.hasNext()) { |
| 104 | + if ((lineNumber == UNKNOWN_LINE_NUMBER) || (lineNumber >= firstLineNumber)) { |
| 105 | + searchFirstLineNumberVisitor.init(); |
| 106 | + iterator.next().accept(searchFirstLineNumberVisitor); |
| 107 | + iterator.previous(); |
104 | 108 |
|
105 | | - if ((ln != UNKNOWN_LINE_NUMBER) && (ln >= firstLineNumber)) { |
106 | | - firstLineNumber = UNKNOWN_LINE_NUMBER; |
| 109 | + int ln = searchFirstLineNumberVisitor.getLineNumber(); |
| 110 | + |
| 111 | + if ((ln != UNKNOWN_LINE_NUMBER) && (ln >= firstLineNumber)) { |
| 112 | + firstLineNumber = UNKNOWN_LINE_NUMBER; |
| 113 | + } |
107 | 114 | } |
108 | 115 | } |
109 | 116 | } |
|
0 commit comments