]>
granicus.if.org Git - php/log
Nikita Popov [Mon, 21 Jul 2014 20:49:31 +0000 (22:49 +0200)]
Port use statement
Nikita Popov [Mon, 21 Jul 2014 16:47:03 +0000 (18:47 +0200)]
Remove __clone test (not reason it should error)
Nikita Popov [Mon, 21 Jul 2014 16:25:46 +0000 (18:25 +0200)]
Remove one usage of implementing_class
Nikita Popov [Mon, 21 Jul 2014 16:24:10 +0000 (18:24 +0200)]
Dead code
Nikita Popov [Mon, 21 Jul 2014 16:21:13 +0000 (18:21 +0200)]
Handle const expr __CLASS__ in trait
Nikita Popov [Mon, 21 Jul 2014 16:15:09 +0000 (18:15 +0200)]
Fix some remaining class declaration issues
Nikita Popov [Mon, 21 Jul 2014 16:02:31 +0000 (18:02 +0200)]
Pre-evaluate magic constants
Nikita Popov [Mon, 21 Jul 2014 15:34:00 +0000 (17:34 +0200)]
Port __TRAIT__ and __CLASS__ to AST
Nikita Popov [Mon, 21 Jul 2014 15:14:01 +0000 (17:14 +0200)]
Mostly finish class declarations (~50 failing tests)
Nikita Popov [Mon, 21 Jul 2014 14:34:45 +0000 (16:34 +0200)]
Partial port of class declarations
Nikita Popov [Mon, 21 Jul 2014 13:38:21 +0000 (15:38 +0200)]
Prepare zend_ast_decl for reuse with classes
Nikita Popov [Mon, 21 Jul 2014 13:22:13 +0000 (15:22 +0200)]
zend_begin_func_decl
Nikita Popov [Sat, 19 Jul 2014 21:44:33 +0000 (23:44 +0200)]
Throw \self etc error
Could only enable this now that everything uses the new format
Nikita Popov [Sat, 19 Jul 2014 21:39:51 +0000 (23:39 +0200)]
No need to handle leading \ in class_name_literal
Nikita Popov [Sat, 19 Jul 2014 21:36:01 +0000 (23:36 +0200)]
Fix class name resolution in traits
Nikita Popov [Sat, 19 Jul 2014 21:30:07 +0000 (23:30 +0200)]
Improve class name handling
Nikita Popov [Sat, 19 Jul 2014 20:46:22 +0000 (22:46 +0200)]
Dead code
Nikita Popov [Sat, 19 Jul 2014 20:39:01 +0000 (22:39 +0200)]
Port trait uses
Nikita Popov [Sat, 19 Jul 2014 13:18:06 +0000 (15:18 +0200)]
Handle class const doc comment
Property doc comments not yet handled
Nikita Popov [Sat, 19 Jul 2014 13:13:50 +0000 (15:13 +0200)]
Port class const decl
Nikita Popov [Sat, 19 Jul 2014 12:54:56 +0000 (14:54 +0200)]
Port property declarations
Nikita Popov [Sat, 19 Jul 2014 11:23:25 +0000 (13:23 +0200)]
Dead code
Nikita Popov [Sat, 19 Jul 2014 11:21:12 +0000 (13:21 +0200)]
Fix for with empty expression lists
Nikita Popov [Sat, 19 Jul 2014 11:13:58 +0000 (13:13 +0200)]
Load lineno when compiling exprs
Nikita Popov [Sat, 19 Jul 2014 11:03:58 +0000 (13:03 +0200)]
Fix compound assign to static property
Nikita Popov [Sat, 19 Jul 2014 11:00:57 +0000 (13:00 +0200)]
Remove dead code
Nikita Popov [Sat, 19 Jul 2014 10:57:31 +0000 (12:57 +0200)]
__autoload error
Nikita Popov [Sat, 19 Jul 2014 10:52:44 +0000 (12:52 +0200)]
Port methods
The duplicated magic method checks are ugly
Nikita Popov [Fri, 18 Jul 2014 18:24:44 +0000 (20:24 +0200)]
Cleanup
Nikita Popov [Fri, 18 Jul 2014 17:57:38 +0000 (19:57 +0200)]
zend_emit_jump and zend_emit_cond_jump
Nikita Popov [Fri, 18 Jul 2014 14:11:43 +0000 (16:11 +0200)]
zend_update_jump_target
Nikita Popov [Fri, 18 Jul 2014 13:53:38 +0000 (15:53 +0200)]
Remove bits of dead code
Nikita Popov [Fri, 18 Jul 2014 13:47:46 +0000 (15:47 +0200)]
Support static closures
Nikita Popov [Fri, 18 Jul 2014 13:23:16 +0000 (15:23 +0200)]
Handle function doc comments
Nikita Popov [Fri, 18 Jul 2014 13:05:31 +0000 (15:05 +0200)]
Fix lexer/compiler interdependency
Nikita Popov [Fri, 18 Jul 2014 12:57:00 +0000 (14:57 +0200)]
Use dedicated func_decl ast node
Functions need a bunch of extra info, that becomes inconvenient
to handle using the normal ast structure.
Nikita Popov [Fri, 18 Jul 2014 11:15:58 +0000 (13:15 +0200)]
Small cleanup
Current problem: build_runtime_defined_function_key is lexer
coupled
Nikita Popov [Fri, 18 Jul 2014 10:58:24 +0000 (12:58 +0200)]
Port closures
Nikita Popov [Fri, 18 Jul 2014 10:30:39 +0000 (12:30 +0200)]
Port closure use
Nikita Popov [Wed, 16 Jul 2014 21:27:27 +0000 (23:27 +0200)]
Lineno corrections
Nikita Popov [Wed, 16 Jul 2014 21:23:25 +0000 (23:23 +0200)]
Port __METHOD__
Nikita Popov [Wed, 16 Jul 2014 21:10:16 +0000 (23:10 +0200)]
Port __FUNCTION__ to AST
Nikita Popov [Tue, 15 Jul 2014 22:06:41 +0000 (00:06 +0200)]
Preliminary function decl support
Problem: __FUNCTION__ etc don't work anymore, due to lexer/parser
interdependency.
Nikita Popov [Mon, 14 Jul 2014 21:03:53 +0000 (23:03 +0200)]
Port parameter defs
Has one bug re \self
Nikita Popov [Sun, 13 Jul 2014 11:11:55 +0000 (13:11 +0200)]
Rename params -> args
Nikita Popov [Sat, 12 Jul 2014 17:20:21 +0000 (19:20 +0200)]
Moar removal
Nikita Popov [Sat, 12 Jul 2014 17:18:09 +0000 (19:18 +0200)]
Remove more dead code
Nikita Popov [Sat, 12 Jul 2014 17:10:19 +0000 (19:10 +0200)]
Remove dead code
Nikita Popov [Sat, 12 Jul 2014 17:08:09 +0000 (19:08 +0200)]
Fix + improve try/catch
Nikita Popov [Sat, 12 Jul 2014 15:10:10 +0000 (17:10 +0200)]
approx correct linenos in errors
Nikita Popov [Sat, 12 Jul 2014 15:00:53 +0000 (17:00 +0200)]
Port static vars
Need to figure out the constant expr stuff
Nikita Popov [Sat, 12 Jul 2014 14:25:47 +0000 (16:25 +0200)]
Verious fixes
Nikita Popov [Sat, 12 Jul 2014 12:03:42 +0000 (14:03 +0200)]
Store (bad) estimate of lineno with ast
Currently not used yet
Nikita Popov [Sat, 12 Jul 2014 11:50:58 +0000 (13:50 +0200)]
Port try/catch
Down to 50 failing Zend tests
Nikita Popov [Fri, 11 Jul 2014 13:33:39 +0000 (15:33 +0200)]
Fix leak
Nikita Popov [Fri, 11 Jul 2014 13:31:47 +0000 (15:31 +0200)]
Port switch
Nikita Popov [Fri, 11 Jul 2014 10:16:21 +0000 (12:16 +0200)]
Port foreach
Nikita Popov [Thu, 10 Jul 2014 21:04:42 +0000 (23:04 +0200)]
Make inner_statement_list asty
Nikita Popov [Thu, 10 Jul 2014 14:38:04 +0000 (16:38 +0200)]
Port if (partial)
Nikita Popov [Thu, 10 Jul 2014 13:51:47 +0000 (15:51 +0200)]
Port for
Nikita Popov [Thu, 10 Jul 2014 13:18:08 +0000 (15:18 +0200)]
Support creating of ast nodes with >3 children
Nikita Popov [Thu, 10 Jul 2014 12:46:22 +0000 (14:46 +0200)]
Port do/while
Nikita Popov [Thu, 10 Jul 2014 12:35:59 +0000 (14:35 +0200)]
Port while
Note: From here on everything is broken
Nikita Popov [Wed, 9 Jul 2014 22:04:27 +0000 (00:04 +0200)]
Expr stmts go through ast
Nikita Popov [Wed, 9 Jul 2014 22:00:48 +0000 (00:00 +0200)]
Make statement asty
Nikita Popov [Wed, 9 Jul 2014 21:46:22 +0000 (23:46 +0200)]
Port goto label
Nikita Popov [Wed, 9 Jul 2014 21:39:21 +0000 (23:39 +0200)]
Make unticked_statement an ast node (usually NULL)
Nikita Popov [Wed, 9 Jul 2014 21:11:32 +0000 (23:11 +0200)]
Port goto
Nikita Popov [Wed, 9 Jul 2014 21:05:21 +0000 (23:05 +0200)]
Port break/continue
Nikita Popov [Wed, 9 Jul 2014 20:47:36 +0000 (22:47 +0200)]
Port throw
Nikita Popov [Mon, 7 Jul 2014 19:14:14 +0000 (21:14 +0200)]
Port echo
Nikita Popov [Mon, 7 Jul 2014 19:06:02 +0000 (21:06 +0200)]
Port return statement
Nikita Popov [Fri, 4 Jul 2014 22:11:00 +0000 (00:11 +0200)]
Use zend_string* in some places
Nikita Popov [Fri, 4 Jul 2014 21:45:20 +0000 (23:45 +0200)]
Refactor class name resolution as well
Nikita Popov [Fri, 4 Jul 2014 21:15:31 +0000 (23:15 +0200)]
Hack around global leak for now
Nikita Popov [Fri, 4 Jul 2014 21:08:05 +0000 (23:08 +0200)]
Shared name production for const / fn name
Nikita Popov [Sat, 28 Jun 2014 20:27:06 +0000 (22:27 +0200)]
Some refactoring of fn/const resolution
Nikita Popov [Sat, 28 Jun 2014 16:22:51 +0000 (18:22 +0200)]
Drop addition of weird \ prefix for FQ consts
Also fixes a resolution bug
Nikita Popov [Sat, 28 Jun 2014 16:03:26 +0000 (18:03 +0200)]
Rename ZEND_CONST to ZEND_AST_ZVAL
Nikita Popov [Thu, 26 Jun 2014 20:17:19 +0000 (22:17 +0200)]
Drop dead code
Nikita Popov [Thu, 26 Jun 2014 20:04:09 +0000 (22:04 +0200)]
Remove obseleted grammar productions
Nikita Popov [Thu, 26 Jun 2014 20:02:54 +0000 (22:02 +0200)]
Reuse expr for static_scalar
Nikita Popov [Thu, 26 Jun 2014 19:44:46 +0000 (21:44 +0200)]
Handle ::class in const expr via ast as well
Nikita Popov [Thu, 26 Jun 2014 14:56:50 +0000 (16:56 +0200)]
Compile const refs to CONST
Nikita Popov [Thu, 26 Jun 2014 14:35:30 +0000 (16:35 +0200)]
Compile class const refs to CONST zval
Nikita Popov [Thu, 26 Jun 2014 14:03:15 +0000 (16:03 +0200)]
Add compilation state for static scalars
Nikita Popov [Thu, 26 Jun 2014 12:03:31 +0000 (14:03 +0200)]
Remove static_scalar_base
Nikita Popov [Thu, 26 Jun 2014 12:00:20 +0000 (14:00 +0200)]
Handle trait __CLASS__ in parser
Nikita Popov [Thu, 26 Jun 2014 11:16:31 +0000 (13:16 +0200)]
Bring static scalar arrays in line
Nikita Popov [Thu, 26 Jun 2014 11:00:13 +0000 (13:00 +0200)]
Bring static scalar AST more in line with normal AST
Nikita Popov [Thu, 26 Jun 2014 10:43:20 +0000 (12:43 +0200)]
Const eval unary pm (as previously)
Nikita Popov [Mon, 23 Jun 2014 19:30:57 +0000 (21:30 +0200)]
Implement constant expression folding as a separate pass
Nikita Popov [Sun, 22 Jun 2014 13:57:44 +0000 (15:57 +0200)]
Implement CT eval of binary expressions
I totally hate this approach. It's ugly and I don't think I can
share code with the static scalar evaluation. Maybe I should use
the approach that static scalars use instead?
Nikita Popov [Sat, 21 Jun 2014 18:11:31 +0000 (20:11 +0200)]
Move T_STRING_VARNAME handling
Nikita Popov [Sat, 21 Jun 2014 18:03:29 +0000 (20:03 +0200)]
Support string interpolation
Nikita Popov [Sat, 21 Jun 2014 17:26:17 +0000 (19:26 +0200)]
zend_ast_dynamic_ast returns new node
Nikita Popov [Sat, 21 Jun 2014 16:44:16 +0000 (18:44 +0200)]
Remove dead code
Nikita Popov [Thu, 19 Jun 2014 11:57:29 +0000 (13:57 +0200)]
AST stage 2.4
Nikita Popov [Thu, 19 Jun 2014 11:44:17 +0000 (13:44 +0200)]
Add ability to specify additional attr in AST
Nikita Popov [Thu, 19 Jun 2014 11:08:21 +0000 (13:08 +0200)]
Make ast->children a uint
Future optimization: only use uint for dynamic lists and use a
uchar or even an introspection function to get the child count.