# Map to organize `ShaderVariable` instances by their name
abstract class ShaderVariableMap[A: ShaderVariable]
super HashMap[String, A]
private var program: GamnitProgram
redef fun [](key)
do
# Alter the user specified name to fit the truncated name
var max_len = max_name_length - 1
if key isa Text and key.length > max_len then key = key.substring(0, max_len)
return super(key)
end
private fun max_name_length: Int is abstract
end
lib/gamnit/programs.nit:509,1--524,3