aboutsummaryrefslogtreecommitdiff
path: root/nodes.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-03-17 00:34:31 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2014-03-17 00:34:31 +0200
commit4ab3dc440bca368deb96ce550ddfd8e9d7de90e7 (patch)
tree1bf88cfd2a7088bb23117ed648f8b118443a3a77 /nodes.py
parent8a02b9da394527b4ec7a6a452d6610327343bbd3 (diff)
downloadmeson-4ab3dc440bca368deb96ce550ddfd8e9d7de90e7.zip
meson-4ab3dc440bca368deb96ce550ddfd8e9d7de90e7.tar.gz
meson-4ab3dc440bca368deb96ce550ddfd8e9d7de90e7.tar.bz2
Kill ply dependency dead.
Diffstat (limited to 'nodes.py')
-rw-r--r--nodes.py220
1 files changed, 0 insertions, 220 deletions
diff --git a/nodes.py b/nodes.py
deleted file mode 100644
index 161dc0b..0000000
--- a/nodes.py
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 2012 Jussi Pakkanen
-
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-# http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-class Node():
- def __init__(self, lineno):
- self.line_number = lineno
-
- def lineno(self):
- return self.line_number
-
-class Expression(Node):
- pass
-
-class Statement(Node):
- pass
-
-class BoolExpression(Expression):
- def __init__(self, value, lineno):
- Expression.__init__(self, lineno)
- self.value = value
- assert(isinstance(value, bool))
-
- def get_value(self):
- return self.value
-
-class AtomExpression(Expression):
- def __init__(self, value, lineno):
- Expression.__init__(self, lineno)
- self.value = value
-
- def get_value(self):
- return self.value
-
-class StringExpression(Expression):
- def __init__(self, value, lineno):
- Expression.__init__(self, lineno)
- self.value = value
-
-class IntExpression(Expression):
- def __init__(self, value, lineno):
- Expression.__init__(self, lineno)
- self.value = value
-
- def get_value(self):
- return self.value
-
-class AtomStatement(Statement):
- def __init__(self, value, lineno):
- Statement.__init__(self, lineno)
- assert(type(value) == type(''))
- self.value = value
-
- def get_value(self):
- return self.value
-
-class BoolStatement(Statement):
- def __init__(self, value, lineno):
- Statement.__init__(self, lineno)
- assert(isinstance(value, bool))
- self.value = value
-
- def get_value(self):
- return self.value
-
-class IntStatement(Statement):
- def __init__(self, value, lineno):
- Statement.__init__(self, lineno)
- assert(isinstance(value, int))
- self.value = value
-
- def get_value(self):
- return self.value
-
-class AndStatement(Statement):
- def __init__(self, left, right):
- Statement.__init__(self, left.lineno)
- self.left = left
- self.right = right
-
-class OrStatement(Statement):
- def __init__(self, left, right):
- Statement.__init__(self, left.lineno)
- self.left = left
- self.right = right
-
-class NotStatement(Statement):
- def __init__(self, val):
- Statement.__init__(self, val.lineno)
- self.val = val
-
-class IfStatement(Statement):
- def __init__(self, clause, trueblock, falseblock, lineno):
- Statement.__init__(self, lineno)
- self.clause = clause
- self.trueblock = trueblock
- self.falseblock = falseblock
-
- def get_clause(self):
- return self.clause
-
- def get_trueblock(self):
- return self.trueblock
-
- def get_falseblock(self):
- return self.falseblock
-
-class Comparison(Statement):
- def __init__(self, first, ctype, second, lineno):
- Statement.__init__(self, lineno)
- self.first = first
- self.ctype = ctype
- self.second = second
-
- def get_first(self):
- return self.first
-
- def get_ctype(self):
- return self.ctype
-
- def get_second(self):
- return self.second
-
-class ArrayStatement(Statement):
- def __init__(self, args, lineno):
- Statement.__init__(self, lineno)
- self.args = args
-
- def get_args(self):
- return self.args
-
-class StringStatement(Statement):
- def __init__(self, value, lineno):
- assert(type(value) == type(''))
- Statement.__init__(self, lineno)
- self.value = value
-
- def get_value(self):
- return self.value
-
-class FunctionCall(Statement):
- def __init__(self, func_name, arguments, lineno):
- Statement.__init__(self, lineno)
- self.func_name = func_name
- self.arguments = arguments
-
- def get_function_name(self):
- return self.func_name.value
-
-class MethodCall(Statement):
- def __init__(self, invokable, method_name, arguments, lineno):
- Statement.__init__(self, lineno)
- self.invokable = invokable
- self.method_name = method_name
- self.arguments = arguments
-
-class Assignment(Statement):
- def __init__(self, var_name, value, lineno):
- Statement.__init__(self, lineno)
- self.var_name = var_name
- self.value = value
-
-class CodeBlock(Statement):
- def __init__(self, lineno):
- Statement.__init__(self, lineno)
- self.statements = []
-
- def prepend(self, statement):
- self.statements = [statement] + self.statements
-
- def get_statements(self):
- return self.statements
-
-class Arguments(Statement):
- def __init__(self, lineno):
- Statement.__init__(self, lineno)
- self.arguments = []
- self.kwargs = {}
- self.order_error = False
-
- def prepend(self, statement):
- self.arguments = [statement] + self.arguments
-
- def set_kwarg(self, name, value):
- if self.num_args() > 0:
- self.order_error = True
- self.kwargs[name.get_value()] = value
-
- def num_args(self):
- return len(self.arguments)
-
- def num_kwargs(self):
- return len(self.kwargs)
-
- def incorrect_order(self):
- return self.order_error
-
- def __len__(self):
- return self.num_args() # Fixme
-
-def statement_from_expression(expr):
- if isinstance(expr, AtomExpression):
- return AtomStatement(expr.value, expr.lineno())
- if isinstance(expr, StringExpression):
- return StringStatement(expr.value, expr.lineno())
- if isinstance(expr, BoolExpression):
- return BoolStatement(expr.value, expr.lineno())
- if isinstance(expr, IntExpression):
- return IntStatement(expr.get_value(), expr.lineno())
- raise RuntimeError('Can not convert unknown expression to a statement.')