Class Assignable::AssignableDefinitions::TypeCasePatternDefinition

A local variable definition in a type case pattern, for example line 2 in

switch(p) {
  case string s:
    break;
  ...
}

Direct supertypes

Indirect supertypes

Fields

Predicates

getDeclaration

Gets the underlying local variable declaration.

getSource

Gets the assigned expression, if any. For example, the expression assigned in x = 0 is 0. The value may not always exists, for example in assignments via out/ref parameters.

getTypeCase

Gets the underlying case statement.

toString

Gets a textual representation of this assignable definition.

Inherited predicates

getAControlFlowNode

Gets a control flow node that updates the targeted assignable when reached.

from AssignableDefinition
getAFirstRead

Gets a first read of the same underlying assignable. That is, a read that can be reached from this definition without passing through any other reads, and which is guaranteed to read the value assigned in this definition. Example:

from AssignableDefinition
getAReachableRead

Gets a reachable read of the same underlying assignable. That is, a read that can be reached from this definition, and which is guaranteed to read the value assigned in this definition.

from AssignableDefinition
getElement

Gets the underlying element associated with this definition. This is either an expression or a parameter.

from AssignableDefinition
getEnclosingCallable

Gets the enclosing callable of this definition.

from AssignableDefinition
getExpr

Gets the underlying expression that updates the targeted assignable when reached, if any.

from AssignableDefinition
getLocation

Gets the location of this assignable definition.

from AssignableDefinition
getTarget

Gets the assignable being defined.

from AssignableDefinition
getTargetAccess

Gets the access used in the definition of the underlying assignable, if any. Local variable declarations and implicit parameter definitions are the only definitions without associated accesses.

from AssignableDefinition
isCertain

Holds if this definition is guaranteed to update the targeted assignable. The only potentially uncertain definitions are ref assignments.

from AssignableDefinition

Charpred