aboutsummaryrefslogtreecommitdiffstats
path: root/mako/parsetree.py
diff options
context:
space:
mode:
authorEevee (Alex Munroe) <eevee.git@veekun.com>2014-02-11 13:18:39 -0800
committerEevee (Alex Munroe) <eevee.git@veekun.com>2014-02-11 13:18:39 -0800
commit836e5f97e84088cd3104cb3a30bf02e8a6c0a9a5 (patch)
tree89d1b80846f6feca036096ecbb6b28323fa0eb21 /mako/parsetree.py
parenta5740079856fcb2244dcebc7fb81da739a4094fd (diff)
downloadexternal_python_mako-836e5f97e84088cd3104cb3a30bf02e8a6c0a9a5.tar.gz
external_python_mako-836e5f97e84088cd3104cb3a30bf02e8a6c0a9a5.tar.bz2
external_python_mako-836e5f97e84088cd3104cb3a30bf02e8a6c0a9a5.zip
Support Python 3's keyword-only arguments.
Previously, they would parse correctly in Python 3, but any keyword-only arguments would be quietly lost, and the user would either get `TypeError: foo() got an unexpected keyword argument...` or the confusing behavior of having the keyword argument overwritten with whatever's in the context with the same name.
Diffstat (limited to 'mako/parsetree.py')
-rw-r--r--mako/parsetree.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/mako/parsetree.py b/mako/parsetree.py
index ab83c5c..0612070 100644
--- a/mako/parsetree.py
+++ b/mako/parsetree.py
@@ -437,7 +437,7 @@ class DefTag(Tag):
return self.function_decl.get_argument_expressions(**kw)
def declared_identifiers(self):
- return self.function_decl.argnames
+ return self.function_decl.allargnames
def undeclared_identifiers(self):
res = []
@@ -451,7 +451,7 @@ class DefTag(Tag):
).union(
self.expression_undeclared_identifiers
).difference(
- self.function_decl.argnames
+ self.function_decl.allargnames
)
class BlockTag(Tag):
@@ -502,7 +502,7 @@ class BlockTag(Tag):
return self.body_decl.get_argument_expressions(**kw)
def declared_identifiers(self):
- return self.body_decl.argnames
+ return self.body_decl.allargnames
def undeclared_identifiers(self):
return (self.filter_args.\
@@ -524,7 +524,7 @@ class CallTag(Tag):
**self.exception_kwargs)
def declared_identifiers(self):
- return self.code.declared_identifiers.union(self.body_decl.argnames)
+ return self.code.declared_identifiers.union(self.body_decl.allargnames)
def undeclared_identifiers(self):
return self.code.undeclared_identifiers.\
@@ -554,7 +554,7 @@ class CallNamespaceTag(Tag):
**self.exception_kwargs)
def declared_identifiers(self):
- return self.code.declared_identifiers.union(self.body_decl.argnames)
+ return self.code.declared_identifiers.union(self.body_decl.allargnames)
def undeclared_identifiers(self):
return self.code.undeclared_identifiers.\
@@ -589,6 +589,6 @@ class PageTag(Tag):
**self.exception_kwargs)
def declared_identifiers(self):
- return self.body_decl.argnames
+ return self.body_decl.allargnames