Package io.trino.json.ir
Interface IrPathNode
- All Known Subinterfaces:
IrPredicate
- All Known Implementing Classes:
IrAbsMethod,IrArithmeticBinary,IrArithmeticUnary,IrArrayAccessor,IrCeilingMethod,IrComparisonPredicate,IrConjunctionPredicate,IrConstantJsonSequence,IrContextVariable,IrDatetimeMethod,IrDescendantMemberAccessor,IrDisjunctionPredicate,IrDoubleMethod,IrExistsPredicate,IrFilter,IrFloorMethod,IrIsUnknownPredicate,IrJsonNull,IrKeyValueMethod,IrLastIndexVariable,IrLiteral,IrMemberAccessor,IrNamedJsonVariable,IrNamedValueVariable,IrNegationPredicate,IrPredicateCurrentItemVariable,IrSizeMethod,IrStartsWithPredicate,IrTypeMethod
public sealed interface IrPathNode
permits IrAbsMethod, IrArithmeticBinary, IrArithmeticUnary, IrArrayAccessor, IrCeilingMethod, IrConstantJsonSequence, IrContextVariable, IrDatetimeMethod, IrDescendantMemberAccessor, IrDoubleMethod, IrFilter, IrFloorMethod, IrJsonNull, IrKeyValueMethod, IrLastIndexVariable, IrLiteral, IrMemberAccessor, IrNamedJsonVariable, IrNamedValueVariable, IrPredicate, IrPredicateCurrentItemVariable, IrSizeMethod, IrTypeMethod
-
Method Summary
Modifier and TypeMethodDescriptiondefault <R,C> R accept(IrJsonPathVisitor<R, C> visitor, C context) type()Get the result type, whenever known.
-
Method Details
-
accept
-
type
Get the result type, whenever known. Type might be known for IrPathNodes returning a singleton sequence (e.g. IrArithmeticBinary), as well as for IrPathNodes returning a sequence of arbitrary length (e.g. IrSizeMethod). If the node potentially returns a non-singleton sequence, this method shall return Type only if the type is the same for all elements of the sequence. NOTE: Type is not applicable to every IrPathNode. If the IrPathNode produces an empty sequence, a JSON null, or a sequence containing non-literal JSON items, Type cannot be determined.
-