# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

from _emerge.DependencyArg import DependencyArg
from portage._sets import SETPREFIX
class SetArg(DependencyArg):

	__slots__ = ('name', 'pset')

	def __init__(self, pset=None, **kwargs):
		DependencyArg.__init__(self, **kwargs)
		self.pset = pset
		self.name = self.arg[len(SETPREFIX):]

