A Transformer with the default operation to narrow the type of the visited subject; all methods for abstract node types have a default implementation while those for concrete node types remain formal.

There are two ways to perform this narrowing:

  • immediately, by invoking the transform (Node.transform) method on the subject, or
  • cascadingly, where each method switches on the enumerated subtypes of the node type and narrows only by one layer by invoking the corresponding transformX method on the transformer.

It should be possible to use them interchangeably (swap out the satisfying type of your implementing class without any effect), and since the immediate version is faster (it’s only a virtual method lookup instead of a series of calls and type checks), you should probably use that.

no type hierarchy

Inherited Attributes
Attributes inherited from: Object
hash, string
Methods
transformAddingExpressionshared formal Result transformAddingExpression(AddingExpression that)
transformAssigningExpressionshared formal Result transformAssigningExpression(AssigningExpression that)
transformComparingExpressionshared formal Result transformComparingExpression(ComparingExpression that)
transformConjoiningExpressionshared formal Result transformConjoiningExpression(ConjoiningExpression that)
transformDisjoiningExpressionshared formal Result transformDisjoiningExpression(DisjoiningExpression that)
transformEquatingExpressionshared formal Result transformEquatingExpression(EquatingExpression that)
transformExistsNonemptyExpressionshared formal Result transformExistsNonemptyExpression(ExistsNonemptyExpression that)
transformExponentiatingExpressionshared formal Result transformExponentiatingExpression(ExponentiatingExpression that)
transformIntersectingExpressionshared formal Result transformIntersectingExpression(IntersectingExpression that)
transformInvertingExpressionshared formal Result transformInvertingExpression(InvertingExpression that)
transformMultiplyingExpressionshared formal Result transformMultiplyingExpression(MultiplyingExpression that)
transformNegatingExpressionshared formal Result transformNegatingExpression(NegatingExpression that)
transformPrePostfixingExpressionshared formal Result transformPrePostfixingExpression(PrePostfixingExpression that)
transformScalingExpressionshared formal Result transformScalingExpression(ScalingExpression that)
transformSpanningExpressionshared formal Result transformSpanningExpression(SpanningExpression that)
transformStructureExpressionshared formal Result transformStructureExpression(StructureExpression that)
transformThenElseExpressionshared formal Result transformThenElseExpression(ThenElseExpression that)
transformUnioningExpressionshared formal Result transformUnioningExpression(UnioningExpression that)
Inherited Methods
Methods inherited from: Object
equals
Methods inherited from: Transformer<Result>
transformAddAssignmentOperation(), transformAliasDec(), transformAndAssignmentOperation(), transformAndOperation(), transformAnnotation(), transformAnnotations(), transformAnonymousArgument(), transformAnyClass(), transformAnyCompilationUnit(), transformAnyFunction(), transformAnyInterface(), transformAnyInterfaceDefinition(), transformAnyMemberOperator(), transformAnySpecifier(), transformAnyValue(), transformArgumentList(), transformArguments(), transformArithmeticAssignmentOperation(), transformArithmeticOperation(), transformAssertion(), transformAssignOperation(), transformAssignmentOperation(), transformAssignmentStatement(), transformAtom(), transformBaseExpression(), transformBaseMeta(), transformBaseType(), transformBinaryOperation(), transformBlock(), transformBody(), transformBooleanCondition(), transformBound(), transformBreak(), transformCallableConstructorDefinition(), transformCallableParameter(), transformCallableType(), transformCaseClause(), transformCaseExpression(), transformCaseItem(), transformCaseTypes(), transformCatchClause(), transformCharacterLiteral(), transformClassAliasDefinition(), transformClassBody(), transformClassDec(), transformClassDefinition(), transformClassOrInterface(), transformClassSpecifier(), transformClosedBound(), transformCompareOperation(), transformComparisonOperation(), transformCompilationUnit(), transformComplementAssignmentOperation(), transformComplementOperation(), transformComprehension(), transformComprehensionClause(), transformCondition(), transformConditionalExpression(), transformConditions(), transformConstruction(), transformConstructorDec(), transformConstructorDefinition(), transformContinue(), transformControlStructure(), transformDec(), transformDecQualifier(), transformDeclaration(), transformDefaultedCallableParameter(), transformDefaultedParameter(), transformDefaultedParameterReference(), transformDefaultedType(), transformDefaultedValueParameter(), transformDestructure(), transformDifferenceOperation(), transformDirective(), transformDivideAssignmentOperation(), transformDynamicBlock(), transformDynamicInterfaceDefinition(), transformDynamicModifier(), transformDynamicValue(), transformElementOrSubrangeExpression(), transformElseClause(), transformElseOperation(), transformEntryOperation(), transformEntryPattern(), transformEntryType(), transformEqualOperation(), transformEqualityOperation(), transformExistsCondition(), transformExistsOperation(), transformExistsOrNonemptyCondition(), transformExponentiationOperation(), transformExpression(), transformExpressionComprehensionClause(), transformExpressionStatement(), transformExtendedType(), transformExtension(), transformExtensionOrConstruction(), transformFailClause(), transformFinallyClause(), transformFloatLiteral(), transformForClause(), transformForComprehensionClause(), transformForFail(), transformForIterator(), transformFullPackageName(), transformFunctionArgument(), transformFunctionDec(), transformFunctionDeclaration(), transformFunctionDefinition(), transformFunctionExpression(), transformFunctionModifier(), transformFunctionShortcutDefinition(), transformGivenDec(), transformGroupedExpression(), transformGroupedType(), transformIdenticalOperation(), transformIdentifier(), transformIdentityOperation(), transformIfClause(), transformIfComprehensionClause(), transformIfElse(), transformIfElseExpression(), transformImport(), transformImportAlias(), transformImportElement(), transformImportElements(), transformImportFunctionValueAlias(), transformImportFunctionValueElement(), transformImportTypeAlias(), transformImportTypeElement(), transformImportWildcard(), transformInModifier(), transformInOperation(), transformInitialComprehensionClause(), transformInlineDefinitionArgument(), transformIntegerLiteral(), transformInterfaceAliasDefinition(), transformInterfaceBody(), transformInterfaceDec(), transformInterfaceDefinition(), transformIntersectAssignmentOperation(), transformIntersectionOperation(), transformIntersectionType(), transformInvocation(), transformInvocationStatement(), transformIsCase(), transformIsCondition(), transformIsOperation(), transformIterable(), transformIterableType(), transformKeySubscript(), transformLIdentifier(), transformLargeAsOperation(), transformLargerOperation(), transformLazySpecification(), transformLazySpecifier(), transformLetExpression(), transformLiteral(), transformLocalModifier(), transformLogicalAssignmentOperation(), transformLogicalOperation(), transformMainType(), transformMatchCase(), transformMeasureOperation(), transformMeasureSubscript(), transformMemberDec(), transformMemberMeta(), transformMemberNameWithTypeArguments(), transformMemberOperator(), transformMeta(), transformModifier(), transformModuleBody(), transformModuleCompilationUnit(), transformModuleDec(), transformModuleDescriptor(), transformModuleImport(), transformMultiplyAssignmentOperation(), transformNameWithTypeArguments(), transformNamedArgument(), transformNamedArguments(), transformNegationOperation(), transformNode(), transformNonemptyCondition(), transformNonemptyOperation(), transformNotEqualOperation(), transformNotOperation(), transformObjectArgument(), transformObjectDefinition(), transformObjectExpression(), transformOfOperation(), transformOpenBound(), transformOperation(), transformOptionalType(), transformOrAssignmentOperation(), transformOrOperation(), transformOutModifier(), transformOuter(), transformPackage(), transformPackageCompilationUnit(), transformPackageDec(), transformPackageDescriptor(), transformPackageQualifier(), transformParameter(), transformParameterReference(), transformParameters(), transformPattern(), transformPatternList(), transformPositionalArguments(), transformPostfixDecrementOperation(), transformPostfixIncrementOperation(), transformPostfixOperation(), transformPrefixDecrementOperation(), transformPrefixIncrementOperation(), transformPrefixOperation(), transformPrefixPostfixStatement(), transformPrimary(), transformPrimaryType(), transformProductOperation(), transformQualifiedExpression(), transformQualifiedType(), transformQuotientOperation(), transformRangeSubscript(), transformRemainderAssignmentOperation(), transformRemainderOperation(), transformRequiredParameter(), transformResource(), transformResources(), transformReturn(), transformSafeMemberOperator(), transformSatisfiedTypes(), transformScaleOperation(), transformSelfReference(), transformSequentialType(), transformSetAssignmentOperation(), transformSetOperation(), transformSimpleType(), transformSmallAsOperation(), transformSmallerOperation(), transformSpanFromSubscript(), transformSpanOperation(), transformSpanSubscript(), transformSpanToSubscript(), transformSpecification(), transformSpecifiedArgument(), transformSpecifiedPattern(), transformSpecifiedVariable(), transformSpecifier(), transformSpreadArgument(), transformSpreadMemberOperator(), transformSpreadType(), transformStatement(), transformStringLiteral(), transformStringTemplate(), transformSubscript(), transformSubtractAssignmentOperation(), transformSumOperation(), transformSuper(), transformSwitchCaseElse(), transformSwitchCaseElseExpression(), transformSwitchCases(), transformSwitchClause(), transformThenOperation(), transformThis(), transformThrow(), transformTryCatchFinally(), transformTryClause(), transformTuple(), transformTuplePattern(), transformTupleType(), transformType(), transformTypeAliasDefinition(), transformTypeArgument(), transformTypeArguments(), transformTypeConstraint(), transformTypeDec(), transformTypeDeclaration(), transformTypeIsh(), transformTypeList(), transformTypeMeta(), transformTypeModifier(), transformTypeNameWithTypeArguments(), transformTypeParameter(), transformTypeParameters(), transformTypeSpecifier(), transformTypedDeclaration(), transformTypedVariable(), transformUIdentifier(), transformUnaryArithmeticOperation(), transformUnaryIshOperation(), transformUnaryOperation(), transformUnaryTypeOperation(), transformUnionAssignmentOperation(), transformUnionOperation(), transformUnionType(), transformUnionableType(), transformUnspecifiedVariable(), transformValueArgument(), transformValueConstructorDefinition(), transformValueDec(), transformValueDeclaration(), transformValueDefinition(), transformValueExpression(), transformValueGetterDefinition(), transformValueModifier(), transformValueParameter(), transformValueSetterDefinition(), transformValueSpecification(), transformVariable(), transformVariablePattern(), transformVariadicParameter(), transformVariadicType(), transformVariadicVariable(), transformVariance(), transformVoidModifier(), transformWhile(), transformWithinOperation()