This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch compilers-101
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit 3a38bb0ed6a2b9fb8b0f3ec4d35cd9a087ecfa17
Author: Pedro Giffuni <[email protected]>
AuthorDate: Sun Nov 1 18:23:19 2026 -0500

    C++11/Java 8 modernization: skeletonmaker, segmenttree, l10ntools, 
hash_map/unary_function cleanup
---
 .../extensions/source/propctrlr/propcontroller.hxx |  2 +-
 main/l10ntools/source/filter/merge/Merger.java     | 12 ++---
 .../source/filter/utils/ConfigHelper.java          | 24 ++++-----
 main/l10ntools/source/filter/utils/XMLHelper.java  | 27 +++++-----
 main/sc/inc/segmenttree.hxx                        |  3 ++
 main/sc/source/core/data/segmenttree.cxx           | 21 ++++++++
 main/sfx2/source/dialog/filtergrouping.cxx         |  2 +-
 .../source/skeletonmaker/cpptypemaker.cxx          |  6 +--
 .../source/skeletonmaker/javacompskeleton.cxx      | 58 +++++++---------------
 .../source/skeletonmaker/javatypemaker.cxx         | 10 ++--
 .../source/skeletonmaker/skeletoncommon.cxx        | 29 +++--------
 .../source/skeletonmaker/skeletoncommon.hxx        |  4 +-
 .../source/skeletonmaker/skeletonmaker.cxx         | 20 +++-----
 13 files changed, 98 insertions(+), 120 deletions(-)

diff --git a/main/extensions/source/propctrlr/propcontroller.hxx 
b/main/extensions/source/propctrlr/propcontroller.hxx
index 3a635e896b..bea96831cf 100644
--- a/main/extensions/source/propctrlr/propcontroller.hxx
+++ b/main/extensions/source/propctrlr/propcontroller.hxx
@@ -137,7 +137,7 @@ namespace pcr
         typedef ::std::vector< PropertyHandlerRef >     PropertyHandlerArray;
         typedef ::std::unordered_map< ::rtl::OUString, PropertyHandlerRef, 
::rtl::OUStringHash >
                                                         
PropertyHandlerRepository;
-        typedef ::std::hash_multimap< ::rtl::OUString, PropertyHandlerRef, 
::rtl::OUStringHash >
+        typedef ::std::unordered_multimap< ::rtl::OUString, 
PropertyHandlerRef, ::rtl::OUStringHash >
                                                         
PropertyHandlerMultiRepository;
         PropertyHandlerRepository                       m_aPropertyHandlers;
         PropertyHandlerMultiRepository                  m_aDependencyHandlers;
diff --git a/main/l10ntools/source/filter/merge/Merger.java 
b/main/l10ntools/source/filter/merge/Merger.java
index e2d1e0bec1..c154a4d771 100644
--- a/main/l10ntools/source/filter/merge/Merger.java
+++ b/main/l10ntools/source/filter/merge/Merger.java
@@ -101,10 +101,10 @@ public class Merger
 
     //-------------------------------------------
     /** TODO */
-    private java.util.Vector m_lTypes;
-    private java.util.Vector m_lFilters;
-    private java.util.Vector m_lLoaders;
-    private java.util.Vector m_lHandlers;
+    private java.util.Vector<String> m_lTypes;
+    private java.util.Vector<String> m_lFilters;
+    private java.util.Vector<String> m_lLoaders;
+    private java.util.Vector<String> m_lHandlers;
 
     //___________________________________________
     // interface
