A setting represented by a boolean flag (false, unless set)
A setting represented by a string in a given set of choices
,
(default
unless set).
Internal use - syntax enhancements.
Internal use - syntax enhancements.
A setting represented by an integer.
Each MultiChoiceSetting takes a MultiChoiceEnumeration as domain.
Each MultiChoiceSetting takes a MultiChoiceEnumeration as domain. The enumeration may
use the Choice class to define values, or simply use the default Value
constructor:
object SettingDomain extends MultiChoiceEnumeration { val arg1, arg2 = Value }
Or
object SettingDomain extends MultiChoiceEnumeration { val arg1 = Choice("arg1", "help") val arg2 = Choice("arg2", "help") }
Choices with a non-empty expandsTo
enable other options. Note that expanding choices are
not present in the multiChoiceSetting.value set, only their expansion.
A Setting that collects string-valued settings from an enumerated domain.
A Setting that collects string-valued settings from an enumerated domain.
Arguments can be provided in colonated or non-colonated mode, i.e. "-option a b" or "-option:a,b". Note that arguments starting with a "-" can only be provided in colonated mode, otherwise they are interpreted as a new option.
In non-colonated mode, the setting stops consuming arguments at the first non-choice, i.e. "-option a b c" only consumes "a" and "b" if "c" is not a valid choice.
A setting that accumulates all strings supplied to it, until it encounters one starting with a '-'.
A class for holding mappings from source directories to their output location.
A class for holding mappings from source directories to their output location. This functionality can be accessed only programmatically. The command line compiler uses a single output location, but tools may use this functionality to set output location per source directory.
Set the output directory.
A setting represented by a list of strings which should be prefixes of phase names.
A setting represented by a list of strings which should be prefixes of
phase names. This is not checked here, however. Alternatively the string
"all"
can be used to represent all phases.
(the empty list, unless set)
A special setting for accumulating arguments like -Dfoo=bar.
A setting represented by a Scala version.
A setting represented by a Scala version.
The initial
value is used if the setting is not specified.
The default
value is used if the option is specified without argument (e.g., -Xmigration
).
A base class for settings of all types.
A base class for settings of all types.
Subclasses each define a value
field of the appropriate type.
A setting represented by a string, (default
unless set)
Test two objects for inequality.
Test two objects for inequality.
true
if !(this == that), false otherwise.
Equivalent to x.hashCode
except for boxed numeric types and null
.
Equivalent to x.hashCode
except for boxed numeric types and null
.
For numerics, it returns a hash value which is consistent
with value equality: if two value type instances compare
as true, then ## will produce the same hash value for each
of them.
For null
returns a hashcode where null.hashCode
throws a
NullPointerException
.
a hash value consistent with ==
The expression x == that
is equivalent to if (x eq null) that eq null else x.equals(that)
.
The expression x == that
is equivalent to if (x eq null) that eq null else x.equals(that)
.
true
if the receiver object is equivalent to the argument; false
otherwise.
-X "Advanced" settings
-X "Advanced" settings
Settings motivated by GenBCode
Settings motivated by GenBCode
Area-specific debug output.
Area-specific debug output.
IDE-specific settings
IDE-specific settings
Set of settings
Set of settings
Cast the receiver object to be of type T0
.
Cast the receiver object to be of type T0
.
Note that the success of a cast at runtime is modulo Scala's erasure semantics.
Therefore the expression 1.asInstanceOf[String]
will throw a ClassCastException
at
runtime, while the expression List(1).asInstanceOf[List[String]]
will not.
In the latter example, because the type argument is erased as part of compilation it is
not possible to check whether the contents of the list are of the requested type.
the receiver object.
ClassCastException
if the receiver object is not an instance of the erasure of type T0
.
Path related settings.
Path related settings.
Create a copy of the receiver object.
Create a copy of the receiver object.
The default implementation of the clone
method is platform dependent.
a copy of the receiver object.
not specified by SLS as a member of AnyRef
Create a new Settings object, copying all user-set values.
Compatibility stubs for options whose value name did not previously match the option name.
Compatibility stubs for options whose value name did not previously match the option name.
Against my better judgment, giving in to martin here and allowing CLASSPATH to be used automatically.
Against my better judgment, giving in to martin here and allowing CLASSPATH to be used automatically. So for the user-specified part of the classpath:
Other settings.
Other settings.
Disable a setting
Disable a setting
Initializes these settings for embedded use by a class from the given class loader.
Initializes these settings for embedded use by a class from the given class loader.
The class loader for T
should provide resources app.class.path
and boot.class.path
. These resources should contain the application
and boot classpaths in the same form as would be passed on the command line.
Initializes these settings for embedded use by type T
.
Initializes these settings for embedded use by type T
.
The class loader defining T
should provide resources app.class.path
and boot.class.path
. These resources should contain the application
and boot classpaths in the same form as would be passed on the command line.
Tests whether the argument (that
) is a reference to the receiver object (this
).
Tests whether the argument (that
) is a reference to the receiver object (this
).
The eq
method implements an equivalence relation on
non-null instances of AnyRef
, and has three additional properties:
x
and y
of type AnyRef
, multiple invocations of
x.eq(y)
consistently returns true
or consistently returns false
.x
of type AnyRef
, x.eq(null)
and null.eq(x)
returns false
.null.eq(null)
returns true
. When overriding the equals
or hashCode
methods, it is important to ensure that their behavior is
consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2
), they
should be equal to each other (o1 == o2
) and they should hash to the same value (o1.hashCode == o2.hashCode
).
true
if the argument is a reference to the receiver object; false
otherwise.
The equality method for reference types.
The equality method for reference types. Default implementation delegates to eq
.
See also equals
in scala.Any.
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
Enabled under -Xexperimental.
Enabled under -Xexperimental.
Called by the garbage collector on the receiver object when there are no more references to the object.
Called by the garbage collector on the receiver object when there are no more references to the object.
The details of when and if the finalize
method is invoked, as
well as the interaction between finalize
and non-local returns
and exceptions, are all platform dependent.
not specified by SLS as a member of AnyRef
Groups of Settings.
Groups of Settings.
Enabled under -Xfuture.
Enabled under -Xfuture.
A representation that corresponds to the dynamic class of the receiver object.
A representation that corresponds to the dynamic class of the receiver object.
The nature of the representation is platform dependent.
a representation that corresponds to the dynamic class of the receiver object.
not specified by SLS as a member of AnyRef
The hashCode method for reference types.
The hashCode method for reference types. See hashCode in scala.Any.
the hash code value for this object.
If any of these settings is enabled, the compiler should print a message and exit.
If any of these settings is enabled, the compiler should print a message and exit.
Is an info setting set?
Is an info setting set?
Test whether the dynamic type of the receiver object is T0
.
Test whether the dynamic type of the receiver object is T0
.
Note that the result of the test is modulo Scala's erasure semantics.
Therefore the expression 1.isInstanceOf[String]
will return false
, while the
expression List(1).isInstanceOf[List[String]]
will return true
.
In the latter example, because the type argument is erased as part of compilation it is
not possible to check whether the contents of the list are of the specified type.
true
if the receiver object is an instance of erasure of type T0
; false
otherwise.
Test whether this is scaladoc we're looking at
Test whether this is scaladoc we're looking at
Equivalent to !(this eq that)
.
Equivalent to !(this eq that)
.
true
if the argument is not a reference to the receiver object; false
otherwise.
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up a single thread that is waiting on the receiver object's monitor.
not specified by SLS as a member of AnyRef
Wakes up all threads that are waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
not specified by SLS as a member of AnyRef
Enabled under -optimise.
Enabled under -optimise.
A list pairing source directories with their output directory.
A list pairing source directories with their output directory. This option is not available on the command line, but can be set by other tools (IDEs especially). The command line specifies a single output directory that is used for all source files, denoted by a '*' in this list.
-Y "Private" settings
-Y "Private" settings
Returns any unprocessed arguments.
Returns any unprocessed arguments.
-P "Plugin" settings
-P "Plugin" settings
A list of settings which act based on prefix rather than an exact match.
A list of settings which act based on prefix rather than an exact match. This is basically -D and -J.
Iterates over the arguments applying them to settings where applicable.
Iterates over the arguments applying them to settings where applicable. Then verifies setting dependencies are met.
This temporarily takes a boolean indicating whether to keep processing if an argument is seen which is not a command line option. This is an expedience for the moment so that you can say
scalac -d /tmp foo.scala -optimise
while also allowing
scala Program opt opt
to get their arguments.
Returns (success, List of unprocessed arguments)
Split the given line into parameters.
Creates a String representation of this object.
Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.
a String representation of the object.
(Since version 2.11.0) This option is being removed
(Since version 2.11.0) Use fatalWarnings
(Since version 2.11.2) Use warnAdaptedArgs
(Since version 2.11.2) Use warnInaccessible
(Since version 2.11.2) Use warnInferAny
(Since version 2.11.2) Use warnNullaryOverride
(Since version 2.11.2) Use warnNullaryUnit
(Since version 2.11.0) Use warnDeadCode
A mutable Settings object.