Returns the location of this node in the file as a tuple (line, column).
    Both line and column are 1 based.

def node_location(config_node):
    """ Returns the location of this node in the file as a tuple (line, column).
    Both line and column are 1 based. """
    if isinstance(config_node, ConfigNode):
        return _NodeLocation(config_node._line, config_node._column)
    if isinstance(config_node, ValueNotFoundNode):
        raise JSONConfigValueNotFoundError(config_node)
    raise TypeError('Expected a config node but received a %s instance.' %
                    type(config_node).__name__)