Compile this shader and report any errors in the attribute error

Property definitions

gamnit $ Shader :: compile
	# Compile this shader and report any errors in the attribute `error`
	fun compile
	do
		# Create
		var gl_shader = glCreateShader(gl_shader_type)
		if not glIsShader(gl_shader) then
			self.error = new Error("Shader creation failed: {glGetError}")
			return
		end
		self.gl_shader = gl_shader

		glShaderSource(gl_shader, source.to_cstring)

		# Compile
		glCompileShader gl_shader
		if not gl_shader.is_compiled then
			self.error = new Error("Shader compilation failed: {glGetShaderInfoLog(gl_shader)}")
			return
		end

		error = gammit_gl_error
	end
lib/gamnit/programs.nit:269,2--290,4