/**
* Copyright (c) 2009-2011, The HATS Consortium. All rights reserved.
* This file is licensed under the terms of the Modified BSD License.
*/
package abs.backend.java.lib.expr;
import abs.backend.java.lib.types.ABSDataType;
import abs.backend.java.lib.types.ABSValue;
public class PatternConstructor extends Pattern {
public final Pattern[] subpattern;
public final Class<?> constructorClass;
public PatternConstructor(Class<?> constructorClass, Pattern... subpattern) {
this.constructorClass = constructorClass;
this.subpattern = subpattern;
}
@Override
public boolean match(ABSValue dt, PatternBinding b) {
if (dt instanceof ABSDataType) {
return ((ABSDataType) dt).match(this, b);
} else {
return false;
}
}
}