gitnexus 1.6.13-rc.49 → 1.6.13-rc.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -83,6 +83,19 @@ function positionalCapacity(fnNode) {
|
|
|
83
83
|
}
|
|
84
84
|
/** Record a method's exact fixed positional capacity when the AST proves it. */
|
|
85
85
|
export function recordPythonSubtypeMethodShape(filePath, fnNode, mapLine) {
|
|
86
|
+
// An unknown decorator may replace the function or mark it abstract.
|
|
87
|
+
// Positional shape alone cannot prove a concrete subtype dispatch target.
|
|
88
|
+
// The two built-in descriptor decorators are handled by receiver binding.
|
|
89
|
+
const wrapper = fnNode.parent;
|
|
90
|
+
if (wrapper?.type === 'decorated_definition' &&
|
|
91
|
+
wrapper.namedChildren.some((child) => {
|
|
92
|
+
if (child.type !== 'decorator')
|
|
93
|
+
return false;
|
|
94
|
+
const name = child.firstNamedChild?.text;
|
|
95
|
+
return name !== 'staticmethod' && name !== 'classmethod';
|
|
96
|
+
})) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
86
99
|
const capacity = positionalCapacity(fnNode);
|
|
87
100
|
if (capacity === undefined)
|
|
88
101
|
return;
|
|
@@ -795,7 +795,10 @@ import { copyV8CacheIfPresent, tryLoadV8Cache, writeV8CacheFile } from './v8-sid
|
|
|
795
795
|
// v117 (#3390 private-only successor): simple-positional call entries now carry
|
|
796
796
|
// their count privately, while ordinary Python references no longer receive
|
|
797
797
|
// synthetic arity. Warm v116 ParsedFiles have neither equivalent fact.
|
|
798
|
-
|
|
798
|
+
// v118 (#3398): decorated Python methods with unproven decorator identity no
|
|
799
|
+
// longer publish subtype positional capacity. Warm v117 side-channel snapshots
|
|
800
|
+
// would retain that capacity and could emit a false concrete call target.
|
|
801
|
+
const SCHEMA_BUMP = 118;
|
|
799
802
|
const GITNEXUS_PKG_VERSION = (() => {
|
|
800
803
|
try {
|
|
801
804
|
// package.json sits at gitnexus/package.json — two levels up from
|
package/package.json
CHANGED