1 package org.simantics.scl.commands.internal.checker;
\r
3 import java.util.List;
\r
5 import org.simantics.scl.compiler.types.Type;
\r
6 import org.simantics.scl.runtime.function.Function;
\r
8 public class FunctionCheckItem implements CheckItem {
\r
13 public FunctionCheckItem(Type parameterType, CheckItem next) {
\r
14 this.parameterType = parameterType;
\r
18 @SuppressWarnings({ "unchecked", "rawtypes" })
\r
20 public boolean check(Object check, Object[] parameters, int pos) {
\r
21 if(pos == parameters.length)
\r
23 Object nextCheck = ((Function)check).apply(parameters[pos]);
\r
24 return next.check(nextCheck, parameters, pos+1);
\r
28 public void collectParameterTypes(List<Type> types) {
\r
29 types.add(parameterType);
\r
30 next.collectParameterTypes(types);
\r