From b4608eb25fb96719d0d93f4ba252a4f573f8212a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Rom=C3=A1n?= Date: Fri, 17 Apr 2026 02:30:56 +0000 Subject: [PATCH 1/2] fix(io): update Reader.read to respect Liskov Substitution Principle flagged by ty --- src/java/io/__init__.py | 5 +++-- stubs/stubs/java/io/__init__.pyi | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/java/io/__init__.py b/src/java/io/__init__.py index cf39bb5..0d8c6cb 100644 --- a/src/java/io/__init__.py +++ b/src/java/io/__init__.py @@ -36,6 +36,7 @@ from java.lang import ( Appendable, AutoCloseable, + CharBuffer, CharSequence, Exception, Object, @@ -334,8 +335,8 @@ def nullReader(): # type: () -> Reader pass - def read(self, *args): - # type: (*Any) -> int + def read(self, cb): + # type: (CharBuffer) -> int pass def ready(self): diff --git a/stubs/stubs/java/io/__init__.pyi b/stubs/stubs/java/io/__init__.pyi index 1879334..f23d279 100644 --- a/stubs/stubs/java/io/__init__.pyi +++ b/stubs/stubs/java/io/__init__.pyi @@ -3,6 +3,7 @@ from typing import Any, Optional, Union from java.lang import ( Appendable, AutoCloseable, + CharBuffer, CharSequence, Exception, Object, @@ -112,7 +113,7 @@ class Reader(Object, Readable, Closeable): def markSupported(self) -> bool: ... @staticmethod def nullReader() -> Reader: ... - def read(self, *args: Any) -> int: ... + def read(self, cb: CharBuffer) -> int: ... def ready(self) -> bool: ... def reset(self) -> None: ... def skip(self, n: long) -> long: ... From 81d5c67d09b97db810b5b02603fca7da25f714d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Rom=C3=A1n?= Date: Fri, 17 Apr 2026 02:40:04 +0000 Subject: [PATCH 2/2] fix(io): import CharBuffer from java.nio --- src/java/io/__init__.py | 2 +- stubs/stubs/java/io/__init__.pyi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java/io/__init__.py b/src/java/io/__init__.py index 0d8c6cb..7849e03 100644 --- a/src/java/io/__init__.py +++ b/src/java/io/__init__.py @@ -36,13 +36,13 @@ from java.lang import ( Appendable, AutoCloseable, - CharBuffer, CharSequence, Exception, Object, Readable, Throwable, ) +from java.nio import CharBuffer from java.nio.channels import FileChannel from java.nio.charset import Charset, CharsetDecoder diff --git a/stubs/stubs/java/io/__init__.pyi b/stubs/stubs/java/io/__init__.pyi index f23d279..d7aec62 100644 --- a/stubs/stubs/java/io/__init__.pyi +++ b/stubs/stubs/java/io/__init__.pyi @@ -3,13 +3,13 @@ from typing import Any, Optional, Union from java.lang import ( Appendable, AutoCloseable, - CharBuffer, CharSequence, Exception, Object, Readable, Throwable, ) +from java.nio import CharBuffer from java.nio.channels import FileChannel from java.nio.charset import Charset, CharsetDecoder