Class Operator.DescriptorComparison

Enclosing class:

protected static final class Operator.DescriptorComparison extends Object
A descriptor comparison encapsulates the result of comparing descriptor for two operands and describes at what level they are compatible.
  • Method Details

    • checkNumericCompatibility

      public static Operator.DescriptorComparison checkNumericCompatibility(@Nullable String leftDeclaredDescriptor, @Nullable String rightDeclaredDescriptor, @Nullable String leftActualDescriptor, @Nullable String rightActualDescriptor)
      Return an object that indicates whether the input descriptors are compatible.

      A declared descriptor is what could statically be determined (e.g. from looking at the return value of a property accessor method) whilst an actual descriptor is the type of an actual object that was returned, which may differ.

      For generic types with unbound type variables, the declared descriptor discovered may be 'Object' but from the actual descriptor it is possible to observe that the objects are really numeric values (e.g. ints).

      leftDeclaredDescriptor - the statically determinable left descriptor
      rightDeclaredDescriptor - the statically determinable right descriptor
      leftActualDescriptor - the dynamic/runtime left object descriptor
      rightActualDescriptor - the dynamic/runtime right object descriptor
      a DescriptorComparison object indicating the type of compatibility, if any