Class

scala.tools.nsc.settings.MutableSettings

MultiChoiceSetting

Related Doc: package MutableSettings

Permalink

class MultiChoiceSetting[E <: MultiChoiceEnumeration] extends Setting with Clearable

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.

Source
MutableSettings.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultiChoiceSetting
  2. Clearable
  3. Setting
  4. Mutable
  5. SettingValue
  6. AbsSetting
  7. AbsSettingValue
  8. Ordered
  9. Comparable
  10. AnyRef
  11. Any
Implicitly
  1. by orderingToOrdered
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type T = E.ValueSet

    Permalink
    Definition Classes
    MultiChoiceSetting → AbsSettingValue

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink

    Test two objects for inequality.

    Test two objects for inequality.

    returns

    true if !(this == that), false otherwise.

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink

    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.

    returns

    a hash value consistent with ==

    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to any2stringadd[MultiChoiceSetting[E]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (MultiChoiceSetting[E], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to ArrowAssoc[MultiChoiceSetting[E]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. def <(that: Setting): Boolean

    Permalink
    Definition Classes
    Ordered
  6. def <=(that: Setting): Boolean

    Permalink
    Definition Classes
    Ordered
  7. final def ==(arg0: Any): Boolean

    Permalink

    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).

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AnyRef → Any
  8. def >(that: Setting): Boolean

    Permalink
    Definition Classes
    Ordered
  9. def >=(that: Setting): Boolean

    Permalink
    Definition Classes
    Ordered
  10. object ChoiceOrVal

    Permalink
  11. def abbreviations: List[String]

    Permalink
    Definition Classes
    SettingAbsSetting
  12. def add(arg: String): Unit

    Permalink

    Add a named choice to the multichoice value.

  13. final def asInstanceOf[T0]: T0

    Permalink

    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.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown

    ClassCastException if the receiver object is not an instance of the erasure of type T0.

  14. val choices: List[String]

    Permalink
    Definition Classes
    MultiChoiceSettingAbsSetting
  15. def clear(): Unit

    Permalink
    Definition Classes
    MultiChoiceSetting → Clearable
  16. def clone(): AnyRef

    Permalink

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
    Note

    not specified by SLS as a member of AnyRef

  17. def compare(that: Setting): Int

    Permalink
    Definition Classes
    AbsSetting → Ordered
  18. def compareTo(that: Setting): Int

    Permalink
    Definition Classes
    Ordered → Comparable
  19. def compute(): Unit

    Permalink

    (Re)compute from current yeas, nays, wildcard status.

  20. def contains(s: String): Boolean

    Permalink
  21. def contains(choice: E.Value): Boolean

    Permalink
  22. val default: Option[List[String]]

    Permalink

    If Some(args), the default options if none are provided.

    If Some(args), the default options if none are provided. If None, an error is printed if there are no arguments.

  23. def dependencies: List[(Setting, String)]

    Permalink
    Definition Classes
    SettingAbsSetting
  24. def dependsOn(s: Setting, value: String): MultiChoiceSetting.this.type

    Permalink
    Definition Classes
    Setting
  25. def deprecationMessage: Option[String]

    Permalink
    Definition Classes
    SettingAbsSetting
  26. def descriptions: List[String]

    Permalink
  27. val domain: E

    Permalink

    enumeration of choices implementing MultiChoice, or the string value is taken for the name

  28. def ensuring(cond: (MultiChoiceSetting[E]) ⇒ Boolean, msg: ⇒ Any): MultiChoiceSetting[E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to Ensuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  29. def ensuring(cond: (MultiChoiceSetting[E]) ⇒ Boolean): MultiChoiceSetting[E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to Ensuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  30. def ensuring(cond: Boolean, msg: ⇒ Any): MultiChoiceSetting[E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to Ensuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  31. def ensuring(cond: Boolean): MultiChoiceSetting[E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to Ensuring[MultiChoiceSetting[E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  32. final def eq(arg0: AnyRef): Boolean

    Permalink

    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:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance 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).

    returns

    true if the argument is a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  33. def equals(that: Any): Boolean

    Permalink

    Equality tries to sidestep all the drama and define it simply and in one place: two AbsSetting objects are equal if their names and values compare equal.

    Equality tries to sidestep all the drama and define it simply and in one place: two AbsSetting objects are equal if their names and values compare equal.

    that

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AbsSetting → AnyRef → Any
  34. def errorAndValue[T](msg: String, x: T): T

    Permalink

    Issue error and return

    Issue error and return

    Definition Classes
    AbsSetting
  35. def finalize(): Unit

    Permalink

    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.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
    Note

    not specified by SLS as a member of AnyRef

  36. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to StringFormat[MultiChoiceSetting[E]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  37. final def getClass(): Class[_]

    Permalink

    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.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
    AnyRef → Any
    Note

    not specified by SLS as a member of AnyRef

  38. def hashCode(): Int

    Permalink

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

    the hash code value for this object.

    Definition Classes
    AbsSetting → AnyRef → Any
  39. def help: String

    Permalink
  40. val helpDescription: String

    Permalink
    Definition Classes
    SettingAbsSetting
  41. def helpSyntax: String

    Permalink
    Definition Classes
    SettingAbsSetting
  42. def internalOnly(): MultiChoiceSetting.this.type

    Permalink
    Definition Classes
    AbsSetting
  43. def isAdvanced: Boolean

    Permalink

    These categorizations are so the help output shows -X and -P among the standard options and -Y among the advanced options.

    These categorizations are so the help output shows -X and -P among the standard options and -Y among the advanced options.

    Definition Classes
    AbsSetting
  44. def isDefault: Boolean

    Permalink
    Definition Classes
    SettingValue → AbsSettingValue
  45. def isDeprecated: Boolean

    Permalink
    Definition Classes
    AbsSetting
  46. def isForDebug: Boolean

    Permalink
    Definition Classes
    AbsSetting
  47. def isHelping: Boolean

    Permalink
  48. final def isInstanceOf[T0]: Boolean

    Permalink

    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.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  49. def isInternalOnly: Boolean

    Permalink
    Definition Classes
    AbsSetting
  50. def isPrivate: Boolean

    Permalink
    Definition Classes
    AbsSetting
  51. def isSetByUser: Boolean

    Permalink
    Definition Classes
    SettingValue
  52. def isStandard: Boolean

    Permalink
    Definition Classes
    AbsSetting
  53. val name: String

    Permalink
    Definition Classes
    SettingAbsSetting
  54. final def ne(arg0: AnyRef): Boolean

    Permalink

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  55. final def notify(): Unit

    Permalink

    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.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  56. final def notifyAll(): Unit

    Permalink

    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.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  57. def postSetHook(): Unit

    Permalink
    Definition Classes
    Setting → SettingValue
  58. def respondsTo(label: String): Boolean

    Permalink
    Definition Classes
    AbsSetting
  59. var setByUser: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    SettingValue
  60. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  61. def toString(): String

    Permalink

    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.

    returns

    a String representation of the object.

    Definition Classes
    AbsSetting → AnyRef → Any
  62. def tryToSet(args: List[String]): Some[List[String]]

    Permalink

    After correct Setting has been selected, tryToSet is called with the remainder of the command line.

    After correct Setting has been selected, tryToSet is called with the remainder of the command line. It consumes any applicable arguments and returns the unconsumed ones.

    Definition Classes
    MultiChoiceSettingAbsSetting
  63. def tryToSetColon(args: List[String]): Some[List[String]]

    Permalink

    Commands which can take lists of arguments in form -Xfoo:bar,baz override this method and accept them as a list.

    Commands which can take lists of arguments in form -Xfoo:bar,baz override this method and accept them as a list. It returns List[String] for consistency with tryToSet, and should return its incoming arguments unmodified on failure, and Nil on success.

    Definition Classes
    MultiChoiceSettingAbsSetting
  64. def tryToSetFromPropertyValue(s: String): Unit

    Permalink

    Attempt to set from a properties file style property value.

    Attempt to set from a properties file style property value. Currently used by Eclipse SDT only. !!! Needs test.

    Definition Classes
    MultiChoiceSettingAbsSetting
  65. def unparse: List[String]

    Permalink
    Definition Classes
    MultiChoiceSettingAbsSetting
  66. var v: T

    Permalink
    Attributes
    protected
    Definition Classes
    MultiChoiceSetting → SettingValue
  67. def value: T

    Permalink
    Definition Classes
    SettingValue → AbsSettingValue
  68. def valueSetByUser: Option[T]

    Permalink
    Definition Classes
    SettingValue
  69. def value_=(arg: T): Unit

    Permalink
    Definition Classes
    SettingValue
  70. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. def withAbbreviation(s: String): MultiChoiceSetting.this.type

    Permalink

    In mutable Settings, these return the same object with a var set.

    In mutable Settings, these return the same object with a var set. In immutable, of course they will return a new object, which means we can't use "this.type", at least not in a non-casty manner, which is unfortunate because we lose type information without it.

    ...but now they're this.type because of #3462. The immutable side doesn't exist yet anyway.

    Definition Classes
    SettingAbsSetting
  74. def withDeprecationMessage(msg: String): MultiChoiceSetting.this.type

    Permalink
    Definition Classes
    SettingAbsSetting
  75. def withHelpSyntax(s: String): MultiChoiceSetting.this.type

    Permalink
    Definition Classes
    SettingAbsSetting
  76. def withPostSetHook(f: (MultiChoiceSetting.this.type) ⇒ Unit): MultiChoiceSetting.this.type

    Permalink
    Definition Classes
    Setting
  77. def [B](y: B): (MultiChoiceSetting[E], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to ArrowAssoc[MultiChoiceSetting[E]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. def <(that: MultiChoiceSetting[E]): Boolean

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).<(that)
    Definition Classes
    Ordered
  2. def <=(that: MultiChoiceSetting[E]): Boolean

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).<=(that)
    Definition Classes
    Ordered
  3. def >(that: MultiChoiceSetting[E]): Boolean

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).>(that)
    Definition Classes
    Ordered
  4. def >=(that: MultiChoiceSetting[E]): Boolean

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).>=(that)
    Definition Classes
    Ordered
  5. def compare(that: MultiChoiceSetting[E]): Int

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).compare(that)
    Definition Classes
    Ordered
  6. def compareTo(that: MultiChoiceSetting[E]): Int

    Permalink
    Implicit information
    This member is added by an implicit conversion from MultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[MultiChoiceSetting[E]] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).compareTo(that)
    Definition Classes
    Ordered → Comparable

Inherited from Clearable

Inherited from Setting

Inherited from Mutable

Inherited from math.Ordered[Setting]

Inherited from Comparable[Setting]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion orderingToOrdered from MultiChoiceSetting[E] to math.Ordered[MultiChoiceSetting[E]]

Inherited by implicit conversion any2stringadd from MultiChoiceSetting[E] to any2stringadd[MultiChoiceSetting[E]]

Inherited by implicit conversion StringFormat from MultiChoiceSetting[E] to StringFormat[MultiChoiceSetting[E]]

Inherited by implicit conversion Ensuring from MultiChoiceSetting[E] to Ensuring[MultiChoiceSetting[E]]

Inherited by implicit conversion ArrowAssoc from MultiChoiceSetting[E] to ArrowAssoc[MultiChoiceSetting[E]]

Ungrouped