Implements type promotion for Java enum (#6382)

* Implements type promotion for Java enum as suggested in #3890, #5111, #6369

* After generate_code.sh
This commit is contained in:
Stefan de Konink
2021-01-05 20:11:29 +01:00
committed by GitHub
parent 0800976533
commit 1bf1ec0270
2 changed files with 4 additions and 4 deletions

View File

@@ -316,7 +316,7 @@ class JavaGenerator : public BaseGenerator {
auto &ev = **it; auto &ev = **it;
GenComment(ev.doc_comment, code_ptr, &comment_config, " "); GenComment(ev.doc_comment, code_ptr, &comment_config, " ");
code += " public static final "; code += " public static final ";
code += GenTypeBasic(enum_def.underlying_type); code += GenTypeBasic(DestinationType(enum_def.underlying_type, false));
code += " "; code += " ";
code += ev.name + " = "; code += ev.name + " = ";
code += enum_def.ToString(ev); code += enum_def.ToString(ev);

View File

@@ -7,16 +7,16 @@ package MyGame.Example;
*/ */
public final class Color { public final class Color {
private Color() { } private Color() { }
public static final byte Red = 1; public static final int Red = 1;
/** /**
* \brief color Green * \brief color Green
* Green is bit_flag with value (1u << 1) * Green is bit_flag with value (1u << 1)
*/ */
public static final byte Green = 2; public static final int Green = 2;
/** /**
* \brief color Blue (1u << 3) * \brief color Blue (1u << 3)
*/ */
public static final byte Blue = 8; public static final int Blue = 8;
public static final String[] names = { "Red", "Green", "", "", "", "", "", "Blue", }; public static final String[] names = { "Red", "Green", "", "", "", "", "", "Blue", };