-
Notifications
You must be signed in to change notification settings - Fork 4
Comparing changes
Open a pull request
base repository: juliandolby/jython3
base: master
head repository: ponder-lab/jython3
compare: master
- 16 commits
- 16 files changed
- 4 contributors
Commits on May 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for dee508b - Browse repository at this point
Copy the full SHA dee508bView commit details
Commits on Aug 14, 2023
-
Changing grammar for decorators that don't have parenthesis
Tatiana Castro-Vélez committedAug 14, 2023 Configuration menu - View commit details
-
Copy full SHA for ce7c78d - Browse repository at this point
Copy the full SHA ce7c78dView commit details
Commits on Aug 15, 2023
-
Merge pull request jython#1 from tatianacv/master
Changing grammar for decorators that don't have parenthesis
Configuration menu - View commit details
-
Copy full SHA for 05365a7 - Browse repository at this point
Copy the full SHA 05365a7View commit details -
Revert "Progress towards f-string processing."
This reverts commit dee508b.
Tatiana Castro-Vélez committedAug 15, 2023 Configuration menu - View commit details
-
Copy full SHA for 3e06a60 - Browse repository at this point
Copy the full SHA 3e06a60View commit details
Commits on Jun 30, 2025
-
Configuration menu - View commit details
-
Copy full SHA for d2028be - Browse repository at this point
Copy the full SHA d2028beView commit details -
Configuration menu - View commit details
-
Copy full SHA for 580ea6b - Browse repository at this point
Copy the full SHA 580ea6bView commit details
Commits on May 27, 2026
-
Compile
tests/javato a separatetest-classesdirectory.Test fixtures (e.g. `ProxyDeserialization.class` at the default package) were previously compiled into `${compile.dir}` and bundled into `${jython.dev.jar}`, breaking downstream OSGi bundle wrapping in consumers that pull `jython3` as a transitive Maven dependency. See wala/ML#557. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>Configuration menu - View commit details
-
Copy full SHA for 6609474 - Browse repository at this point
Copy the full SHA 6609474View commit details -
Merge pull request jython#2 from ponder-lab/fix-557-test-class-leak
Compile `tests/java` to a separate `test-classes` directory
Configuration menu - View commit details
-
Copy full SHA for b81600d - Browse repository at this point
Copy the full SHA b81600dView commit details
Commits on Jun 17, 2026
-
Support PEP-526 variable annotations (
AnnAssign).The grammar parsed an annotated assignment `name: type [= value]` as either a plain `Assign` (dropping the annotation) or, for the annotation-only form, as a bare `Expr` holding just the annotation expression with the target name thrown away. There was no `AnnAssign` AST node at all (only function-argument annotations, PEP-3107, were modeled). Add the `AnnAssign(expr target, expr annotation, expr? value, int simple)` node to the ASDL and the generated AST (via `asdl_antlr.py`), register it in the visitor interface/base and `AstModule`, and rewrite the `expr_stmt` annotation branch to build an `AnnAssign` that retains the target, annotation, and optional value. This lets downstream consumers recover annotated class fields (notably `NamedTuple`/dataclass declarations) and their declaration order. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 330703b - Browse repository at this point
Copy the full SHA 330703bView commit details -
Refine the
AnnAssigngrammar:simpleflag, yield RHS, target check.Address review on the PEP-526 `expr_stmt` branch: - Compute `simple` from the target (1 for a bare `Name`, else 0) instead of hard-coding 1. - Restore `yield_expr` on the right-hand side (`x: int = yield y`), which the prior assignment branch accepted and the first cut dropped. - Validate the target via a new `GrammarActions.checkAnnAssign`: a single `Name`/`Attribute`/`Subscript` may be annotated; tuple, list, and starred targets are rejected, matching CPython. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a2ab0c5 - Browse repository at this point
Copy the full SHA a2ab0c5View commit details -
Accept a Python int in
AstAdapters.py2int.`py2int` returned null for anything but a Java `Integer`, so constructing an AST node from Python with an integer field (`AnnAssign.simple`, `ImportFrom.level`, `FormattedValue.conversion`) silently stored null and threw a `NullPointerException` on read via unboxing. Accept a `PyObject` integer (via `asInt()`); `None` and other non-integer objects still map to null. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76a5468 - Browse repository at this point
Copy the full SHA 76a5468View commit details -
Parse the
AnnAssignannotation inLoadcontext; distinct list error.Two review follow-ups: - The annotation expression was parsed with a null context, so its `Name` nodes had no `ctx`. Now that the annotation is preserved (rather than dropped), parse it in `Load` context so annotation names read as references rather than being treated as bound. - `checkAnnAssign` reported "not tuple" for an AST `List` target; give a distinct "not list" message, matching CPython. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3ef7871 - Browse repository at this point
Copy the full SHA 3ef7871View commit details -
Make
py2intleniency explicit via integer type checks.The asInt-based version threw `TypeError` for non-integer objects rather than mapping them to null, so the comment was inaccurate. Convert only `PyInteger`/ `PyLong` (the Python int types) and map everything else — including `None` and non-integer objects — to null, matching the prior lenient contract.
Configuration menu - View commit details
-
Copy full SHA for 1e99589 - Browse repository at this point
Copy the full SHA 1e99589View commit details -
Compile
AnnAssignto bytecode inCodeCompiler.Now that the parser emits `AnnAssign`, the bytecode compiler needs a `visitAnnAssign`: without it the node fell through to `VisitorBase`'s unhandled-and-traverse default, which walks the `Store` target and emits incorrect bytecode, and `x: T = v` no longer performed its assignment. Emit the assignment when a value is present (evaluate the value, store to the target, mirroring `visitAssign`); an annotation-only `x: T` binds nothing. The annotation is not evaluated and `__annotations__` is not updated, consistent with this compiler's existing limited annotation support. `ScopesCompiler`/ `ArgListCompiler` need no change: they don't override `visitAssign` and record bindings via `visitName` during the default traversal, which handles `AnnAssign` the same way (the annotation parses in Load context, so it isn't mis-bound). Co-Authored-By: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0ca77b6 - Browse repository at this point
Copy the full SHA 0ca77b6View commit details -
Reject all non-storeable annotation targets in
checkAnnAssign.Previously `checkAnnAssign` only flagged tuple, list, and starred targets. `checkGenericAssign` covers numbers, strings, calls, operators, and comprehensions, but not dict/set literals or `True`/`False`, so those built an `AnnAssign` with a non-storeable target that broke later at `CodeCompiler.visitAnnAssign`'s `set(target)`. Replace the trailing target-specific checks with a positive allow-list of `Name`/`Attribute`/`Subscript`, matching CPython's "illegal target for annotation". Co-Authored-By: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4a8458 - Browse repository at this point
Copy the full SHA c4a8458View commit details -
Merge pull request jython#3 from ponder-lab/pep526-annassign
Support PEP-526 variable annotations (`AnnAssign`)
Configuration menu - View commit details
-
Copy full SHA for e435950 - Browse repository at this point
Copy the full SHA e435950View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...master