PyneComp v6.0.50 — legacy Pine conversion fidelity: forward references, eager evaluation…

Fixes

  • Forward-referenced series now compile — a legacy up = ... down[1] ... reading a variable declared on a later line — and self-referencing declarations are hoisted the same way
  • A variable named after a built-in namespace keeps both readings: strategy.entry() reaches the built-in while the bare name stays the user’s, and math.size() on an array now reaches the array instead of the math module
  • builtin_libraries gained strategy, request, splits, backadjustment and settlement_as_close, which used to make a same-named user variable shadow the emitted namespace import
  • v1/v2 chained comparisons (a > b >= c), spaced na (x) calls, array.from<T> element templates, comma-chained declarations, and switch case arms that were parsed as user functions
  • v5→v6 conversion is byte-exact against TradingView again; not (...) keeps its load-bearing parentheses, comments survive comma chains, and UDT-field history hoists land on a statement that runs on every bar
  • .copy() dispatches correctly for matrix receivers, and the drawings TradingView refuses to copy are rejected instead of silently minting an unregistered object
  • v4 conversion scopes ignore blank and comment-only lines, and v4 identifiers newly reserved in v5 are renamed including their function declarations
  • The editor catalog is built against TradingView’s own name index: 910 items with no invented name, no missing name and no wrong completion kind

Features

  • Pre-v6 sources keep their eager evaluation — stateful ta.* calls in ?: branches and in and/or operands are hoisted to statement level so their history is not compressed