Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Overriding constructors for classes inheriting from Java

オープン
#367 コメント 5 件 リアクション 0 件 担当者 1 名 GitHub で見る

@timfel がすでに取り組んでいます。

2025年1月20日 から。

評価

この issue はまだ評価されていません。

説明

As of the latest version (23.1.0), GraalPy does not support overriding constructors for Python classes that inherit from Java.

The example below throws an error when we try to create a custom Exception wrapper in Python:

package my.pack;

import org.graalvm.polyglot.Value;
import org.graalvm.polyglot.Context;

public class Main {

    static Context context = Context.newBuilder().allowAllAccess(true).build();
    static Value clz;

    public static void main(String[] args) {
        context.eval("python", """
            import java
            class ParseException(java.lang.Exception):
                def __init__(self, message):
                    self.__super__(message)
            """);

        clz = context.getBindings("python").getMember("ParseException");
        Value obj = clz.newInstance("Hello from Java");
    }
}
Result
// error
Exception in thread "main" TypeError: ParseException.__init__() missing 1 required positional argument: 'message'
        at org.graalvm.sdk/org.graalvm.polyglot.Value.newInstance(Value.java:933)
        at my.pack.Main.main(Main.java:18)
主要言語
Python
スター
1.6k
フォーク
155
平均マージ
8時間 20分
マージ済み PR(30日)
43

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

oracle/graalpython のほかの issue

oracle/graalpython の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。