throw new AssertionError("shader program string is null");
}
GL2 gl = context(ctx).getGL().getGL2();
gl.glShaderSourceARB(id, 1, new String[] { program }, null, 0);
gl.glCompileShaderARB(id);
int[] status = new int[1];
gl.glGetObjectParameterivARB(id, GL2.GL_OBJECT_COMPILE_STATUS_ARB, status, 0);
if (status[0] == 0) {
String detailMsg = getInfoLog(gl, id);
ShaderError res = new ShaderError(ShaderError.COMPILE_ERROR,