'The Param index of the current call.
Returns None if the index cannot be found in the curent call.'

@property
def index(self):

    if (self._key_name_str is not None):
        for (i, param) in enumerate(self.params):
            if (self._key_name_str == param.name):
                return i
        if self.params:
            param_name = self.params[(-1)]._name
            if (param_name.tree_name is not None):
                if (param_name.tree_name.get_definition().star_count == 2):
                    return i
        return None
    if (self._index >= len(self.params)):
        for (i, param) in enumerate(self.params):
            tree_name = param._name.tree_name
            if (tree_name is not None):
                if (tree_name.get_definition().star_count == 1):
                    return i
        return None
    return self._index
