Package

pl.touk.nussknacker.engine.api.typed

supertype

Permalink

package supertype

Visibility
  1. Public
  2. All

Type Members

  1. class CommonSupertypeFinder extends AnyRef

    Permalink

    This class finding common supertype of two types.

    This class finding common supertype of two types. It basically based on fact that TypingResults are sets of possible supertypes with some additional restrictions (like TypedObjectTypingResult).

    This class, like CanBeSubclassDeterminer is in spirit of "Be type safety as much as possible, but also provide some helpful conversion for types not in the same jvm class hierarchy like boxed Integer to boxed Long and so on". WARNING: Evaluation of SpEL expressions fit into this spirit, for other language evaluation engines you need to provide such a compatibility.

    TODO: strictTaggedTypesChecking was added as quickFix for compare Type with TaggedType. We should remove it after we will support creating model with TaggedType field

  2. trait NumberTypesPromotionStrategy extends Serializable

    Permalink
  3. trait ReturningSingleClassPromotionStrategy extends NumberTypesPromotionStrategy

    Permalink
  4. sealed trait SupertypeClassResolutionStrategy extends AnyRef

    Permalink

Value Members

  1. object ClassHierarchyCommonSupertypeFinder

    Permalink

    It looks for nearest common super type using algorithm described here: See https://stackoverflow.com/a/9797689 It means that for combination:

    It looks for nearest common super type using algorithm described here: See https://stackoverflow.com/a/9797689 It means that for combination:

    C <: B <: A
    D <: B <: A

    it will return only B (without A). For combination:

    C <: (B <: A) with (B' <: A')
    D <: (B <: A) with (B' <: A')

    it will return union (B or B')

  2. object NumberTypesPromotionStrategy extends Serializable

    Permalink
  3. object SupertypeClassResolutionStrategy

    Permalink

Ungrouped