|
1 | | -# Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved. |
| 1 | +# Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. |
2 | 2 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 | 3 | # |
4 | 4 | # The Universal Permissive License (UPL), Version 1.0 |
@@ -98,7 +98,7 @@ def import_current_as_named_module_with_delegate(module, module_name, delegate_n |
98 | 98 |
|
99 | 99 |
|
100 | 100 | @builtin |
101 | | -def build_java_class(module, ns, name, base, new_style=False): |
| 101 | +def build_java_class(module, ns, name, base, new_style=True): |
102 | 102 | if new_style: |
103 | 103 | return build_new_style_java_class(ns, name, base) |
104 | 104 | import warnings |
@@ -174,6 +174,11 @@ def __instancecheck__(cls, obj): |
174 | 174 | def __subclasscheck__(cls, derived): |
175 | 175 | return cls is derived or issubclass(derived, JavaClass) |
176 | 176 |
|
| 177 | + def __call__(cls, *args, **kwds): |
| 178 | + java_object = cls.__new__(cls, *args, **kwds) |
| 179 | + java_object.this.__init__(*args, **kwds) |
| 180 | + return java_object |
| 181 | + |
177 | 182 | def __new__(mcls, name, bases, namespace): |
178 | 183 | if bases: |
179 | 184 | new_class = None |
@@ -232,7 +237,6 @@ def __new__(cls, *args, **kwds): |
232 | 237 | delegate = object.__new__(cls) |
233 | 238 | java_object = polyglot.__new__(JavaClass, *(args + (delegate,))) |
234 | 239 | delegate.__this__ = java_object |
235 | | - delegate.__init__(*args, **kwds) |
236 | 240 | return java_object |
237 | 241 |
|
238 | 242 | return type(name, (DelegateSuperclass,), ns) |
0 commit comments