de.fosd.typechef.featureexpr

DefaultPrint

trait DefaultPrint extends FeatureExpr

Linear Supertypes
FeatureExpr, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DefaultPrint
  2. FeatureExpr
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def and(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  2. abstract def calcSize: Int

    Attributes
    protected
    Definition Classes
    FeatureExpr
  3. abstract def collectDistinctFeatureObjects: Set[SingleFeatureExpr]

    Definition Classes
    FeatureExpr
  4. abstract def collectDistinctFeatures: Set[String]

    Definition Classes
    FeatureExpr
  5. abstract def evaluate(selectedFeatures: Set[String]): Boolean

    evaluate the expression for a given feature selection (all features not provided are assumed deselected)

    evaluate the expression for a given feature selection (all features not provided are assumed deselected)

    features provided as a list of names (how they would be created with createDefinedExternal)

    evaluates to true or false

    Definition Classes
    FeatureExpr
  6. abstract def getConfIfSimpleAndExpr(): Option[(Set[SingleFeatureExpr], Set[SingleFeatureExpr])]

    If this expr is a simple concatenation of SingleFeatureExpressions (and their negations), then this method returns the expression as a set of singleFeatureExpr that occur as enabled (disabled).

    If this expr is a simple concatenation of SingleFeatureExpressions (and their negations), then this method returns the expression as a set of singleFeatureExpr that occur as enabled (disabled). If the expression is more complex, None is returned.

    returns

    Definition Classes
    FeatureExpr
  7. abstract def getConfIfSimpleOrExpr(): Option[(Set[SingleFeatureExpr], Set[SingleFeatureExpr])]

    Definition Classes
    FeatureExpr
  8. abstract def getSatisfiableAssignment(featureModel: FeatureModel, interestingFeatures: Set[SingleFeatureExpr], preferDisabledFeatures: Boolean): Option[(List[SingleFeatureExpr], List[SingleFeatureExpr])]

    Definition Classes
    FeatureExpr
  9. abstract def isSatisfiable(fm: FeatureModel): Boolean

    x.

    x.isSatisfiable(fm) is short for x.and(fm).isSatisfiable but is faster because FM is cached

    Definition Classes
    FeatureExpr
  10. abstract def not(): FeatureExpr

    Definition Classes
    FeatureExpr
  11. abstract def or(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  12. abstract def toTextExpr: String

    Definition Classes
    FeatureExpr
  13. abstract def unique(feature: SingleFeatureExpr): FeatureExpr

    unique existential quantification over feature "feature".

    unique existential quantification over feature "feature".

    This has the effect of substituting the feature by true and false respectively and returning the xor of both: this[feature->True] xor this[feature->False]

    It can be seen as identifying under which condition the feature matters for the result of the formula

    Definition Classes
    FeatureExpr

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def &(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  5. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  6. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  7. final def andNot(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def debug_print(indent: Int): String

    Definition Classes
    FeatureExpr
  11. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  13. def equiv(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  14. def equivalentTo(that: FeatureExpr, fm: FeatureModel): Boolean

    Definition Classes
    FeatureExpr
  15. def equivalentTo(that: FeatureExpr): Boolean

    uses a SAT solver to determine whether two expressions are equivalent.

    uses a SAT solver to determine whether two expressions are equivalent.

    for performance reasons, it checks pointer equivalence first, but won't use the recursive equals on aexpr (there should only be few cases when equals is more accurate than eq, which are not worth the performance overhead)

    Definition Classes
    FeatureExpr
  16. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. def implies(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  20. def indent(level: Int): String

    Attributes
    protected
    Definition Classes
    FeatureExpr
  21. def isContradiction(fm: FeatureModel): Boolean

    Definition Classes
    FeatureExpr
  22. final def isContradiction(): Boolean

    Definition Classes
    FeatureExpr
  23. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  24. final def isSatisfiable(): Boolean

    Definition Classes
    FeatureExpr
  25. def isTautology(fm: FeatureModel): Boolean

    FM -> X is tautology if FM.

    FM -> X is tautology if FM.implies(X).isTautology or !FM.and.(x.not).isSatisfiable

    not final for optimization purposes

    Definition Classes
    FeatureExpr
  26. final def isTautology(): Boolean

    Definition Classes
    FeatureExpr
  27. def mex(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  28. final def ne(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  31. final def orNot(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  32. def print(p: Writer): Unit

    Prints the textual representation of this formula on a Writer.

    Prints the textual representation of this formula on a Writer. The result shall be equivalent to p.print(toTextExpr), but it should avoid consuming so much temporary space.

    p

    the output Writer

    Definition Classes
    DefaultPrintFeatureExpr
  33. final lazy val size: Int

    Definition Classes
    FeatureExpr
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  35. def toString(): String

    Converts this formula to a textual expression.

    Converts this formula to a textual expression.

    Definition Classes
    FeatureExpr → AnyRef → Any
  36. final def unary_!: FeatureExpr

    Definition Classes
    FeatureExpr
  37. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. def xor(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr
  41. final def |(that: FeatureExpr): FeatureExpr

    Definition Classes
    FeatureExpr

Inherited from FeatureExpr

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped