• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ponder-lab / Hybridize-Functions-Refactoring / 26908425254
78%

Build:
DEFAULT BRANCH: main
Ran 03 Jun 2026 07:40PM UTC
Jobs 1
Files 31
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Jun 2026 07:32PM UTC coverage: 76.32% (+3.8%) from 72.492%
26908425254

push

github

web-flow
Emit inferred `input_signature` in `convertToHybrid` (#565)

* Wire `InputSignature` formatter into `convertToHybrid` (Phase 2 of #563)

Adds the `inferInputSignatures` boolean to `Function` and
`HybridizeFunctionRefactoringProcessor` (constructor injection, default
`false`), threads it from processor to function at the `new Function(...)`
call sites, and modifies `Function.convertToHybrid` to emit
`@tf.function(input_signature=[tf.TensorSpec(...)])` when the flag is set,
the inference produced a signature, and the import prefix is non-empty (so
`TensorSpec` and the dtype constants are reachable). Empty-prefix case (from
`from tensorflow import function`) skips emission for now; adding the
ancillary imports is non-trivial and not on the paper's critical path.

Adds `getInferInputSignatures()` accessor on `Function` (matching the
existing `getAlwaysFollowTypeHints` / `getUseSpeculativeAnalysis` pattern)
and a `setInferInputSignatures(boolean)` setter for tests and for
#481's eventual wiring of the system property / UI checkbox / eval property.

Adds integration test `testInferInputSignatureEmission`: eager `f(x)`
fixture called with `tf.constant(2.0)`, analysis selects
`CONVERT_TO_HYBRID`, test flips the flag via the setter, `transform()`
produces a `TextEdit` whose text contains
`@tf.function(input_signature=[tf.TensorSpec(shape=(), dtype=tf.float32)])`.

Together with #564 (the formatter itself) this closes the loop on #563's
`CONVERT_TO_HYBRID` case. The `RECONFIGURE` case (function already hybrid,
no `input_signature`) is left for a follow-up. The "function already has
`input_signature`" case is deferred to #557 per its documented
validate-then-overwrite vs use-as-is design decision.

* Add `getInferInputSignatures` accessor + propagating setter on Processor

Addresses Copilot's finding: the processor field was constructor-injected only,
leaving callers with a processor instance unable to query or flip the flag.
The setter propagates the new value ... (continued)

23 of 30 new or added lines in 2 files covered. (76.67%)

1286 of 1685 relevant lines covered (76.32%)

0.76 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
69.65
9.17% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/refactorings/HybridizeFunctionRefactoringProcessor.java
3
87.59
5.92% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Function.java
Jobs
ID Job ID Ran Files Coverage
1 26908425254.1 03 Jun 2026 07:40PM UTC 31
76.32
GitHub Action Run
Source Files on build 26908425254
  • Tree
  • List 31
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26908425254
  • 3b693321 on github
  • Prev Build on gh-readonly-queue/main/pr-577-424cbe69d11b413395c4f3f4c5037b2b4fa6bdfa
  • Next Build on main
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc