From f3fbd1c0586ff6ec7895991e6c28f61a503c36a8 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 23 Jul 2016 20:50:09 +0000 Subject: Vendor import of lldb release_39 branch r276489: https://llvm.org/svn/llvm-project/lldb/branches/release_39@276489 --- packages/Python/lldbsuite/test/lldbplatform.py | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 packages/Python/lldbsuite/test/lldbplatform.py (limited to 'packages/Python/lldbsuite/test/lldbplatform.py') diff --git a/packages/Python/lldbsuite/test/lldbplatform.py b/packages/Python/lldbsuite/test/lldbplatform.py new file mode 100644 index 0000000000000..33927df6c0f14 --- /dev/null +++ b/packages/Python/lldbsuite/test/lldbplatform.py @@ -0,0 +1,44 @@ +""" This module represents an abstraction of an lldb target / host platform. """ + +from __future__ import absolute_import + +# System modules +import itertools + +# Third-party modules +import six + +# LLDB modules +import use_lldb_suite +import lldb + +windows, linux, macosx, darwin, ios, darwin_all, freebsd, netbsd, bsd_all, android = range(10) + +__name_lookup = { + windows : ["windows"], + linux : ["linux"], + macosx : ["macosx"], + darwin : ["darwin"], + ios : ["ios"], + darwin_all : ["macosx", "darwin", "ios"], + freebsd : ["freebsd"], + netbsd : ["netbsd"], + bsd_all : ["freebsd", "netbsd"], + android : ["android"] +} + + +def translate(values): + + if isinstance(values, six.integer_types): + # This is a value from the platform enumeration, translate it. + return __name_lookup[values] + elif isinstance(values, six.string_types): + # This is a raw string, return it. + return [values] + elif hasattr(values, "__iter__"): + # This is an iterable, convert each item. + result = [translate(x) for x in values] + result = list(itertools.chain(*result)) + return result + return values -- cgit v1.2.3