Pre-existing parity gap documented during the #223 investigation (see PR #228, "Deliberately not fixed" notes; kept out of that PR's scope).
For a property default that is a constant expression, e.g.:
class Migration {
public const PREFIX = 'migration_';
public string $table = self::PREFIX . 'books';
}
Go\ParserReflection\ReflectionProperty::__toString() renders the default as the source expression (self::PREFIX . 'books'), while native reflection renders the evaluated value ('migration_books'). getDefaultValue() already evaluates correctly via NodeExpressionResolver — only the string rendering diverges.
Expected: __toString() prints the evaluated default like native reflection.
Pre-existing parity gap documented during the #223 investigation (see PR #228, "Deliberately not fixed" notes; kept out of that PR's scope).
For a property default that is a constant expression, e.g.:
Go\ParserReflection\ReflectionProperty::__toString()renders the default as the source expression (self::PREFIX . 'books'), while native reflection renders the evaluated value ('migration_books').getDefaultValue()already evaluates correctly viaNodeExpressionResolver— only the string rendering diverges.Expected:
__toString()prints the evaluated default like native reflection.