Package de.monticore.types3.util
Class SymTypeCollectionVisitor
- java.lang.Object
-
- de.monticore.types3.util.SymTypeCollectionVisitor
-
- All Implemented Interfaces:
ISymTypeVisitor
public class SymTypeCollectionVisitor extends java.lang.Object implements ISymTypeVisitor
Collects contained SymTypeExpressions based on a predicate, e.g., type:(List<A>, Set<List<C>>) -> voidpredicate: isList result:List<A>, List<C>Usage: calculate(mySymType, predicate)
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanallowDuplicatesprotected java.util.function.Predicate<SymTypeExpression>filterprotected java.util.List<SymTypeExpression>types
-
Constructor Summary
Constructors Constructor Description SymTypeCollectionVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddType(SymTypeExpression type)java.util.List<SymTypeExpression>calculate(SymTypeExpression symType, java.util.function.Predicate<SymTypeExpression> filter)java.util.List<SymTypeExpression>calculate(SymTypeExpression symType, java.util.function.Predicate<SymTypeExpression> filter, boolean allowDuplicates)uses this visitor with the provided symType and returns the result.protected java.util.List<SymTypeExpression>getCollectedTypes()voidreset()voidvisit(SymTypeArray symType)voidvisit(SymTypeInferenceVariable infVar)voidvisit(SymTypeObscure obscure)voidvisit(SymTypeOfFunction symType)voidvisit(SymTypeOfGenerics symType)voidvisit(SymTypeOfIntersection symType)voidvisit(SymTypeOfNull nullSymType)voidvisit(SymTypeOfNumericWithSIUnit numericWithSIUnit)voidvisit(SymTypeOfObject object)voidvisit(SymTypeOfRegEx regex)voidvisit(SymTypeOfSIUnit siUnit)voidvisit(SymTypeOfTuple symType)voidvisit(SymTypeOfUnion symType)voidvisit(SymTypeOfWildcard symType)voidvisit(SymTypePrimitive primitive)voidvisit(SymTypeVariable typeVar)voidvisit(SymTypeVoid voidSymType)
-
-
-
Field Detail
-
types
protected java.util.List<SymTypeExpression> types
-
filter
protected java.util.function.Predicate<SymTypeExpression> filter
-
allowDuplicates
protected boolean allowDuplicates
-
-
Method Detail
-
reset
public void reset()
-
getCollectedTypes
protected java.util.List<SymTypeExpression> getCollectedTypes()
-
addType
protected void addType(SymTypeExpression type)
-
visit
public void visit(SymTypeArray symType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeInferenceVariable infVar)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeObscure obscure)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfFunction symType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfGenerics symType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfIntersection symType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfNull nullSymType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfObject object)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfRegEx regex)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfTuple symType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfUnion symType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypePrimitive primitive)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfSIUnit siUnit)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfNumericWithSIUnit numericWithSIUnit)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeVariable typeVar)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeVoid voidSymType)
- Specified by:
visitin interfaceISymTypeVisitor
-
visit
public void visit(SymTypeOfWildcard symType)
- Specified by:
visitin interfaceISymTypeVisitor
-
calculate
public java.util.List<SymTypeExpression> calculate(SymTypeExpression symType, java.util.function.Predicate<SymTypeExpression> filter, boolean allowDuplicates)
uses this visitor with the provided symType and returns the result. it is reset during the process.
-
calculate
public java.util.List<SymTypeExpression> calculate(SymTypeExpression symType, java.util.function.Predicate<SymTypeExpression> filter)
-
-