< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.java

Print this page




  35 import org.graalvm.compiler.options.EnumOptionKey.ValueHelp;
  36 import org.graalvm.util.EconomicMap;
  37 import org.graalvm.util.Equivalence;
  38 import org.graalvm.util.UnmodifiableEconomicMap;
  39 import org.graalvm.util.UnmodifiableMapCursor;
  40 
  41 /**
  42  * A context for obtaining values for {@link OptionKey}s.
  43  */
  44 public class OptionValues {
  45 
  46     private final UnmodifiableEconomicMap<OptionKey<?>, Object> values;
  47 
  48     protected boolean containsKey(OptionKey<?> key) {
  49         return values.containsKey(key);
  50     }
  51 
  52     public OptionValues(OptionValues initialValues, UnmodifiableEconomicMap<OptionKey<?>, Object> extraPairs) {
  53         EconomicMap<OptionKey<?>, Object> map = newOptionMap();
  54         if (initialValues != null) {
  55             map.putAll(initialValues.values);
  56         }
  57         initMap(map, extraPairs);
  58         this.values = map;
  59     }
  60 
  61     public OptionValues(OptionValues initialValues, OptionKey<?> key1, Object value1, Object... extraPairs) {
  62         this(initialValues, asMap(key1, value1, extraPairs));
  63     }
  64 
  65     /**
  66      * Creates a new map suitable for using {@link OptionKey}s as keys.
  67      */
  68     public static EconomicMap<OptionKey<?>, Object> newOptionMap() {
  69         return EconomicMap.create(Equivalence.IDENTITY);
  70     }
  71 
  72     /**
  73      * Gets an immutable view of the key/value pairs in this object. Values read from this view
  74      * should be {@linkplain #decodeNull(Object) decoded} before being used.
  75      */




  35 import org.graalvm.compiler.options.EnumOptionKey.ValueHelp;
  36 import org.graalvm.util.EconomicMap;
  37 import org.graalvm.util.Equivalence;
  38 import org.graalvm.util.UnmodifiableEconomicMap;
  39 import org.graalvm.util.UnmodifiableMapCursor;
  40 
  41 /**
  42  * A context for obtaining values for {@link OptionKey}s.
  43  */
  44 public class OptionValues {
  45 
  46     private final UnmodifiableEconomicMap<OptionKey<?>, Object> values;
  47 
  48     protected boolean containsKey(OptionKey<?> key) {
  49         return values.containsKey(key);
  50     }
  51 
  52     public OptionValues(OptionValues initialValues, UnmodifiableEconomicMap<OptionKey<?>, Object> extraPairs) {
  53         EconomicMap<OptionKey<?>, Object> map = newOptionMap();
  54         if (initialValues != null) {
  55             map.putAll(initialValues.getMap());
  56         }
  57         initMap(map, extraPairs);
  58         this.values = map;
  59     }
  60 
  61     public OptionValues(OptionValues initialValues, OptionKey<?> key1, Object value1, Object... extraPairs) {
  62         this(initialValues, asMap(key1, value1, extraPairs));
  63     }
  64 
  65     /**
  66      * Creates a new map suitable for using {@link OptionKey}s as keys.
  67      */
  68     public static EconomicMap<OptionKey<?>, Object> newOptionMap() {
  69         return EconomicMap.create(Equivalence.IDENTITY);
  70     }
  71 
  72     /**
  73      * Gets an immutable view of the key/value pairs in this object. Values read from this view
  74      * should be {@linkplain #decodeNull(Object) decoded} before being used.
  75      */


< prev index next >