diff options
author | Joe George <joe@zeroc.com> | 2023-10-09 13:47:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-09 13:47:52 -0400 |
commit | 45cf4a9ccba65d4d2b8129d11c4debcb117cbc68 (patch) | |
tree | adb98c12bd36c24eafc39b00d456cdd03ea051bd /cpp/src/Slice/JavaUtil.h | |
parent | Rework Java & Java Compat README files (#1538) (diff) | |
download | ice-45cf4a9ccba65d4d2b8129d11c4debcb117cbc68.tar.bz2 ice-45cf4a9ccba65d4d2b8129d11c4debcb117cbc68.tar.xz ice-45cf4a9ccba65d4d2b8129d11c4debcb117cbc68.zip |
slice2java: fix constructor parameter count check (#1540)
Closes #1539
Diffstat (limited to 'cpp/src/Slice/JavaUtil.h')
-rw-r--r-- | cpp/src/Slice/JavaUtil.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cpp/src/Slice/JavaUtil.h b/cpp/src/Slice/JavaUtil.h index 326d7adfa1a..d9c6e440d0c 100644 --- a/cpp/src/Slice/JavaUtil.h +++ b/cpp/src/Slice/JavaUtil.h @@ -29,6 +29,15 @@ computeSerialVersionUUID(const ExceptionPtr&); long computeSerialVersionUUID(const StructPtr&); +// +// Returns true if we can generate a method from the given data member list. A Java method +// can have a maximum of 255 parameters (including the implicit 'this') where each parameter +// is counted as 1 unit, except for long and double which are counted as 2 units. +// See https://docs.oracle.com/javase/specs/jvms/se20/html/jvms-4.html#jvms-4.3.3 +// +bool +isValidMethodParameterList(const DataMemberList&, int additionalUnits = 0); + class JavaOutput : public ::IceUtilInternal::Output { public: |