package Reldb.RelUserCode;

import org.reldb.rel.v0.types.*;
import org.reldb.rel.v0.types.builtin.*;
import org.reldb.rel.v0.types.userdefined.*;
import org.reldb.rel.v0.values.*;
import org.reldb.rel.v0.vm.Context;

public class op_REGION_MATCHES__CHARACTER_BOOLEAN_INTEGER_CHARACTER_INTEGER_INTEGER {
	private static final ValueBoolean do_REGION_MATCHES(Context context, ValueCharacter s, ValueBoolean ignoreCase, ValueInteger toffset, ValueCharacter other, ValueInteger ooffset, ValueInteger len) {
		
		//          Tests if two string regions are equal.
			return ValueBoolean.select(context.getGenerator(), s.stringValue().regionMatches(ignoreCase.booleanValue(),
								(int)toffset.longValue(),
								other.stringValue(),
								(int)ooffset.longValue(),
								(int)len.longValue()));
	}

	public static final void execute(Context context) {
		ValueInteger p5 = (ValueInteger)context.pop();
		ValueInteger p4 = (ValueInteger)context.pop();
		ValueCharacter p3 = (ValueCharacter)context.pop();
		ValueInteger p2 = (ValueInteger)context.pop();
		ValueBoolean p1 = (ValueBoolean)context.pop();
		ValueCharacter p0 = (ValueCharacter)context.pop();
		context.push(do_REGION_MATCHES(context, p0, p1, p2, p3, p4, p5));
	}
}