@@ -208,7 +208,7 @@ public class Merger
         {
             java.lang.String sSetName   = null;
             java.lang.String sSubDir    = null;
-            java.util.Vector lFragments = null;
+            java.util.Vector<String> lFragments = null;
 
             try
             {
@@ -286,7 +286,7 @@ public class Merger
     /** TODO */
     private void getFragments(java.io.File           aDir       ,
                               java.lang.String       sSetName   ,
-                              java.util.Vector       lFragments ,
+                              java.util.Vector<String>       lFragments ,
                               int                    nPrettyTabs,
                               java.lang.StringBuilder sBuffer    )
         throws java.lang.Exception
diff --git a/main/l10ntools/source/filter/utils/ConfigHelper.java 
b/main/l10ntools/source/filter/utils/ConfigHelper.java
index 855eb52ff8..ec918eaf15 100644
--- a/main/l10ntools/source/filter/utils/ConfigHelper.java
+++ b/main/l10ntools/source/filter/utils/ConfigHelper.java
@@ -165,12 +165,12 @@ public class ConfigHelper extends java.util.Properties
      *          if the requested property does not exists.
      */
     public synchronized boolean getBoolean(java.lang.String sProp)
-        throws java.util.NoSuchElementException
+        throws java.lang.Exception
     {
-        java.lang.String sValue = getProperty(sProp);
+        java.lang.String sValue = (java.lang.String)getProperty(sProp);
         if (sValue == null)
-            throw new java.util.NoSuchElementException("The requested config 
value \""+sProp+"\" does not exists!");
-        return new java.lang.Boolean(sValue).booleanValue();
+            throw new java.lang.Exception("missing property: \"" + sProp + 
"\"");
+        return java.lang.Boolean.valueOf(sValue).booleanValue();
     }
 
     public synchronized boolean getBoolean(java.lang.String sProp   ,
@@ -178,7 +178,7 @@ public class ConfigHelper extends java.util.Properties
     {
         java.lang.String sDefault = java.lang.String.valueOf(bDefault);
         java.lang.String sValue   = getProperty(sProp, sDefault);
-        return new java.lang.Boolean(sValue).booleanValue();
+        return java.lang.Boolean.valueOf(sValue).booleanValue();
     }
 
     //-------------------------------------------
@@ -193,12 +193,12 @@ public class ConfigHelper extends java.util.Properties
      *          if the requested property does not exists.
      */
     public synchronized int getInt(java.lang.String sProp)
-        throws java.util.NoSuchElementException
+        throws java.lang.Exception
     {
-        java.lang.String sValue = getProperty(sProp);
+        java.lang.String sValue = (java.lang.String)getProperty(sProp);
         if (sValue == null)
-            throw new java.util.NoSuchElementException("The requested config 
value \""+sProp+"\" does not exists!");
-        return new java.lang.Integer(sValue).intValue();
+            throw new java.lang.Exception("missing property: \"" + sProp + 
"\"");
+        return java.lang.Integer.parseInt(sValue);
     }
 
     public synchronized int getInt(java.lang.String sProp   ,
@@ -206,7 +206,7 @@ public class ConfigHelper extends java.util.Properties
     {
         java.lang.String sDefault = java.lang.String.valueOf(nDefault);
         java.lang.String sValue   = getProperty(sProp, sDefault);
-        return new java.lang.Integer(sValue).intValue();
+        return java.lang.Integer.parseInt(sValue);
     }
 
     //-------------------------------------------
@@ -256,7 +256,7 @@ public class ConfigHelper extends java.util.Properties
      *  @throw  [NoSuchElementException]
      *          if the requested property does not exists.
      */
-    public synchronized java.util.Vector getStringList(java.lang.String sProp  
   ,
+    public synchronized java.util.Vector<String> 
getStringList(java.lang.String sProp     ,
                                                        java.lang.String 
sDelimiter,
                                                        boolean          bTrim  
   ,
                                                        boolean          
bDecode   )
@@ -266,7 +266,7 @@ public class ConfigHelper extends java.util.Properties
         if (sValue == null)
             throw new java.util.NoSuchElementException("The requested config 
value \""+sProp+"\" does not exists!");
 
-        java.util.Vector lValue = new java.util.Vector();
+        java.util.Vector<String> lValue = new java.util.Vector<String>();
         try
         {
             java.util.StringTokenizer lTokens = new 
java.util.StringTokenizer(sValue, sDelimiter);
diff --git a/main/l10ntools/source/filter/utils/XMLHelper.java 
b/main/l10ntools/source/filter/utils/XMLHelper.java
index 615def6982..9226419794 100644
--- a/main/l10ntools/source/filter/utils/XMLHelper.java
+++ b/main/l10ntools/source/filter/utils/XMLHelper.java
@@ -118,17 +118,15 @@ public class XMLHelper
      *  @return [java.util.HashMap]
      *          contains every node name as key and its string(!) as value.
      */
-    public static java.util.HashMap convertNodeToPropSet(org.w3c.dom.Node 
aNode)
+    public static java.util.HashMap<String, Object> 
convertNodeToPropSet(org.w3c.dom.Node aNode)
         throws java.lang.Exception
     {
-        java.util.HashMap aPropSet = new java.util.HashMap();
+        java.util.HashMap<String, Object> aPropSet = new 
java.util.HashMap<String, Object>();
 
         // get all child nodes, which seems to be properties
-        java.util.Vector      lChildNodes = 
XMLHelper.extractChildNodesByTagName(aNode, XMLTAG_PROP);
-        java.util.Enumeration en1         = lChildNodes.elements();
-        while(en1.hasMoreElements())
-        {
-            org.w3c.dom.Node aChildNode = (org.w3c.dom.Node)en1.nextElement();
+        java.util.Vector<org.w3c.dom.Node> lChildNodes = 
XMLHelper.extractChildNodesByTagName(aNode, XMLTAG_PROP);
+        for (int i = 0; i < lChildNodes.size(); ++i) {
+            org.w3c.dom.Node aChildNode = lChildNodes.get(i);
 
             // read its name
             java.lang.String sChildName = 
XMLHelper.extractNodeAttribByName(aChildNode, XMLATTRIB_OOR_NAME);
@@ -149,13 +147,12 @@ public class XMLHelper
             }
 
             // read its value(s?)
-            java.util.Vector      lChildValues = 
XMLHelper.extractChildNodesByTagName(aChildNode, XMLTAG_VALUE);
-            java.util.Enumeration en2          = lChildValues.elements();
+            java.util.Vector<org.w3c.dom.Node> lChildValues = 
XMLHelper.extractChildNodesByTagName(aChildNode, XMLTAG_VALUE);
             int                   nValue       = 0;
             java.lang.Object      aValue       = null;
-            while(en2.hasMoreElements())
+            for (int vi = 0; vi < lChildValues.size(); ++vi)
             {
-                org.w3c.dom.Node aValueNode   = 
(org.w3c.dom.Node)en2.nextElement();
+                org.w3c.dom.Node aValueNode   = lChildValues.get(vi);
                 java.lang.String sChildLocale = 
XMLHelper.extractNodeAttribByName(aValueNode, XMLATTRIB_XML_LANG);
                 boolean          bLocalized   = (sChildLocale != null);
 
@@ -184,12 +181,12 @@ public class XMLHelper
 
                     java.lang.String sData = 
((org.w3c.dom.CharacterData)aValueNode.getFirstChild()).getData();
 
-                    java.util.HashMap lLocalized = null;
+                    java.util.HashMap<String, String> lLocalized = null;
                     if (bLocalized)
                     {
                         if (aValue == null)
-                            aValue = new java.util.HashMap();
-                        lLocalized = (java.util.HashMap)aValue;
+                            aValue = new java.util.HashMap<String, String>();
+                        lLocalized = (java.util.HashMap<String, String>)aValue;
                         lLocalized.put(sChildLocale, sData);
                     }
                     else
@@ -209,7 +206,7 @@ public class XMLHelper
                     sData = sData.replace('\t', ' ');
                     sData = sData.replace('\n', ' ');
                     java.util.StringTokenizer aTokenizer = new 
java.util.StringTokenizer(sData, sSeparator);
-                    java.util.Vector          lList      = new 
java.util.Vector();
+                    java.util.ArrayList<String> lList = new 
java.util.ArrayList<String>();
                     while(aTokenizer.hasMoreTokens())
                     {
                         java.lang.String sToken = 
(java.lang.String)aTokenizer.nextToken();
diff --git a/main/sc/inc/segmenttree.hxx b/main/sc/inc/segmenttree.hxx
index 4e3179fb3f..d4c1ee55f9 100644
--- a/main/sc/inc/segmenttree.hxx
+++ b/main/sc/inc/segmenttree.hxx
@@ -68,6 +68,7 @@ public:
 
     ScFlatBoolRowSegments();
     ScFlatBoolRowSegments(const ScFlatBoolRowSegments& r);
+    ScFlatBoolRowSegments& operator=(const ScFlatBoolRowSegments& r);
     ~ScFlatBoolRowSegments();
 
     void setTrue(SCROW nRow1, SCROW nRow2);
@@ -99,6 +100,7 @@ public:
     };
     ScFlatBoolColSegments();
     ScFlatBoolColSegments(const ScFlatBoolColSegments& r);
+    ScFlatBoolColSegments& operator=(const ScFlatBoolColSegments& r);
     ~ScFlatBoolColSegments();
 
     void setTrue(SCCOL nCol1, SCCOL nCol2);
@@ -147,6 +149,7 @@ public:
 
     ScFlatUInt16RowSegments(sal_uInt16 nDefault);
     ScFlatUInt16RowSegments(const ScFlatUInt16RowSegments& r);
+    ScFlatUInt16RowSegments& operator=(const ScFlatUInt16RowSegments& r);
     ~ScFlatUInt16RowSegments();
 
     void setValue(SCROW nRow1, SCROW nRow2, sal_uInt16 nValue);
diff --git a/main/sc/source/core/data/segmenttree.cxx 
b/main/sc/source/core/data/segmenttree.cxx
index 1149d7ec9f..371807191c 100644
--- a/main/sc/source/core/data/segmenttree.cxx
+++ b/main/sc/source/core/data/segmenttree.cxx
@@ -353,6 +353,13 @@ ScFlatBoolRowSegments::ScFlatBoolRowSegments(const 
ScFlatBoolRowSegments& r) :
 {
 }
 
+ScFlatBoolRowSegments& ScFlatBoolRowSegments::operator=(const 
ScFlatBoolRowSegments& r)
+{
+    if (this != &r)
+        mpImpl.reset(new ScFlatBoolSegmentsImpl(*r.mpImpl));
+    return *this;
+}
+
 ScFlatBoolRowSegments::~ScFlatBoolRowSegments()
 {
 }
@@ -421,6 +428,13 @@ ScFlatBoolColSegments::ScFlatBoolColSegments(const 
ScFlatBoolColSegments& r) :
 {
 }
 
+ScFlatBoolColSegments& ScFlatBoolColSegments::operator=(const 
ScFlatBoolColSegments& r)
+{
+    if (this != &r)
+        mpImpl.reset(new ScFlatBoolSegmentsImpl(*r.mpImpl));
+    return *this;
+}
+
 ScFlatBoolColSegments::~ScFlatBoolColSegments()
 {
 }
@@ -520,6 +534,13 @@ ScFlatUInt16RowSegments::ScFlatUInt16RowSegments(const 
ScFlatUInt16RowSegments&
 {
 }
 
+ScFlatUInt16RowSegments& ScFlatUInt16RowSegments::operator=(const 
ScFlatUInt16RowSegments& r)
+{
+    if (this != &r)
+        mpImpl.reset(new ScFlatUInt16SegmentsImpl(*r.mpImpl));
+    return *this;
+}
+
 ScFlatUInt16RowSegments::~ScFlatUInt16RowSegments()
 {
 }
diff --git a/main/sfx2/source/dialog/filtergrouping.cxx 
b/main/sfx2/source/dialog/filtergrouping.cxx
index e677f6a723..795b4bdf4b 100644
--- a/main/sfx2/source/dialog/filtergrouping.cxx
+++ b/main/sfx2/source/dialog/filtergrouping.cxx
@@ -42,7 +42,7 @@
 #include <list>
 #include <vector>
 #include <map>
-#include <algorithm>
+#include <functional>
 
 //........................................................................
 namespace sfx2
diff --git a/main/unodevtools/source/skeletonmaker/cpptypemaker.cxx 
b/main/unodevtools/source/skeletonmaker/cpptypemaker.cxx
index e74045db91..3eb2ebf2c5 100644
--- a/main/unodevtools/source/skeletonmaker/cpptypemaker.cxx
+++ b/main/unodevtools/source/skeletonmaker/cpptypemaker.cxx
@@ -693,7 +693,7 @@ void printMapsToCppType(std::ostream & o,
     OString const & name, sal_Int32 rank,
     std::vector< OString > const & arguments, const char * cppTypeSort)
 {
-    o << "maps to C++ ";
+    o << "maps to C++11 ";
     if (cppTypeSort != 0)
         o << cppTypeSort << ' ';
 
@@ -857,11 +857,11 @@ void generateDocumentation(std::ostream & o,
             } else if (arguments.empty()) {
                 printMapsToCppType(o,
                     options, manager, sort, typeClass, name, rank, arguments,
-                    options.java5 ? "generic class" : "class");
+                    "generic class");
             } else {
                 printMapsToCppType(o,
                     options, manager, sort, typeClass, name, rank, arguments,
-                    options.java5 ? "generic class instantiation" : "class");
+                    "generic class instantiation");
             }
             o << "; full constructor:\n";
             printConstructor(o, options, manager, reader, arguments);
diff --git a/main/unodevtools/source/skeletonmaker/javacompskeleton.cxx 
b/main/unodevtools/source/skeletonmaker/javacompskeleton.cxx
index a8fb87ada3..92162a346d 100644
--- a/main/unodevtools/source/skeletonmaker/javacompskeleton.cxx
+++ b/main/unodevtools/source/skeletonmaker/javacompskeleton.cxx
@@ -338,37 +338,21 @@ void generateXAddInBodies(std::ostream& o, ProgramOptions 
const & options)
 
     // getDisplayArgumentName
     o << "    public String getDisplayArgumentName(String "
-        "aProgrammaticFunctionName, int nArgument)\n    {\n";
-    if (options.java5) {
-        o << "        return getAddinProperty(aProgrammaticFunctionName,\n"
-            "                                m_functionMap.get(\n"
-            "                                    
aProgrammaticFunctionName).get("
-            "nArgument),\n"
-            "                                sDISPLAYNAME);\n    }\n\n";
-    } else {
-        o << "        return getAddinProperty(aProgrammaticFunctionName, 
(String)\n"
-            "                                
((java.util.Hashtable)m_functionMap."
-            "get(\n                                    
aProgrammaticFunctionName))."
-            "get(\n                                        new 
Integer(nArgument))"
-            ", sDISPLAYNAME);\n    }\n\n";
-    }
+        "aProgrammaticFunctionName, int nArgument)\n    {\n"
+        "        return getAddinProperty(aProgrammaticFunctionName,\n"
+        "                                ((java.util.Hashtable<Integer, 
String>)m_functionMap.get(\n"
+        "                                    
aProgrammaticFunctionName)).get(\n"
+        "                                        
Integer.valueOf(nArgument)),\n"
+        "                                sDISPLAYNAME);\n    }\n\n";
 
     // getArgumentDescription
     o << "    public String getArgumentDescription(String "
-        "aProgrammaticFunctionName, int nArgument)\n    {\n";
-    if (options.java5) {
-        o << "        return getAddinProperty(aProgrammaticFunctionName,\n"
-            "                                m_functionMap.get(\n"
-            "                                    
aProgrammaticFunctionName).get("
-            "nArgument),\n"
-            "                                sDESCRIPTION);\n    }\n\n";
-    } else {
-        o << "        return getAddinProperty(aProgrammaticFunctionName, 
(String)\n"
-            "                                
((java.util.Hashtable)m_functionMap."
-            "get(\n                                    
aProgrammaticFunctionName))."
-            "get(\n                                        new 
Integer(nArgument))"
-            ", sDESCRIPTION);\n    }\n\n";
-    }
+        "aProgrammaticFunctionName, int nArgument)\n    {\n"
+        "        return getAddinProperty(aProgrammaticFunctionName,\n"
+        "                                ((java.util.Hashtable<Integer, 
String>)m_functionMap.get(\n"
+        "                                    
aProgrammaticFunctionName)).get(\n"
+        "                                        
Integer.valueOf(nArgument)),\n"
+        "                                sDESCRIPTION);\n    }\n\n";
     // getProgrammaticCategoryName
     o << "    public String getProgrammaticCategoryName(String "
         "aProgrammaticFunctionName)\n    {\n"
@@ -628,24 +612,16 @@ void generateAddinConstructorAndHelper(std::ostream& o,
         "m_xHAccess = null;\n"
         "    private com.sun.star.container.XHierarchicalNameAccess  "
         "m_xCompAccess = null;\n";
-    if (options.java5) {
-        o << "    private java.util.Hashtable<\n        String, "
-            "java.util.Hashtable< Integer, String> > m_functionMap = 
null;\n\n";
-    } else {
-        o << "    private java.util.Hashtable m_functionMap = null;\n\n";
-    }
+    o << "    private java.util.Hashtable<\n        String, "
+        "java.util.Hashtable<Integer, String> > m_functionMap = null;\n\n";
     // Constructor
     o << "\n    public " << classname << "( XComponentContext context )\n    
{\n"
         "        m_xContext = context;\n\n"
         "        try {\n";
 
-    if (options.java5) {
-        o << "        m_functionMap = new java.util.Hashtable<\n"
-            "            String, java.util.Hashtable< Integer, "
-            "String > >();\n\n";
-    } else {
-        o << "        m_functionMap = new java.util.Hashtable();\n\n";
-    }
+    o << "        m_functionMap = new java.util.Hashtable<\n"
+        "            String, java.util.Hashtable<Integer, "
+        "String> >();\n\n";
 
     generateFunctionParameterMap(o, options,  manager, interfaces);
 
diff --git a/main/unodevtools/source/skeletonmaker/javatypemaker.cxx 
b/main/unodevtools/source/skeletonmaker/javatypemaker.cxx
index ee1626295d..50da97d143 100644
--- a/main/unodevtools/source/skeletonmaker/javatypemaker.cxx
+++ b/main/unodevtools/source/skeletonmaker/javatypemaker.cxx
@@ -90,7 +90,7 @@ void printType(std::ostream & o,
     if ( sType.indexOf("java.lang.") == 0 )
         sType = sType.copy(10);
     o << sType.getStr();
-    if ( !arguments.empty() && options.java5 ) {
+    if ( !arguments.empty() ) {
         o << '<';
         for ( std::vector< OString >::const_iterator i(arguments.begin());
               i != arguments.end(); ++i )
@@ -217,7 +217,7 @@ void printMethodParameters(std::ostream & o,
             } else if ( (reader.getMethodParameterFlags(method, i) & 
RT_PARAM_REST )
                        != 0)
             {
-                o << (options.java5 ? "..." : "[]");
+                o << "...";
             }
             o << ' ';
         }
@@ -636,7 +636,7 @@ void printMapsToJavaType(std::ostream & o,
     OString const & name, sal_Int32 rank,
     std::vector< OString > const & arguments, const char * javaTypeSort)
 {
-    o << "maps to Java " << (options.java5 ? "1.5" : "1.4") << " ";
+    o << "maps to Java " << (options.java8 ? "1.8" : "1.4") << " ";
     if ( javaTypeSort != 0 ) {
         o << javaTypeSort << ' ';
     }
@@ -795,11 +795,11 @@ void generateDocumentation(std::ostream & o,
             } else if ( arguments.empty() ) {
                 printMapsToJavaType(o,
                     options, manager, sort, typeClass, name, rank, arguments,
-                    options.java5 ? "generic class" : "class");
+                    "generic class");
             } else {
                 printMapsToJavaType(o,
                     options, manager, sort, typeClass, name, rank, arguments,
-                    options.java5 ? "generic class instantiation" : "class");
+                    "generic class instantiation");
             }
             o << "; full constructor:\n";
             printConstructor(o, options, manager, reader, arguments);
diff --git a/main/unodevtools/source/skeletonmaker/skeletoncommon.cxx 
b/main/unodevtools/source/skeletonmaker/skeletoncommon.cxx
index 9047916e4c..c0a9a377d8 100644
--- a/main/unodevtools/source/skeletonmaker/skeletoncommon.cxx
+++ b/main/unodevtools/source/skeletonmaker/skeletoncommon.cxx
@@ -635,12 +635,8 @@ void generateFunctionParamterMap(std::ostream& o,
                 o << "        ParamMap fpm;\n";
             }
             else {
-                if ( options.java5 )
-                    o << "        java.util.Hashtable< Integer, String > fpm = 
"
-                        "new java.util.Hashtable< Integer, String >();\n";
-                else
-                    o << "        java.util.Hashtable fpm = "
-                        "new java.util.Hashtable();\n";
+                o << "        java.util.Hashtable<Integer, String> fpm = "
+                    "new java.util.Hashtable<Integer, String>();\n";
             }
             bFirst = false;
         } else
@@ -648,11 +644,8 @@ void generateFunctionParamterMap(std::ostream& o,
                 o << "        fpm = ParamMap();\n";
             }
             else {
-                if ( options.java5 )
-                    o << "        fpm = new java.util.Hashtable< "
-                        "Integer, String >();\n";
-                else
-                    o << "        fpm = new java.util.Hashtable();\n";
+                o << "        fpm = new java.util.Hashtable< "
+                    "Integer, String>();\n";
             }
 
         for ( sal_uInt16 p = 0; p < reader.getMethodParameterCount(m); ++p ) {
@@ -663,16 +656,10 @@ void generateFunctionParamterMap(std::ostream& o,
                   << "\");\n";
             }
             else {
-                if ( options.java5 )
-                    o << "        fpm.put(" << p << ", \""
-                      << codemaker::convertString(
-                          reader.getMethodParameterName(m, p))
-                      << "\");\n";
-                else
-                    o << "       fpm.put(new Integer(" << p << "), \""
-                      << codemaker::convertString(
-                          reader.getMethodParameterName(m, p))
-                      << "\");\n";
+                o << "        fpm.put(" << p << ", \""
+                  << codemaker::convertString(
+                      reader.getMethodParameterName(m, p))
+                  << "\");\n";
             }
         }
 
diff --git a/main/unodevtools/source/skeletonmaker/skeletoncommon.hxx 
b/main/unodevtools/source/skeletonmaker/skeletoncommon.hxx
index 5684a21db9..c9f197a277 100644
--- a/main/unodevtools/source/skeletonmaker/skeletoncommon.hxx
+++ b/main/unodevtools/source/skeletonmaker/skeletoncommon.hxx
@@ -44,11 +44,11 @@ typedef ::std::vector< ::std::pair< rtl::OString,
 
 
 struct ProgramOptions {
-    ProgramOptions(): java5(true), all(false), dump(false), license(false),
+    ProgramOptions(): java8(true), all(false), dump(false), license(false),
                       shortnames(false), supportpropertysetmixin(false),
                       backwardcompatible(false), language(1), componenttype(1) 
{}
 
-    bool java5;
+    bool java8;
     bool all;
     bool dump;
     bool license;
diff --git a/main/unodevtools/source/skeletonmaker/skeletonmaker.cxx 
b/main/unodevtools/source/skeletonmaker/skeletonmaker.cxx
index c39aed7479..e02777250c 100644
--- a/main/unodevtools/source/skeletonmaker/skeletonmaker.cxx
+++ b/main/unodevtools/source/skeletonmaker/skeletonmaker.cxx
@@ -61,11 +61,10 @@ static const char usageText[] =
 "                           a space separated list of urls.\n"
 "    -a, --all              list all interface methods, not only the direct\n"
 "                           ones\n"
-"    --(java4|java5|cpp)    select the target language\n"
-"                           --java4 generate output for Java 1.4 or earlier\n"
-"                           --java5 generate output for Java 1.5 or later (is 
\n"
-"                                   currently the default)\n"
-"                           --cpp   generate output for C++\n"
+    "    --(java8|cpp)         select the target language\n"
+    "                           --java8 generate output for Java 1.8 or later 
(is \n"
+    "                                   currently the default)\n"
+    "                           --cpp   generate output for C++\n"
 "    -sn, --shortnames      using namespace abbreviation 'css:': for\n"
 "                           '::com::sun::star::', only valid for sub-command\n"
 "                           'dump' and target language 'cpp'. It is default 
for the\n"
@@ -200,18 +199,13 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, /*argv*/)
             options.all = true;
             continue;
         }
-        if ( readOption( &bOption, "java4", &nPos, arg) ) {
-            options.java5 = false;
-            options.language = 1;
-            continue;
-        }
-        if ( readOption( &bOption, "java5", &nPos, arg) ) {
-            options.java5 = true;
+        if ( readOption( &bOption, "java4", &nPos, arg) || readOption( 
&bOption, "java5", &nPos, arg) || readOption( &bOption, "java8", &nPos, arg) ) {
+            options.java8 = true;
             options.language = 1;
             continue;
         }
         if ( readOption( &bOption, "cpp", &nPos, arg) ) {
-            options.java5 = false;
+            options.java8 = false;
             options.language = 2;
             continue;
         }

Reply via email to