Clean up GLSL switch statement validation

Encapsulate all of the implementation inside the .cpp file, and pass
just the diagnostics object instead of the whole ParseContext to the
validation function.

BUG=angleproject:1670
TEST=angle_unittests

Change-Id: I89713b63e554dbedaa12b2270208f1fac496c54e
Reviewed-on: https://chromium-review.googlesource.com/420788
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/ParseContext.cpp b/src/compiler/translator/ParseContext.cpp
index d9618df..30e8b9d 100644
--- a/src/compiler/translator/ParseContext.cpp
+++ b/src/compiler/translator/ParseContext.cpp
@@ -3542,7 +3542,7 @@
 
     if (statementList)
     {
-        if (!ValidateSwitch::validate(switchType, this, statementList, loc))
+        if (!ValidateSwitchStatementList(switchType, &mDiagnostics, statementList, loc))
         {
             return nullptr;
         }