Freeze body-absence access flags with stable parsed method identity, before code generation can rewrite method metadata. Skip source slicing for these methods and return unavailable empty source with explicit native/abstract markers, rather than attributing neighbouring members to the selected method. Adapt the access-flag guard and tiny Smali fixtures from PR #3527. Extend real metadata and public CLI/MCP regressions for native, static native, abstract, concrete overloads and re-reading frozen facts after neighbouring generation. Rename the expanded method-body verifier and remove its old entry point. Validation: 72 focused tests in 3 files; real pinned-JAR baseline control fails and candidate passes without triggering code generation; 6 real CLI and 6 MCP fixture calls with parity, identity and unchanged APK; docs/static checks and two source reviews. Six measured real MCP workflows, no speedup claim. Tiny authored APK only; reported BinaryEye, Linux/Windows and browser workflows unverified. Heavy profiling/stress remain stopped. Fixes #3488 Co-authored-by: balkan16 <57933796+balkan16@users.noreply.github.com>
18 lines
390 B
Smali
18 lines
390 B
Smali
.class public abstract Lfixture/AbstractShape;
|
|
.super Ljava/lang/Object;
|
|
|
|
.method public constructor <init>()V
|
|
.registers 1
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
return-void
|
|
.end method
|
|
|
|
.method public abstract area()D
|
|
.end method
|
|
|
|
.method public describe()Ljava/lang/String;
|
|
.registers 2
|
|
const-string v0, "neighbour-member"
|
|
return-object v0
|
|
.end method
|