Skip to content

Language: Default parameter values and optional arguments #196

@PurHur

Description

@PurHur

Problem

compileParam() in lib/Compiler.php asserts:

assert(null === $param->defaultBlock);

Most real PHP functions use defaults: function greet(string $name = 'Guest').

Goal

Support default values for function parameters in VM and JIT.

Tasks

Acceptance criteria

function f($a = 1, $b = 2) { return $a + $b; }
echo f(), f(10), f(10, 20); // 3, 12, 30

Dependencies

Files

  • lib/Compiler.php, lib/VM.php, lib/JIT.php

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions