make/langtools/tools/propertiesparser/PropertiesParser.java
changeset 51737 30e6a0b9d691
parent 47216 71c04702a3d5
child 52804 28094715ae71
equal deleted inserted replaced
51736:42d99cb7f50f 51737:30e6a0b9d691
    28 import propertiesparser.parser.MessageFile;
    28 import propertiesparser.parser.MessageFile;
    29 import propertiesparser.gen.ClassGenerator;
    29 import propertiesparser.gen.ClassGenerator;
    30 
    30 
    31 import java.io.File;
    31 import java.io.File;
    32 import java.io.PrintStream;
    32 import java.io.PrintStream;
    33 import java.util.HashMap;
    33 import java.util.TreeMap;
    34 import java.util.Map;
    34 import java.util.Map;
    35 
    35 
    36 /** Translates a .properties file into a .java file containing an enum-like Java class
    36 /** Translates a .properties file into a .java file containing an enum-like Java class
    37  *  which defines static factory methods for all resource keys in a given resource file. <P>
    37  *  which defines static factory methods for all resource keys in a given resource file. <P>
    38  *
    38  *
    94             throw new RuntimeException(ex);
    94             throw new RuntimeException(ex);
    95         }
    95         }
    96     }
    96     }
    97 
    97 
    98     private Map<String, String> parseOptions(String args[]) {
    98     private Map<String, String> parseOptions(String args[]) {
    99         Map<String, String> optionsMap = new HashMap<>(args.length);
    99         /* Use TreeMap to guarantee stable forEach iteration */
       
   100         Map<String, String> optionsMap = new TreeMap<>();
   100         for ( int i = 0; i < args.length ; i++ ) {
   101         for ( int i = 0; i < args.length ; i++ ) {
   101             if ( "-compile".equals(args[i]) && i+2 < args.length ) {
   102             if ( "-compile".equals(args[i]) && i+2 < args.length ) {
   102                 optionsMap.put(args[++i], args[++i]);
   103                 optionsMap.put(args[++i], args[++i]);
   103             } else {
   104             } else {
   104                 return new HashMap<>();
   105                 return new TreeMap<>();
   105             }
   106             }
   106         }
   107         }
   107         return optionsMap;
   108         return optionsMap;
   108     }
   109     }
   109 
   110