@Override
public IMatchingResult buildMatcher(IEvaluatorContext ctx) {
IConstructor symbol = ((NonTerminalType) type).getSymbol();
if (SymbolAdapter.isStarList(symbol) || SymbolAdapter.isPlusList(symbol)) {
return new ConcreteListVariablePattern(ctx, this, type, name);
}
else {
return new TypedVariablePattern(ctx, this, type, name);
}
}