summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/JavaUtil.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/JavaUtil.h')
-rw-r--r--cpp/src/Slice/JavaUtil.h9
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: