Class CheckedExceptionConstraint

java.lang.Object
org.checkerframework.framework.util.typeinference8.constraint.TypeConstraint
org.checkerframework.framework.util.typeinference8.constraint.CheckedExceptionConstraint
All Implemented Interfaces:
Constraint, ReductionResult

public class CheckedExceptionConstraint extends TypeConstraint
<LambdaExpression →throws T>: The checked exceptions thrown by the body of the LambdaExpression are declared by the throws clause of the function type derived from T.

<MethodReference →throws T>: The checked exceptions thrown by the referenced method are declared by the throws clause of the function type derived from T.

  • Field Details

  • Constructor Details

    • CheckedExceptionConstraint

      public CheckedExceptionConstraint(ExpressionTree expression, AbstractType t, Theta map)
      Creates a CheckedExceptionConstraint.
      Parameters:
      expression - LambdaExpressionTree or MemberReferenceTree for this constraint
      t - a function type
      map - The mapping from type variable to inference variable to use with this constraint
  • Method Details

    • getKind

      public Constraint.Kind getKind()
      Description copied from interface: Constraint
      Return the kind of constraint.
      Returns:
      the kind of constraint
    • getInputVariables

      public List<Variable> getInputVariables()
      Description copied from class: TypeConstraint
      For lambda and method references constraints, input variables are roughly the inference variables mentioned by they function type's parameter types and return types. For conditional expression constraints and switch expression constraints, input variables are the union of the input variables of its subexpressions. For all other constraints, no input variables exist.

      Defined in JLS section 18.5.2.2

      Specified by:
      getInputVariables in class TypeConstraint
      Returns:
      input variables for this constraint
    • getOutputVariables

      public List<Variable> getOutputVariables()
      Description copied from class: TypeConstraint
      "The output variables of [expression] constraints are all inference variables mentioned by the type on the right-hand side of the constraint, T, that are not input variables."

      As defined in JLS section 18.5.2.2

      Specified by:
      getOutputVariables in class TypeConstraint
      Returns:
      output variables for this constraint
    • reduce

      public ReductionResult reduce(Java8InferenceContext context)
      Description copied from interface: Constraint
      Reduce this constraint what this means depends on the kind of constraint. Reduction can produce new bounds and/or new constraints.

      Reduction is documented in JLS section 18.2

      Parameters:
      context - Java8InferenceContext
      Returns:
      the result of reducing this constraint
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class TypeConstraint
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class TypeConstraint