aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-07-31 00:41:26 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-07-31 00:41:26 +0300
commitb4836a0a2ee551eeff92414f1b9f1220b31b3c74 (patch)
tree4e8977bf82eb5983a354bd5024de845cc486fd42 /interpreter.py
parente440f343b8c2d94f9ff41b64c493644512135651 (diff)
downloadmeson-b4836a0a2ee551eeff92414f1b9f1220b31b3c74.zip
meson-b4836a0a2ee551eeff92414f1b9f1220b31b3c74.tar.gz
meson-b4836a0a2ee551eeff92414f1b9f1220b31b3c74.tar.bz2
Can check alignment of data types.
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/interpreter.py b/interpreter.py
index f3ac9ee..26c5021 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -652,8 +652,19 @@ class CompilerHolder(InterpreterObject):
'run' : self.run_method,
'has_function' : self.has_function_method,
'has_member' : self.has_member_method,
+ 'alignment' : self.alignment_method,
})
+ def alignment_method(self, args, kwargs):
+ if len(args) != 1:
+ raise InterpreterException('Alignment method takes exactly one positional argument.')
+ typename = args[0]
+ if not isinstance(typename, str):
+ raise InterpreterException('First argument is not a string.')
+ result = self.compiler.alignment(typename)
+ mlog.log('Checking for alignment of "', mlog.bold(typename), '": ', result, sep='')
+ return result
+
def run_method(self, args, kwargs):
if len(args) != 1:
raise InterpreterException('Run method takes exactly one positional argument.')