Move GenericValue into SpirvShader

GenericValue is only used by SpirvShader so move it as a private inner class of SpirvShader.

Part of the foundations of much larger refactoring required for function inlining in SpirvShader.

Bug: b/133213304
Change-Id: I75484c3d036b82f3bc6a735034a7c1b04f05f600
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33350
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp
index 75fe463..266bf40 100644
--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -6458,6 +6458,11 @@
 		}
 	}
 
+	SpirvShader::GenericValue::GenericValue(SpirvShader const *shader, SpirvRoutine const *routine, SpirvShader::Object::ID objId) :
+			obj(shader->getObject(objId)),
+			intermediate(obj.kind == SpirvShader::Object::Kind::Intermediate ? &routine->getIntermediate(objId) : nullptr),
+			type(obj.type) {}
+
 	SpirvRoutine::SpirvRoutine(vk::PipelineLayout const *pipelineLayout) :
 		pipelineLayout(pipelineLayout)
 	{