如何在 swig 生成的代码中添加显式@Override?
How to add explicit @Override in swig generated code?
我想在以下 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);
}
}
最简单的方法是使用 %javamethodmodifiers
,通常只是 "public",但可以很简单地选择它来实现您想要的:
%module test
%inline %{
struct Foo {};
%}
%javamethodmodifiers Foo::hashCode %{@Override
public%};
%extend Foo {
int hashCode() {
return 0;
}
};
我想在以下 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);
}
}
最简单的方法是使用 %javamethodmodifiers
,通常只是 "public",但可以很简单地选择它来实现您想要的:
%module test
%inline %{
struct Foo {};
%}
%javamethodmodifiers Foo::hashCode %{@Override
public%};
%extend Foo {
int hashCode() {
return 0;
}
};