public override QValidator.State Validate(StringBuilder input, ref int pos)
{
StackItem[] stack = new StackItem[3];
#if DEBUG
stack[1].s_class = (IntPtr) DebugGCHandle.Alloc(input);
#else
stack[1].s_class = (IntPtr) GCHandle.Alloc(input);
#endif
stack[2].s_int = pos;
interceptor.Invoke("validate$$", "validate(QString&, int&) const", stack);
#if DEBUG
DebugGCHandle.Free((GCHandle) stack[1].s_class);
#else
((GCHandle) stack[1].s_class).Free();
#endif
pos = stack[2].s_int;
return (QValidator.State) Enum.ToObject(typeof(QValidator.State), stack[0].s_int);
}