revset: inline isvalidsymbol() and getsymbol() into _parsealiasdecl()
authorYuya Nishihara <yuya@tcha.org>
Mon, 29 Feb 2016 16:32:18 +0900
changeset 28706 b33ca687c1e3
parent 28705 0e4148950e19
child 28707 af5f90f23515
revset: inline isvalidsymbol() and getsymbol() into _parsealiasdecl() Since I'm going to extract a common alias parser, I want to eliminate dependencies to the revset parsing rules. These functions are trivial, so we can go without them.
mercurial/revset.py
--- a/mercurial/revset.py	Mon Feb 29 16:23:09 2016 +0900
+++ b/mercurial/revset.py	Mon Feb 29 16:32:18 2016 +0900
@@ -332,29 +332,17 @@
     return parser.buildargsdict(getlist(x), funcname, keys.split(),
                                 keyvaluenode='keyvalue', keynode='symbol')
 
-def isvalidsymbol(tree):
-    """Examine whether specified ``tree`` is valid ``symbol`` or not
-    """
-    return tree[0] == 'symbol'
-
-def getsymbol(tree):
-    """Get symbol name from valid ``symbol`` in ``tree``
-
-    This assumes that ``tree`` is already examined by ``isvalidsymbol``.
-    """
-    return tree[1]
-
 def isvalidfunc(tree):
     """Examine whether specified ``tree`` is valid ``func`` or not
     """
-    return tree[0] == 'func' and isvalidsymbol(tree[1])
+    return tree[0] == 'func' and tree[1][0] == 'symbol'
 
 def getfuncname(tree):
     """Get function name from valid ``func`` in ``tree``
 
     This assumes that ``tree`` is already examined by ``isvalidfunc``.
     """
-    return getsymbol(tree[1])
+    return tree[1][1]
 
 def getfuncargs(tree):
     """Get list of function arguments from valid ``func`` in ``tree``
@@ -2319,9 +2307,9 @@
             raise error.ParseError(_('invalid token'), pos)
         tree = parser.simplifyinfixops(tree, ('list',))
 
-        if isvalidsymbol(tree):
+        if tree[0] == 'symbol':
             # "name = ...." style
-            name = getsymbol(tree)
+            name = tree[1]
             if name.startswith('$'):
                 return (decl, None, None, _("'$' not for alias arguments"))
             return (name, ('symbol', name), None, None)
@@ -2333,9 +2321,9 @@
                 return (decl, None, None, _("'$' not for alias arguments"))
             args = []
             for arg in getfuncargs(tree):
-                if not isvalidsymbol(arg):
+                if arg[0] != 'symbol':
                     return (decl, None, None, _("invalid argument list"))
-                args.append(getsymbol(arg))
+                args.append(arg[1])
             if len(args) != len(set(args)):
                 return (name, None, None,
                         _("argument names collide with each other"))