-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix access to undefined stack index on ExpressionParser
#67
base: master
Are you sure you want to change the base?
Commits on Apr 17, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 6c13805 - Browse repository at this point
Copy the full SHA 6c13805View commit details -
Add runtime error when attempting to unpack a non unpackable Ast node
Ex.: ``` Error unpacking a non unpackable Ast node on `$(binary_xor?... {` at line 29 with context: [ "^" ] Hint: use a non ellipsis expansion as in `$(binary_xor ? {` ``` cc ircmaxell/php-compiler#29
Configuration menu - View commit details
-
Copy full SHA for 0cf0840 - Browse repository at this point
Copy the full SHA 0cf0840View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae6ee42 - Browse repository at this point
Copy the full SHA ae6ee42View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08c6490 - Browse repository at this point
Copy the full SHA 08c6490View commit details
Commits on Apr 18, 2019
-
Allow Ast to set nested values
``` $ast->{'some deep token'} = new Token(T_STRING, 'patch'); ``` Ref: github.com//pull/59
Configuration menu - View commit details
-
Copy full SHA for 58556cc - Browse repository at this point
Copy the full SHA 58556ccView commit details -
2
Configuration menu - View commit details
-
Copy full SHA for f0d1407 - Browse repository at this point
Copy the full SHA f0d1407View commit details
Commits on Apr 19, 2019
-
Revert "Add ParsedTokenStream class and use it for expansion"
This reverts commit f0d1407.
Configuration menu - View commit details
-
Copy full SHA for 3d49888 - Browse repository at this point
Copy the full SHA 3d49888View commit details
Commits on Apr 26, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 490d24d - Browse repository at this point
Copy the full SHA 490d24dView commit details
Commits on Sep 26, 2019
-
Add support for composable Ast and TokenStream based expanders.
From now on, the supported signature for expanders is: ``` function(Optional<Ast|TokenStream> $subject, Optional<Engine> $e) : Ast|TokenStream; ``` Support for nested Ast based expanders through Yay DSL also allowed: Ex.: ```php >> { $$(my_cheers_ast_expander( $$(my_hello_ast_expander( $(name_ast_node) )) )); } ``` Given: ```php function my_hello_ast_expander(\Yay\Ast $ast) : \Yay\Ast { return new \Yay\Ast($ast->label(), new Token( T_CONSTANT_ENCAPSED_STRING, "'Hello, {$ast->token()}. From Ast.'", $ast->token()->line() )); } function my_cheers_ast_expander(\Yay\Ast $ast) : \Yay\Ast { $str = str_replace("'", "", (string) $ast->token()); return new \Yay\Ast($ast->label(), new Token( T_CONSTANT_ENCAPSED_STRING, "'{$str} Cheers!'", $ast->token()->line() )); } ``` Thanks @assertchris for reproducing bugs and pushing tests.
Configuration menu - View commit details
-
Copy full SHA for c3dd1a3 - Browse repository at this point
Copy the full SHA c3dd1a3View commit details -
Improve error handling and error message contextualization 👀
- Augment error messages with their respective line and filename using the same formating as the PHP engine itself. This allows IDEs to parse both preprocessor and runtime error message the same way; - Use a `YayPreprocessorError` instead of stdlib exceptions that can come from any random user space code;
Configuration menu - View commit details
-
Copy full SHA for 5bfac52 - Browse repository at this point
Copy the full SHA 5bfac52View commit details -
Using a stream wrapper requires url include enabled and this is considered too unsafe for most setups. With that in mind I have no reason to maintain this feature. Other methods involving composer autoload trickery or xray (https://github.com/marcioAlmada/xray) extension have been considered preferable according to community usage history.
Configuration menu - View commit details
-
Copy full SHA for c76f655 - Browse repository at this point
Copy the full SHA c76f655View commit details
Commits on Sep 29, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 975d96a - Browse repository at this point
Copy the full SHA 975d96aView commit details -
Add experimental non opinionated command line linker to
bin/yay
:YAY! Usage: yay yay <file> yay --macros=<macros> yay --macros=<macros> <file> yay -h | --help yay --version Options: -h --help Show this screen. --version Show version. --macros=<macros> PHP glob pattern for macros to be loaded. Ex: my/macros/*.yay [default: ''] Examples: ``` # Process file: yay input.php > output.php # Process file, preload project macros: > yay --macros="./project-macros/*.yay" input.php > output.php # Process stdin: > cat input.php | yay > output.php # Process stdin, preload project macros: > cat input.php | yay --macros="./project-macros/*.yay" > output.php ```
Configuration menu - View commit details
-
Copy full SHA for 36e8191 - Browse repository at this point
Copy the full SHA 36e8191View commit details
Commits on Sep 30, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 01c2896 - Browse repository at this point
Copy the full SHA 01c2896View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9518254 - Browse repository at this point
Copy the full SHA 9518254View commit details -
Allow xdebug not to be disabled
This allows the script to continue if xdebug can't be disabled (most likely bc it isn't there in the first place)
Configuration menu - View commit details
-
Copy full SHA for 6a7fe41 - Browse repository at this point
Copy the full SHA 6a7fe41View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50751d5 - Browse repository at this point
Copy the full SHA 50751d5View commit details