class AST::ClassDefinition attr_reader :name, :members, :methods def initialize(name, members, methods) @name = name @members = members @methods = methods end def ==(other) other.is_a?(AST::ClassDefinition) && other.name == @name && other.members == @members && other.methods == @methods end def execute(env) env.set(@name.name, self) end end