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

ponder-lab / Hybridize-Functions-Refactoring / #1267
72%

Build:
DEFAULT BRANCH: main
Ran 12 May 2026 04:18PM UTC
Jobs 1
Files 30
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

12 May 2026 04:09PM UTC coverage: 70.959% (-0.3%) from 71.262%
#1267

push

travis-pro

web-flow
Add `Parameter` skeleton + first inferred-tensor-types test (#463)

* Import `com.ibm.wala.cast.python.ml.types` in core + tests bundles.

Needed by the upcoming `Parameter.getTensorTypes()` API and its test, which
return/assert on Ariadne's `TensorType` from this package.

* Introduce `Parameter` analytical wrapper (self-contained, Jython-free public API).

A positional Python function parameter as understood by the hybridize analysis.
Holds the minimum context needed to identify the parameter (parent
`argumentsType` + index + owning `Function`) and exposes:

- `getIndex()`, `getName()` — primitive accessors.
- `getTensorTypes()` — queries Ariadne's `TensorTypeAnalysis` (read off the
  owning `Function`) for the tensor types associated with this parameter.
  Computed fresh on each call, so a query made before
  `Function.inferTensorTensorParameters` runs (when no analysis has been
  stashed yet) returns the empty set without caching it, and a later query
  after the stash returns the real set.

The constructor is package-private — `Parameter`s are only ever constructed
inside `Function`'s constructor. No `ParameterDefinition` carrier class:
keeping a separate syntactic/analytical split would mirror
`Function`/`FunctionDefinition` only stylistically, with no independent
construction lifecycle and no map-key identity beyond the parameter itself.
`matches(LocalPointerKey)` (the source-position equality with Ariadne's
`AstMethod`) is private — `getTensorTypes` is its only caller.

* `Function`: build `List<Parameter>` in ctor; stash tensor analysis; drop `matches`/`tensorAnalysisIncludesParameter`.

The function-level rolled-up tensor predicate
(`Function.inferTensorTensorParameters` -> `hasTensorParameter`) used to walk
the raw Jython `args.args` array, find matching `LocalPointerKey`s, and check
for a non-null `TensorVariable`. With per-parameter `Parameter` wrappers now
owning that lookup via `Parameter.getTensorTypes()`, the same predicate is
just `!... (continued)

115 of 133 new or added lines in 2 files covered. (86.47%)

1102 of 1553 relevant lines covered (70.96%)

0.71 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
81.32
edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Parameter.java
1
81.39
-0.69% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Function.java
Jobs
ID Job ID Ran Files Coverage
1 #1267.1 12 May 2026 04:18PM UTC 30
70.96
Source Files on build #1267
  • Tree
  • List 30
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 9a25765a on github
  • Prev Build on gh-readonly-queue/main/pr-471-3328c966b1adc26f86b8d71f623322870ea2bf32
  • Next Build on main (#25747161485)
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