我想在以下swig代码段中添加一个明确的@Override
:
%extend gdcm::Tag {
int hashCode() {
return self->MyCxxHashCode();
}
};
现在生成的java代码不包含关键字:
package gdcm;
public class Tag {
[...]
public int hashCode() {
return gdcmJNI.Tag_hashCode(swigCPtr, this);
}
}
虽然我更喜欢:
package gdcm;
public class Tag {
[...]
@Override
public int hashCode() {
return gdcmJNI.Tag_hashCode(swigCPtr, this);
}
}
答案 0 :(得分:2)
最简单的方法是使用%javamethodmodifiers
,这通常只是“公开”,但可以通过选择来实现您想要的非常简单:
%module test
%inline %{
struct Foo {};
%}
%javamethodmodifiers Foo::hashCode %{@Override
public%};
%extend Foo {
int hashCode() {
return 0;
}
};