• Roman Alifanov's avatar
    Fix critical codegen bugs for complex expressions · a9fe7b9d
    Roman Alifanov authored
    - String interpolation with operators: {a == b} now generates proper
      bash comparison instead of invalid ${a == b}
    - Double method call in conditions: CSE precompute now correctly reuses
      temp variable for CallExpr to avoid calling method twice
    - arr.push() with method call: detect side effects and call method
      separately to avoid subshell state isolation
    - charAt() with newline: use printf X marker to preserve trailing newlines
    - this.field.method() and obj.field.method(): handle nested MemberAccess
      in return statements and assignments
    - Namespace vs variable collision: check if identifier is known variable
      before treating as namespace
    - return func() with arrays: use _generate_call_arg for proper nameref
    a9fe7b9d
Name
Last commit
Last update
bootstrap Loading commit data...
examples Loading commit data...
lib Loading commit data...
tests Loading commit data...
LANGUAGE_SPEC.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
README_ru.md Loading commit data...
content Loading commit data...