Mercurial > hg > truffle
changeset 7776:10f1c713f4f0
Fixed duplicate generation of @Override annotations.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 11 Feb 2013 14:21:18 +0100 |
parents | e8c71b8562e3 |
children | ca51efac4d57 |
files | graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/codewriter/GenerateOverrideVisitor.java |
diffstat | 1 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/codewriter/GenerateOverrideVisitor.java Mon Feb 11 10:41:29 2013 +0100 +++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/codewriter/GenerateOverrideVisitor.java Mon Feb 11 14:21:18 2013 +0100 @@ -27,6 +27,7 @@ import javax.lang.model.element.*; import javax.lang.model.type.*; +import com.oracle.truffle.codegen.processor.*; import com.oracle.truffle.codegen.processor.ast.*; public class GenerateOverrideVisitor extends CodeElementScanner<Void, Void> { @@ -43,6 +44,13 @@ String name = e.getSimpleName().toString(); TypeMirror[] params = e.getParameterTypes(); + for (AnnotationMirror mirror : e.getAnnotationMirrors()) { + if (Utils.typeEquals(overrideType, mirror.getAnnotationType())) { + // already declared (may happen if method copied from super class) + return super.visitExecutable(e, p); + } + } + if (isDeclaredMethodInSuperType(e.getEnclosingClass(), name, params)) { e.addAnnotationMirror(new CodeAnnotationMirror(overrideType)); }