Refactor remaining GLES 2.0 entry points.

This will pave the way for several features, like auto-generation.

BUG=angleproject:747

Change-Id: Ic390ac412f4e6b61346629093f185a4c07ea0284
Reviewed-on: https://chromium-review.googlesource.com/474118
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/Program.cpp b/src/libANGLE/Program.cpp
index 037283b..2680741 100644
--- a/src/libANGLE/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -490,39 +490,27 @@
     }
 }
 
-bool Program::detachShader(const Context *context, Shader *shader)
+void Program::detachShader(const Context *context, Shader *shader)
 {
     switch (shader->getType())
     {
         case GL_VERTEX_SHADER:
         {
-            if (mState.mAttachedVertexShader != shader)
-            {
-                return false;
-            }
-
+            ASSERT(mState.mAttachedVertexShader == shader);
             shader->release(context);
             mState.mAttachedVertexShader = nullptr;
             break;
         }
         case GL_FRAGMENT_SHADER:
         {
-            if (mState.mAttachedFragmentShader != shader)
-            {
-                return false;
-            }
-
+            ASSERT(mState.mAttachedFragmentShader == shader);
             shader->release(context);
             mState.mAttachedFragmentShader = nullptr;
             break;
         }
         case GL_COMPUTE_SHADER:
         {
-            if (mState.mAttachedComputeShader != shader)
-            {
-                return false;
-            }
-
+            ASSERT(mState.mAttachedComputeShader == shader);
             shader->release(context);
             mState.mAttachedComputeShader = nullptr;
             break;
@@ -530,8 +518,6 @@
         default:
             UNREACHABLE();
     }
-
-    return true;
 }
 
 int Program::getAttachedShadersCount() const