'Initialize the alias
@param target {list of unicode} The type name expression (e.g. ["Array"]
or ["window", "document"]) to alias to
@param scope {JSObject} The scope in which the assignment takes place,
used to resolve the target
@see JSVariable.__init__ - all other arguments are inherited'

def __init__(self, *args, **kwargs):

    target = kwargs.pop('target', None)
    assert (target is not None), 'JSAlias    requires    a    target=    keyword    argument'
    scope = kwargs.pop('scope', None)
    assert (scope is not None), 'JSAlias    requires    a    scope=    keyword    argument'
    JSVariable.__init__(self, *args, **kwargs)
    self.cixname = 'variable'
    self.target = target
    self.scope = scope
