Skip to content

Commit d0f50b2

Browse files
committed
Reorder and organize a few options
1 parent 5a23637 commit d0f50b2

File tree

3 files changed

+70
-68
lines changed

3 files changed

+70
-68
lines changed

src/main/java/org/truffleruby/options/Options.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,10 @@ public class Options {
4747
public final String CORE_LOAD_PATH;
4848
/** --rubygems=true */
4949
public final boolean RUBYGEMS;
50-
/** --lazy-rubygems=RUBYGEMS && DEFAULT_LAZY */
51-
public final boolean LAZY_RUBYGEMS;
52-
/** --patching=true */
53-
public final boolean PATCHING;
5450
/** --did-you-mean=true */
5551
public final boolean DID_YOU_MEAN;
56-
/** --hashing-deterministic=false */
57-
public final boolean HASHING_DETERMINISTIC;
58-
/** --pattern-matching=false */
59-
public final boolean PATTERN_MATCHING;
52+
/** --lazy-rubygems=RUBYGEMS && DEFAULT_LAZY */
53+
public final boolean LAZY_RUBYGEMS;
6054
/** --embedded=true */
6155
public final boolean EMBEDDED;
6256
/** --platform-native=env.isNativeAccessAllowed() && true */
@@ -75,6 +69,12 @@ public class Options {
7569
public final boolean TRACE_CALLS;
7670
/** --coverage-global=false */
7771
public final boolean COVERAGE_GLOBAL;
72+
/** --pattern-matching=false */
73+
public final boolean PATTERN_MATCHING;
74+
/** --patching=true */
75+
public final boolean PATCHING;
76+
/** --hashing-deterministic=false */
77+
public final boolean HASHING_DETERMINISTIC;
7878
/** --exceptions-store-java=false */
7979
public final boolean EXCEPTIONS_STORE_JAVA;
8080
/** --exceptions-print-java=false */
@@ -211,11 +211,8 @@ public Options(Env env, OptionValues options, LanguageOptions languageOptions) {
211211
LAUNCHER = options.get(OptionsCatalog.LAUNCHER_KEY);
212212
CORE_LOAD_PATH = options.get(OptionsCatalog.CORE_LOAD_PATH_KEY);
213213
RUBYGEMS = options.get(OptionsCatalog.RUBYGEMS_KEY);
214-
LAZY_RUBYGEMS = RUBYGEMS && (options.hasBeenSet(OptionsCatalog.LAZY_RUBYGEMS_KEY) ? options.get(OptionsCatalog.LAZY_RUBYGEMS_KEY) : languageOptions.DEFAULT_LAZY);
215-
PATCHING = options.get(OptionsCatalog.PATCHING_KEY);
216214
DID_YOU_MEAN = options.get(OptionsCatalog.DID_YOU_MEAN_KEY);
217-
HASHING_DETERMINISTIC = options.get(OptionsCatalog.HASHING_DETERMINISTIC_KEY);
218-
PATTERN_MATCHING = options.get(OptionsCatalog.PATTERN_MATCHING_KEY);
215+
LAZY_RUBYGEMS = RUBYGEMS && (options.hasBeenSet(OptionsCatalog.LAZY_RUBYGEMS_KEY) ? options.get(OptionsCatalog.LAZY_RUBYGEMS_KEY) : languageOptions.DEFAULT_LAZY);
219216
EMBEDDED = options.get(OptionsCatalog.EMBEDDED_KEY);
220217
NATIVE_PLATFORM = env.isNativeAccessAllowed() && (options.get(OptionsCatalog.NATIVE_PLATFORM_KEY));
221218
NATIVE_INTERRUPT = options.hasBeenSet(OptionsCatalog.NATIVE_INTERRUPT_KEY) ? options.get(OptionsCatalog.NATIVE_INTERRUPT_KEY) : NATIVE_PLATFORM;
@@ -225,6 +222,9 @@ public Options(Env env, OptionValues options, LanguageOptions languageOptions) {
225222
HOST_INTEROP = env.isHostLookupAllowed() && (options.get(OptionsCatalog.HOST_INTEROP_KEY));
226223
TRACE_CALLS = options.get(OptionsCatalog.TRACE_CALLS_KEY);
227224
COVERAGE_GLOBAL = options.get(OptionsCatalog.COVERAGE_GLOBAL_KEY);
225+
PATTERN_MATCHING = options.get(OptionsCatalog.PATTERN_MATCHING_KEY);
226+
PATCHING = options.get(OptionsCatalog.PATCHING_KEY);
227+
HASHING_DETERMINISTIC = options.get(OptionsCatalog.HASHING_DETERMINISTIC_KEY);
228228
EXCEPTIONS_STORE_JAVA = options.get(OptionsCatalog.EXCEPTIONS_STORE_JAVA_KEY);
229229
EXCEPTIONS_PRINT_JAVA = options.get(OptionsCatalog.EXCEPTIONS_PRINT_JAVA_KEY);
230230
EXCEPTIONS_PRINT_UNCAUGHT_JAVA = options.get(OptionsCatalog.EXCEPTIONS_PRINT_UNCAUGHT_JAVA_KEY);
@@ -314,16 +314,10 @@ public Object fromDescriptor(OptionDescriptor descriptor) {
314314
return CORE_LOAD_PATH;
315315
case "ruby.rubygems":
316316
return RUBYGEMS;
317-
case "ruby.lazy-rubygems":
318-
return LAZY_RUBYGEMS;
319-
case "ruby.patching":
320-
return PATCHING;
321317
case "ruby.did-you-mean":
322318
return DID_YOU_MEAN;
323-
case "ruby.hashing-deterministic":
324-
return HASHING_DETERMINISTIC;
325-
case "ruby.pattern-matching":
326-
return PATTERN_MATCHING;
319+
case "ruby.lazy-rubygems":
320+
return LAZY_RUBYGEMS;
327321
case "ruby.embedded":
328322
return EMBEDDED;
329323
case "ruby.platform-native":
@@ -342,6 +336,12 @@ public Object fromDescriptor(OptionDescriptor descriptor) {
342336
return TRACE_CALLS;
343337
case "ruby.coverage-global":
344338
return COVERAGE_GLOBAL;
339+
case "ruby.pattern-matching":
340+
return PATTERN_MATCHING;
341+
case "ruby.patching":
342+
return PATCHING;
343+
case "ruby.hashing-deterministic":
344+
return HASHING_DETERMINISTIC;
345345
case "ruby.exceptions-store-java":
346346
return EXCEPTIONS_STORE_JAVA;
347347
case "ruby.exceptions-print-java":

src/options.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,12 @@ EXPERT:
6666
# CRuby features (--enable/disable-FEATURE), also exposed as options so they can be used outside the Ruby launcher
6767
FROZEN_STRING_LITERALS: [frozen-string-literals, boolean, false, Use frozen string literals]
6868
RUBYGEMS: [rubygems, boolean, true, Use RubyGems]
69+
DID_YOU_MEAN: [did-you-mean, boolean, true, Use did_you_mean]
70+
71+
# Control lazy behavior
6972
DEFAULT_LAZY: [lazy-default, boolean, true, Enable default lazy options]
7073
LAZY_CALLTARGETS: [lazy-calltargets, boolean, DEFAULT_LAZY, Create CallTargets lazily when possible]
7174
LAZY_RUBYGEMS: [lazy-rubygems, boolean, ['RUBYGEMS && ', DEFAULT_LAZY], Load RubyGems lazily on first failing require]
72-
PATCHING: [patching, boolean, true, Use patching]
73-
DID_YOU_MEAN: [did-you-mean, boolean, true, Use did_you_mean]
74-
HASHING_DETERMINISTIC: [hashing-deterministic, boolean, false, Produce deterministic hash values]
75-
PATTERN_MATCHING: [pattern-matching, boolean, false, Enable pattern matching syntax]
7675

7776
# Embedding options
7877
EMBEDDED: [embedded, boolean, true, 'Set default options for an embedded use of TruffleRuby, rather than top-level use']
@@ -86,11 +85,14 @@ EXPERT:
8685
# Ruby-level features
8786
TRACE_CALLS: [trace-calls, boolean, true, 'Support tracing (set_trace_func, TracePoint) of method calls']
8887
COVERAGE_GLOBAL: [coverage-global, boolean, false, Run coverage for all code and print results on exit]
88+
PATTERN_MATCHING: [pattern-matching, boolean, false, Enable pattern matching syntax]
8989

9090
# Options helpful in for debugging, potentially also for user code
9191
CORE_AS_INTERNAL: [core-as-internal, boolean, false, 'Mark core library sources as internal']
9292
STDLIB_AS_INTERNAL: [stdlib-as-internal, boolean, false, 'Mark stdlib sources as internal']
9393
LAZY_TRANSLATION_USER: [lazy-translation-user, boolean, LAZY_CALLTARGETS, 'Lazily translation of stdlib, gem and user source files']
94+
PATCHING: [patching, boolean, true, Use patching]
95+
HASHING_DETERMINISTIC: [hashing-deterministic, boolean, false, Produce deterministic hash values]
9496

9597
# Options to tweak backtraces
9698
EXCEPTIONS_STORE_JAVA: [exceptions-store-java, boolean, false, Store the Java exception with the Ruby backtrace]

src/shared/java/org/truffleruby/shared/options/OptionsCatalog.java

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,10 @@ public class OptionsCatalog {
3333
public static final OptionKey<String> CORE_LOAD_PATH_KEY = new OptionKey<>("resource:/truffleruby");
3434
public static final OptionKey<Boolean> FROZEN_STRING_LITERALS_KEY = new OptionKey<>(false);
3535
public static final OptionKey<Boolean> RUBYGEMS_KEY = new OptionKey<>(true);
36+
public static final OptionKey<Boolean> DID_YOU_MEAN_KEY = new OptionKey<>(true);
3637
public static final OptionKey<Boolean> DEFAULT_LAZY_KEY = new OptionKey<>(true);
3738
public static final OptionKey<Boolean> LAZY_CALLTARGETS_KEY = new OptionKey<>(DEFAULT_LAZY_KEY.getDefaultValue());
3839
public static final OptionKey<Boolean> LAZY_RUBYGEMS_KEY = new OptionKey<>(DEFAULT_LAZY_KEY.getDefaultValue());
39-
public static final OptionKey<Boolean> PATCHING_KEY = new OptionKey<>(true);
40-
public static final OptionKey<Boolean> DID_YOU_MEAN_KEY = new OptionKey<>(true);
41-
public static final OptionKey<Boolean> HASHING_DETERMINISTIC_KEY = new OptionKey<>(false);
42-
public static final OptionKey<Boolean> PATTERN_MATCHING_KEY = new OptionKey<>(false);
4340
public static final OptionKey<Boolean> EMBEDDED_KEY = new OptionKey<>(true);
4441
public static final OptionKey<Boolean> NATIVE_PLATFORM_KEY = new OptionKey<>(true);
4542
public static final OptionKey<Boolean> NATIVE_INTERRUPT_KEY = new OptionKey<>(NATIVE_PLATFORM_KEY.getDefaultValue());
@@ -49,9 +46,12 @@ public class OptionsCatalog {
4946
public static final OptionKey<Boolean> HOST_INTEROP_KEY = new OptionKey<>(true);
5047
public static final OptionKey<Boolean> TRACE_CALLS_KEY = new OptionKey<>(true);
5148
public static final OptionKey<Boolean> COVERAGE_GLOBAL_KEY = new OptionKey<>(false);
49+
public static final OptionKey<Boolean> PATTERN_MATCHING_KEY = new OptionKey<>(false);
5250
public static final OptionKey<Boolean> CORE_AS_INTERNAL_KEY = new OptionKey<>(false);
5351
public static final OptionKey<Boolean> STDLIB_AS_INTERNAL_KEY = new OptionKey<>(false);
5452
public static final OptionKey<Boolean> LAZY_TRANSLATION_USER_KEY = new OptionKey<>(LAZY_CALLTARGETS_KEY.getDefaultValue());
53+
public static final OptionKey<Boolean> PATCHING_KEY = new OptionKey<>(true);
54+
public static final OptionKey<Boolean> HASHING_DETERMINISTIC_KEY = new OptionKey<>(false);
5555
public static final OptionKey<Boolean> EXCEPTIONS_STORE_JAVA_KEY = new OptionKey<>(false);
5656
public static final OptionKey<Boolean> EXCEPTIONS_PRINT_JAVA_KEY = new OptionKey<>(false);
5757
public static final OptionKey<Boolean> EXCEPTIONS_PRINT_UNCAUGHT_JAVA_KEY = new OptionKey<>(false);
@@ -242,6 +242,13 @@ public class OptionsCatalog {
242242
.stability(OptionStability.EXPERIMENTAL)
243243
.build();
244244

245+
public static final OptionDescriptor DID_YOU_MEAN = OptionDescriptor
246+
.newBuilder(DID_YOU_MEAN_KEY, "ruby.did-you-mean")
247+
.help("Use did_you_mean")
248+
.category(OptionCategory.EXPERT)
249+
.stability(OptionStability.EXPERIMENTAL)
250+
.build();
251+
245252
public static final OptionDescriptor DEFAULT_LAZY = OptionDescriptor
246253
.newBuilder(DEFAULT_LAZY_KEY, "ruby.lazy-default")
247254
.help("Enable default lazy options")
@@ -263,34 +270,6 @@ public class OptionsCatalog {
263270
.stability(OptionStability.EXPERIMENTAL)
264271
.build();
265272

266-
public static final OptionDescriptor PATCHING = OptionDescriptor
267-
.newBuilder(PATCHING_KEY, "ruby.patching")
268-
.help("Use patching")
269-
.category(OptionCategory.EXPERT)
270-
.stability(OptionStability.EXPERIMENTAL)
271-
.build();
272-
273-
public static final OptionDescriptor DID_YOU_MEAN = OptionDescriptor
274-
.newBuilder(DID_YOU_MEAN_KEY, "ruby.did-you-mean")
275-
.help("Use did_you_mean")
276-
.category(OptionCategory.EXPERT)
277-
.stability(OptionStability.EXPERIMENTAL)
278-
.build();
279-
280-
public static final OptionDescriptor HASHING_DETERMINISTIC = OptionDescriptor
281-
.newBuilder(HASHING_DETERMINISTIC_KEY, "ruby.hashing-deterministic")
282-
.help("Produce deterministic hash values")
283-
.category(OptionCategory.EXPERT)
284-
.stability(OptionStability.EXPERIMENTAL)
285-
.build();
286-
287-
public static final OptionDescriptor PATTERN_MATCHING = OptionDescriptor
288-
.newBuilder(PATTERN_MATCHING_KEY, "ruby.pattern-matching")
289-
.help("Enable pattern matching syntax")
290-
.category(OptionCategory.EXPERT)
291-
.stability(OptionStability.EXPERIMENTAL)
292-
.build();
293-
294273
public static final OptionDescriptor EMBEDDED = OptionDescriptor
295274
.newBuilder(EMBEDDED_KEY, "ruby.embedded")
296275
.help("Set default options for an embedded use of TruffleRuby, rather than top-level use")
@@ -354,6 +333,13 @@ public class OptionsCatalog {
354333
.stability(OptionStability.EXPERIMENTAL)
355334
.build();
356335

336+
public static final OptionDescriptor PATTERN_MATCHING = OptionDescriptor
337+
.newBuilder(PATTERN_MATCHING_KEY, "ruby.pattern-matching")
338+
.help("Enable pattern matching syntax")
339+
.category(OptionCategory.EXPERT)
340+
.stability(OptionStability.EXPERIMENTAL)
341+
.build();
342+
357343
public static final OptionDescriptor CORE_AS_INTERNAL = OptionDescriptor
358344
.newBuilder(CORE_AS_INTERNAL_KEY, "ruby.core-as-internal")
359345
.help("Mark core library sources as internal")
@@ -375,6 +361,20 @@ public class OptionsCatalog {
375361
.stability(OptionStability.EXPERIMENTAL)
376362
.build();
377363

364+
public static final OptionDescriptor PATCHING = OptionDescriptor
365+
.newBuilder(PATCHING_KEY, "ruby.patching")
366+
.help("Use patching")
367+
.category(OptionCategory.EXPERT)
368+
.stability(OptionStability.EXPERIMENTAL)
369+
.build();
370+
371+
public static final OptionDescriptor HASHING_DETERMINISTIC = OptionDescriptor
372+
.newBuilder(HASHING_DETERMINISTIC_KEY, "ruby.hashing-deterministic")
373+
.help("Produce deterministic hash values")
374+
.category(OptionCategory.EXPERT)
375+
.stability(OptionStability.EXPERIMENTAL)
376+
.build();
377+
378378
public static final OptionDescriptor EXCEPTIONS_STORE_JAVA = OptionDescriptor
379379
.newBuilder(EXCEPTIONS_STORE_JAVA_KEY, "ruby.exceptions-store-java")
380380
.help("Store the Java exception with the Ruby backtrace")
@@ -1089,20 +1089,14 @@ public static OptionDescriptor fromName(String name) {
10891089
return FROZEN_STRING_LITERALS;
10901090
case "ruby.rubygems":
10911091
return RUBYGEMS;
1092+
case "ruby.did-you-mean":
1093+
return DID_YOU_MEAN;
10921094
case "ruby.lazy-default":
10931095
return DEFAULT_LAZY;
10941096
case "ruby.lazy-calltargets":
10951097
return LAZY_CALLTARGETS;
10961098
case "ruby.lazy-rubygems":
10971099
return LAZY_RUBYGEMS;
1098-
case "ruby.patching":
1099-
return PATCHING;
1100-
case "ruby.did-you-mean":
1101-
return DID_YOU_MEAN;
1102-
case "ruby.hashing-deterministic":
1103-
return HASHING_DETERMINISTIC;
1104-
case "ruby.pattern-matching":
1105-
return PATTERN_MATCHING;
11061100
case "ruby.embedded":
11071101
return EMBEDDED;
11081102
case "ruby.platform-native":
@@ -1121,12 +1115,18 @@ public static OptionDescriptor fromName(String name) {
11211115
return TRACE_CALLS;
11221116
case "ruby.coverage-global":
11231117
return COVERAGE_GLOBAL;
1118+
case "ruby.pattern-matching":
1119+
return PATTERN_MATCHING;
11241120
case "ruby.core-as-internal":
11251121
return CORE_AS_INTERNAL;
11261122
case "ruby.stdlib-as-internal":
11271123
return STDLIB_AS_INTERNAL;
11281124
case "ruby.lazy-translation-user":
11291125
return LAZY_TRANSLATION_USER;
1126+
case "ruby.patching":
1127+
return PATCHING;
1128+
case "ruby.hashing-deterministic":
1129+
return HASHING_DETERMINISTIC;
11301130
case "ruby.exceptions-store-java":
11311131
return EXCEPTIONS_STORE_JAVA;
11321132
case "ruby.exceptions-print-java":
@@ -1343,13 +1343,10 @@ public static OptionDescriptor[] allDescriptors() {
13431343
CORE_LOAD_PATH,
13441344
FROZEN_STRING_LITERALS,
13451345
RUBYGEMS,
1346+
DID_YOU_MEAN,
13461347
DEFAULT_LAZY,
13471348
LAZY_CALLTARGETS,
13481349
LAZY_RUBYGEMS,
1349-
PATCHING,
1350-
DID_YOU_MEAN,
1351-
HASHING_DETERMINISTIC,
1352-
PATTERN_MATCHING,
13531350
EMBEDDED,
13541351
NATIVE_PLATFORM,
13551352
NATIVE_INTERRUPT,
@@ -1359,9 +1356,12 @@ public static OptionDescriptor[] allDescriptors() {
13591356
HOST_INTEROP,
13601357
TRACE_CALLS,
13611358
COVERAGE_GLOBAL,
1359+
PATTERN_MATCHING,
13621360
CORE_AS_INTERNAL,
13631361
STDLIB_AS_INTERNAL,
13641362
LAZY_TRANSLATION_USER,
1363+
PATCHING,
1364+
HASHING_DETERMINISTIC,
13651365
EXCEPTIONS_STORE_JAVA,
13661366
EXCEPTIONS_PRINT_JAVA,
13671367
EXCEPTIONS_PRINT_UNCAUGHT_JAVA,

0 commit comments

Comments
 (0)