Fix: python: don't get extra references when creating field classes
[babeltrace.git] / src / bindings / python / bt2 / bt2 / trace_class.py
index 94010d47aa04aac8e2dc48795bf758a7dddf59e6..ebfdbe4e54d3de8a5316d509731d261de99e9c72 100644 (file)
@@ -1,26 +1,8 @@
-# The MIT License (MIT)
+# SPDX-License-Identifier: MIT
 #
 # Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
 # Copyright (c) 2018 Francis Deslauriers <francis.deslauriers@efficios.com>
 # Copyright (c) 2019 Simon Marchi <simon.marchi@efficios.com>
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
 
 from bt2 import native_bt, utils, object
 from bt2 import stream_class as bt2_stream_class
@@ -436,7 +418,7 @@ class _TraceClass(_TraceClassConst):
         utils._check_uint64(length)
         ptr = native_bt.field_class_array_static_create(self._ptr, elem_fc._ptr, length)
         self._check_field_class_create_status(ptr, 'static array')
-        fc = bt2_field_class._StaticArrayFieldClass._create_from_ptr_and_get_ref(ptr)
+        fc = bt2_field_class._StaticArrayFieldClass._create_from_ptr(ptr)
         self._set_field_class_user_attrs(fc, user_attributes)
         return fc
 
@@ -454,7 +436,7 @@ class _TraceClass(_TraceClassConst):
             self._ptr, elem_fc._ptr, length_fc_ptr
         )
         self._check_field_class_create_status(ptr, 'dynamic array')
-        fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+        fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
         self._set_field_class_user_attrs(fc, user_attributes)
         return fc
 
@@ -466,7 +448,7 @@ class _TraceClass(_TraceClassConst):
             self._ptr, content_fc._ptr
         )
         self._check_field_class_create_status(ptr, 'option')
-        fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+        fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
         self._set_field_class_user_attrs(fc, user_attributes)
         return fc
 
@@ -480,7 +462,7 @@ class _TraceClass(_TraceClassConst):
             self._ptr, content_fc._ptr, selector_fc._ptr
         )
         self._check_field_class_create_status(ptr, 'option')
-        fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+        fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
         self._set_field_class_user_attrs(fc, user_attributes)
         fc._selector_is_reversed = selector_is_reversed
         return fc
@@ -501,12 +483,14 @@ class _TraceClass(_TraceClassConst):
             )
         else:
             utils._check_type(ranges, bt2_integer_range_set.SignedIntegerRangeSet)
-            ptr = native_bt.field_class_option_with_selector_field_integer_signed_create(
-                self._ptr, content_fc._ptr, selector_fc._ptr, ranges._ptr
+            ptr = (
+                native_bt.field_class_option_with_selector_field_integer_signed_create(
+                    self._ptr, content_fc._ptr, selector_fc._ptr, ranges._ptr
+                )
             )
 
         self._check_field_class_create_status(ptr, 'option')
-        fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+        fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
         self._set_field_class_user_attrs(fc, user_attributes)
         return fc
 
@@ -519,6 +503,6 @@ class _TraceClass(_TraceClassConst):
 
         ptr = native_bt.field_class_variant_create(self._ptr, selector_fc_ptr)
         self._check_field_class_create_status(ptr, 'variant')
-        fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+        fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
         self._set_field_class_user_attrs(fc, user_attributes)
         return fc
This page took 0.026821 seconds and 4 git commands to generate.