From de78c6c5dc5e63f93ee9996a20951bdb22a60c49 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 13 Oct 2017 13:09:08 +0200 Subject: [PATCH] Map LOGICAL to separate type --- src/ifcexpressparser/mapping.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ifcexpressparser/mapping.py b/src/ifcexpressparser/mapping.py index 0700ddab06..22d087e142 100644 --- a/src/ifcexpressparser/mapping.py +++ b/src/ifcexpressparser/mapping.py @@ -27,7 +27,7 @@ class Mapping: express_to_cpp_typemapping = { 'boolean' : 'bool', - 'logical' : 'bool', + 'logical' : 'boost::logic::tribool', 'integer' : 'int', 'real' : 'double', 'number' : 'double', @@ -36,9 +36,9 @@ class Mapping: } supported_argument_types = set([ - 'INT', 'BOOL', 'DOUBLE', 'STRING', 'BINARY', 'ENUMERATION', 'ENTITY_INSTANCE', - 'AGGREGATE_OF_INT', 'AGGREGATE_OF_BOOL', 'AGGREGATE_OF_DOUBLE', 'AGGREGATE_OF_STRING', 'AGGREGATE_OF_BINARY', 'AGGREGATE_OF_ENTITY_INSTANCE', - 'AGGREGATE_OF_AGGREGATE_OF_INT', 'AGGREGATE_OF_AGGREGATE_OF_BOOL', 'AGGREGATE_OF_AGGREGATE_OF_DOUBLE', 'AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE', + 'INT', 'BOOL', 'TRIBOOL', 'DOUBLE', 'STRING', 'BINARY', 'ENUMERATION', 'ENTITY_INSTANCE', + 'AGGREGATE_OF_INT', 'AGGREGATE_OF_BOOL', 'AGGREGATE_OF_TRIBOOL', 'AGGREGATE_OF_DOUBLE', 'AGGREGATE_OF_STRING', 'AGGREGATE_OF_BINARY', 'AGGREGATE_OF_ENTITY_INSTANCE', + 'AGGREGATE_OF_AGGREGATE_OF_INT', 'AGGREGATE_OF_AGGREGATE_OF_BOOL', 'AGGREGATE_OF_AGGREGATE_OF_TRIBOOL', 'AGGREGATE_OF_AGGREGATE_OF_DOUBLE', 'AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE', ]) def __init__(self, schema): @@ -103,7 +103,7 @@ class Mapping: raise ValueError("Unable to map type %r for attribute %r" % (type, attr)) ty = _make_argument_type(attr.type if hasattr(attr, 'type') else attr) if ty not in self.supported_argument_types: - print("Attribute %r mapped as 'unknown'" % (attr), file=sys.stderr) + print("Attribute %r (%s) mapped as 'unknown'" % (attr, ty), file=sys.stderr) ty = 'UNKNOWN' return "IfcUtil::Argument_%s" % ty