From fc2c6cda57c01508ca47a8b12a69adbc7af74864 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 14 Sep 2017 19:53:17 -0700 Subject: [PATCH] Add support for using the /Constrained/ annotation --- etgtools/extractors.py | 1 + etgtools/sip_generator.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/etgtools/extractors.py b/etgtools/extractors.py index 5022a22a..49fe036a 100644 --- a/etgtools/extractors.py +++ b/etgtools/extractors.py @@ -596,6 +596,7 @@ class ParamDef(BaseDef): self.transferBack = False # transfer ownership of arg from C++ to Python? self.transferThis = False # ownership of 'this' pointer transferred to this arg self.keepReference = False # an extra reference to the arg is held + self.constrained = False # limit auto-conversion of similar types (like float -> int) self.__dict__.update(kw) if element is not None: self.extract(element) diff --git a/etgtools/sip_generator.py b/etgtools/sip_generator.py index 6256db21..315fbcae 100644 --- a/etgtools/sip_generator.py +++ b/etgtools/sip_generator.py @@ -959,6 +959,8 @@ from .%s import * annotations.append('ArraySize') if item.keepReference: annotations.append('KeepReference') + if item.constrained: + annotations.append('Constrained') if isinstance(item, (extractors.ParamDef, extractors.FunctionDef)): if item.transfer: