Class MCStructuralTypesTypeVisitor

java.lang.Object
de.monticore.types3.AbstractTypeVisitor
de.monticore.types.mcstructuraltypes.types3.MCStructuralTypesTypeVisitor
All Implemented Interfaces:
MCStructuralTypesVisitor2, de.monticore.visitor.IVisitor

public class MCStructuralTypesTypeVisitor extends AbstractTypeVisitor implements MCStructuralTypesVisitor2
  • Constructor Details

    • MCStructuralTypesTypeVisitor

      public MCStructuralTypesTypeVisitor()
  • Method Details

    • endVisit

      public void endVisit(ASTMCUnionType unionType)
      Specified by:
      endVisit in interface MCStructuralTypesVisitor2
    • endVisit

      public void endVisit(ASTMCIntersectionType intersectionType)
      Specified by:
      endVisit in interface MCStructuralTypesVisitor2
    • endVisit

      public void endVisit(ASTMCTupleType tupleType)
      Specified by:
      endVisit in interface MCStructuralTypesVisitor2
    • endVisit

      public void endVisit(ASTMCBracketType bracketType)
      Specified by:
      endVisit in interface MCStructuralTypesVisitor2
    • transformUnionTree2List

      protected List<ASTMCType> transformUnionTree2List(ASTMCType mcType)
      converts the parsed tree to a list this is a specific kind of type normalization, which also reduces the complexity of the type printed, which is the reason this has been added here. E.g., given A | B | C, (A | B | C) is printed rather than ((A | B) | C).
    • transformIntersectionTree2List

      protected List<ASTMCType> transformIntersectionTree2List(ASTMCType mcType)
      converts the parsed tree to a list this is a specific kind of type normalization, which also reduces the complexity of the type printed, which is the reason this has been added here. E.g., given A & B & C, (A & B & C) is printed rather than ((A & B) & C).