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
transformAddingExpressionSource Codeshared formal Result transformAddingExpression(AddingExpression that)
transformArtifactSource Codeshared formal Result transformArtifact(Artifact that)
transformAssertionMessageSource Codeshared formal Result transformAssertionMessage(AssertionMessage that)
transformAssigningExpressionSource Codeshared formal Result transformAssigningExpression(AssigningExpression that)
transformClassifierSource Codeshared formal Result transformClassifier(Classifier that)
transformComparingExpressionSource Codeshared formal Result transformComparingExpression(ComparingExpression that)
transformConjoiningExpressionSource Codeshared formal Result transformConjoiningExpression(ConjoiningExpression that)
transformDisjoiningExpressionSource Codeshared formal Result transformDisjoiningExpression(DisjoiningExpression that)
transformEquatingExpressionSource Codeshared formal Result transformEquatingExpression(EquatingExpression that)
transformExistsNonemptyExpressionSource Codeshared formal Result transformExistsNonemptyExpression(ExistsNonemptyExpression that)
transformExponentiatingExpressionSource Codeshared formal Result transformExponentiatingExpression(ExponentiatingExpression that)
transformIntersectingExpressionSource Codeshared formal Result transformIntersectingExpression(IntersectingExpression that)
transformInvertingExpressionSource Codeshared formal Result transformInvertingExpression(InvertingExpression that)
transformModuleSource Codeshared formal Result transformModule(Module that)
transformModuleNameSource Codeshared formal Result transformModuleName(ModuleName that)
transformMultiplyingExpressionSource Codeshared formal Result transformMultiplyingExpression(MultiplyingExpression that)
transformNegatingExpressionSource Codeshared formal Result transformNegatingExpression(NegatingExpression that)
transformPrePostfixingExpressionSource Codeshared formal Result transformPrePostfixingExpression(PrePostfixingExpression that)
transformRepositorySource Codeshared formal Result transformRepository(Repository that)
transformScalingExpressionSource Codeshared formal Result transformScalingExpression(ScalingExpression that)
transformSpanningExpressionSource Codeshared formal Result transformSpanningExpression(SpanningExpression that)
transformStructureExpressionSource Codeshared formal Result transformStructureExpression(StructureExpression that)
transformThenElseExpressionSource Codeshared formal Result transformThenElseExpression(ThenElseExpression that)
transformUnioningExpressionSource Codeshared 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(), 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(), transformModuleSpecifier(), 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()