Add access modifier support for interface feature
Add ability to change the modifiers for the C# and Java interface generated when using the %interface macros. For C# use the 'csinterfacemodifiers' typemap. For Java use the 'javainterfacemodifiers' typemap. For example: %typemap(csinterfacemodifiers) X "internal interface" Closes #1874
This commit is contained in:
parent
c8ac73513b
commit
c1b004f4fa
9 changed files with 59 additions and 3 deletions
|
|
@ -277,6 +277,7 @@
|
|||
#define WARN_JAVA_TYPEMAP_DIRECTORIN_NODESC 824
|
||||
#define WARN_JAVA_NO_DIRECTORCONNECT_ATTR 825
|
||||
#define WARN_JAVA_NSPACE_WITHOUT_PACKAGE 826
|
||||
#define WARN_JAVA_TYPEMAP_INTERFACEMODIFIERS_UNDEF 847
|
||||
|
||||
/* please leave 810-829 free for Java */
|
||||
|
||||
|
|
@ -297,6 +298,7 @@
|
|||
#define WARN_CSHARP_EXCODE 844
|
||||
#define WARN_CSHARP_CANTHROW 845
|
||||
#define WARN_CSHARP_NO_DIRECTORCONNECT_ATTR 846
|
||||
#define WARN_CSHARP_TYPEMAP_INTERFACEMODIFIERS_UNDEF 847
|
||||
|
||||
/* please leave 830-849 free for C# */
|
||||
|
||||
|
|
|
|||
|
|
@ -2050,7 +2050,8 @@ public:
|
|||
|
||||
void emitInterfaceDeclaration(Node *n, String *interface_name, File *f_interface) {
|
||||
Printv(f_interface, typemapLookup(n, "csimports", Getattr(n, "classtypeobj"), WARN_NONE), "\n", NIL);
|
||||
Printf(f_interface, "public interface %s", interface_name);
|
||||
Printv(f_interface, typemapLookup(n, "csinterfacemodifiers", Getattr(n, "classtypeobj"), WARN_CSHARP_TYPEMAP_INTERFACEMODIFIERS_UNDEF), NIL);
|
||||
Printf(f_interface, " %s", interface_name);
|
||||
if (List *baselist = Getattr(n, "bases")) {
|
||||
String *bases = 0;
|
||||
for (Iterator base = First(baselist); base.item; base = Next(base)) {
|
||||
|
|
|
|||
|
|
@ -2145,7 +2145,8 @@ public:
|
|||
}
|
||||
|
||||
Printv(f_interface, typemapLookup(n, "javaimports", Getattr(n, "classtypeobj"), WARN_NONE), "\n", NIL);
|
||||
Printf(f_interface, "public interface %s", interface_name);
|
||||
Printv(f_interface, typemapLookup(n, "javainterfacemodifiers", Getattr(n, "classtypeobj"), WARN_JAVA_TYPEMAP_INTERFACEMODIFIERS_UNDEF), NIL);
|
||||
Printf(f_interface, " %s", interface_name);
|
||||
if (List *baselist = Getattr(n, "bases")) {
|
||||
String *bases = 0;
|
||||
for (Iterator base = First(baselist); base.item; base = Next(base)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue