public boolean checkConformance ( BtrPlaceTree t , List < BtrpOperand > ops ) { //Arity error if ( ops . size ( ) != getParameters ( ) . length ) { t . ignoreError ( "'" + pretty ( ops ) + "' cannot be casted to '" + getSignature ( ) + "'" ) ; return false ; } //Type checking for ( int i = 0 ; i < ops . size ( ) ; i ++ ) { BtrpOperand o = ops . get ( i ) ; ConstraintParam < ? > p = params [ i ] ; if ( o == IgnorableOperand . getInstance ( ) ) { return false ; } if ( ! p . isCompatibleWith ( t , o ) ) { t . ignoreError ( "'" + pretty ( ops ) + "' cannot be casted to '" + getSignature ( ) + "'" ) ; return false ; } } return true ; }
Check if the provided parameters match the constraint signature