Property definitions

gamnit $ ShaderVariableMap :: defaultinit
# 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