]> granicus.if.org Git - php/log
php
11 years agoPort use statement
Nikita Popov [Mon, 21 Jul 2014 20:49:31 +0000 (22:49 +0200)]
Port use statement

11 years agoRemove __clone test (not reason it should error)
Nikita Popov [Mon, 21 Jul 2014 16:47:03 +0000 (18:47 +0200)]
Remove __clone test (not reason it should error)

11 years agoRemove one usage of implementing_class
Nikita Popov [Mon, 21 Jul 2014 16:25:46 +0000 (18:25 +0200)]
Remove one usage of implementing_class

11 years agoDead code
Nikita Popov [Mon, 21 Jul 2014 16:24:10 +0000 (18:24 +0200)]
Dead code

11 years agoHandle const expr __CLASS__ in trait
Nikita Popov [Mon, 21 Jul 2014 16:21:13 +0000 (18:21 +0200)]
Handle const expr __CLASS__ in trait

11 years agoFix some remaining class declaration issues
Nikita Popov [Mon, 21 Jul 2014 16:15:09 +0000 (18:15 +0200)]
Fix some remaining class declaration issues

11 years agoPre-evaluate magic constants
Nikita Popov [Mon, 21 Jul 2014 16:02:31 +0000 (18:02 +0200)]
Pre-evaluate magic constants

11 years agoPort __TRAIT__ and __CLASS__ to AST
Nikita Popov [Mon, 21 Jul 2014 15:34:00 +0000 (17:34 +0200)]
Port __TRAIT__ and __CLASS__ to AST

11 years agoMostly finish class declarations (~50 failing tests)
Nikita Popov [Mon, 21 Jul 2014 15:14:01 +0000 (17:14 +0200)]
Mostly finish class declarations (~50 failing tests)

11 years agoPartial port of class declarations
Nikita Popov [Mon, 21 Jul 2014 14:34:45 +0000 (16:34 +0200)]
Partial port of class declarations

11 years agoPrepare zend_ast_decl for reuse with classes
Nikita Popov [Mon, 21 Jul 2014 13:38:21 +0000 (15:38 +0200)]
Prepare zend_ast_decl for reuse with classes

11 years agozend_begin_func_decl
Nikita Popov [Mon, 21 Jul 2014 13:22:13 +0000 (15:22 +0200)]
zend_begin_func_decl

11 years agoThrow \self etc error
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

11 years agoNo need to handle leading \ in class_name_literal
Nikita Popov [Sat, 19 Jul 2014 21:39:51 +0000 (23:39 +0200)]
No need to handle leading \ in class_name_literal

11 years agoFix class name resolution in traits
Nikita Popov [Sat, 19 Jul 2014 21:36:01 +0000 (23:36 +0200)]
Fix class name resolution in traits

11 years agoImprove class name handling
Nikita Popov [Sat, 19 Jul 2014 21:30:07 +0000 (23:30 +0200)]
Improve class name handling

11 years agoDead code
Nikita Popov [Sat, 19 Jul 2014 20:46:22 +0000 (22:46 +0200)]
Dead code

11 years agoPort trait uses
Nikita Popov [Sat, 19 Jul 2014 20:39:01 +0000 (22:39 +0200)]
Port trait uses

11 years agoHandle class const doc comment
Nikita Popov [Sat, 19 Jul 2014 13:18:06 +0000 (15:18 +0200)]
Handle class const doc comment

Property doc comments not yet handled

11 years agoPort class const decl
Nikita Popov [Sat, 19 Jul 2014 13:13:50 +0000 (15:13 +0200)]
Port class const decl

11 years agoPort property declarations
Nikita Popov [Sat, 19 Jul 2014 12:54:56 +0000 (14:54 +0200)]
Port property declarations

11 years agoDead code
Nikita Popov [Sat, 19 Jul 2014 11:23:25 +0000 (13:23 +0200)]
Dead code

11 years agoFix for with empty expression lists
Nikita Popov [Sat, 19 Jul 2014 11:21:12 +0000 (13:21 +0200)]
Fix for with empty expression lists

11 years agoLoad lineno when compiling exprs
Nikita Popov [Sat, 19 Jul 2014 11:13:58 +0000 (13:13 +0200)]
Load lineno when compiling exprs

11 years agoFix compound assign to static property
Nikita Popov [Sat, 19 Jul 2014 11:03:58 +0000 (13:03 +0200)]
Fix compound assign to static property

11 years agoRemove dead code
Nikita Popov [Sat, 19 Jul 2014 11:00:57 +0000 (13:00 +0200)]
Remove dead code

11 years ago__autoload error
Nikita Popov [Sat, 19 Jul 2014 10:57:31 +0000 (12:57 +0200)]
__autoload error

11 years agoPort methods
Nikita Popov [Sat, 19 Jul 2014 10:52:44 +0000 (12:52 +0200)]
Port methods

The duplicated magic method checks are ugly

11 years agoCleanup
Nikita Popov [Fri, 18 Jul 2014 18:24:44 +0000 (20:24 +0200)]
Cleanup

11 years agozend_emit_jump and zend_emit_cond_jump
Nikita Popov [Fri, 18 Jul 2014 17:57:38 +0000 (19:57 +0200)]
zend_emit_jump and zend_emit_cond_jump

11 years agozend_update_jump_target
Nikita Popov [Fri, 18 Jul 2014 14:11:43 +0000 (16:11 +0200)]
zend_update_jump_target

11 years agoRemove bits of dead code
Nikita Popov [Fri, 18 Jul 2014 13:53:38 +0000 (15:53 +0200)]
Remove bits of dead code

11 years agoSupport static closures
Nikita Popov [Fri, 18 Jul 2014 13:47:46 +0000 (15:47 +0200)]
Support static closures

11 years agoHandle function doc comments
Nikita Popov [Fri, 18 Jul 2014 13:23:16 +0000 (15:23 +0200)]
Handle function doc comments

11 years agoFix lexer/compiler interdependency
Nikita Popov [Fri, 18 Jul 2014 13:05:31 +0000 (15:05 +0200)]
Fix lexer/compiler interdependency

11 years agoUse dedicated func_decl ast node
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.

11 years agoSmall cleanup
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

11 years agoPort closures
Nikita Popov [Fri, 18 Jul 2014 10:58:24 +0000 (12:58 +0200)]
Port closures

11 years agoPort closure use
Nikita Popov [Fri, 18 Jul 2014 10:30:39 +0000 (12:30 +0200)]
Port closure use

11 years agoLineno corrections
Nikita Popov [Wed, 16 Jul 2014 21:27:27 +0000 (23:27 +0200)]
Lineno corrections

11 years agoPort __METHOD__
Nikita Popov [Wed, 16 Jul 2014 21:23:25 +0000 (23:23 +0200)]
Port __METHOD__

11 years agoPort __FUNCTION__ to AST
Nikita Popov [Wed, 16 Jul 2014 21:10:16 +0000 (23:10 +0200)]
Port __FUNCTION__ to AST

11 years agoPreliminary function decl support
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.

11 years agoPort parameter defs
Nikita Popov [Mon, 14 Jul 2014 21:03:53 +0000 (23:03 +0200)]
Port parameter defs

Has one bug re \self

11 years agoRename params -> args
Nikita Popov [Sun, 13 Jul 2014 11:11:55 +0000 (13:11 +0200)]
Rename params -> args

11 years agoMoar removal
Nikita Popov [Sat, 12 Jul 2014 17:20:21 +0000 (19:20 +0200)]
Moar removal

11 years agoRemove more dead code
Nikita Popov [Sat, 12 Jul 2014 17:18:09 +0000 (19:18 +0200)]
Remove more dead code

11 years agoRemove dead code
Nikita Popov [Sat, 12 Jul 2014 17:10:19 +0000 (19:10 +0200)]
Remove dead code

11 years agoFix + improve try/catch
Nikita Popov [Sat, 12 Jul 2014 17:08:09 +0000 (19:08 +0200)]
Fix + improve try/catch

11 years agoapprox correct linenos in errors
Nikita Popov [Sat, 12 Jul 2014 15:10:10 +0000 (17:10 +0200)]
approx correct linenos in errors

11 years agoPort static vars
Nikita Popov [Sat, 12 Jul 2014 15:00:53 +0000 (17:00 +0200)]
Port static vars

Need to figure out the constant expr stuff

11 years agoVerious fixes
Nikita Popov [Sat, 12 Jul 2014 14:25:47 +0000 (16:25 +0200)]
Verious fixes

11 years agoStore (bad) estimate of lineno with ast
Nikita Popov [Sat, 12 Jul 2014 12:03:42 +0000 (14:03 +0200)]
Store (bad) estimate of lineno with ast

Currently not used yet

11 years agoPort try/catch
Nikita Popov [Sat, 12 Jul 2014 11:50:58 +0000 (13:50 +0200)]
Port try/catch

Down to 50 failing Zend tests

11 years agoFix leak
Nikita Popov [Fri, 11 Jul 2014 13:33:39 +0000 (15:33 +0200)]
Fix leak

11 years agoPort switch
Nikita Popov [Fri, 11 Jul 2014 13:31:47 +0000 (15:31 +0200)]
Port switch

11 years agoPort foreach
Nikita Popov [Fri, 11 Jul 2014 10:16:21 +0000 (12:16 +0200)]
Port foreach

11 years agoMake inner_statement_list asty
Nikita Popov [Thu, 10 Jul 2014 21:04:42 +0000 (23:04 +0200)]
Make inner_statement_list asty

11 years agoPort if (partial)
Nikita Popov [Thu, 10 Jul 2014 14:38:04 +0000 (16:38 +0200)]
Port if (partial)

11 years agoPort for
Nikita Popov [Thu, 10 Jul 2014 13:51:47 +0000 (15:51 +0200)]
Port for

11 years agoSupport creating of ast nodes with >3 children
Nikita Popov [Thu, 10 Jul 2014 13:18:08 +0000 (15:18 +0200)]
Support creating of ast nodes with >3 children

11 years agoPort do/while
Nikita Popov [Thu, 10 Jul 2014 12:46:22 +0000 (14:46 +0200)]
Port do/while

11 years agoPort while
Nikita Popov [Thu, 10 Jul 2014 12:35:59 +0000 (14:35 +0200)]
Port while

Note: From here on everything is broken

11 years agoExpr stmts go through ast
Nikita Popov [Wed, 9 Jul 2014 22:04:27 +0000 (00:04 +0200)]
Expr stmts go through ast

11 years agoMake statement asty
Nikita Popov [Wed, 9 Jul 2014 22:00:48 +0000 (00:00 +0200)]
Make statement asty

11 years agoPort goto label
Nikita Popov [Wed, 9 Jul 2014 21:46:22 +0000 (23:46 +0200)]
Port goto label

11 years agoMake unticked_statement an ast node (usually NULL)
Nikita Popov [Wed, 9 Jul 2014 21:39:21 +0000 (23:39 +0200)]
Make unticked_statement an ast node (usually NULL)

11 years agoPort goto
Nikita Popov [Wed, 9 Jul 2014 21:11:32 +0000 (23:11 +0200)]
Port goto

11 years agoPort break/continue
Nikita Popov [Wed, 9 Jul 2014 21:05:21 +0000 (23:05 +0200)]
Port break/continue

11 years agoPort throw
Nikita Popov [Wed, 9 Jul 2014 20:47:36 +0000 (22:47 +0200)]
Port throw

11 years agoPort echo
Nikita Popov [Mon, 7 Jul 2014 19:14:14 +0000 (21:14 +0200)]
Port echo

11 years agoPort return statement
Nikita Popov [Mon, 7 Jul 2014 19:06:02 +0000 (21:06 +0200)]
Port return statement

11 years agoUse zend_string* in some places
Nikita Popov [Fri, 4 Jul 2014 22:11:00 +0000 (00:11 +0200)]
Use zend_string* in some places

11 years agoRefactor class name resolution as well
Nikita Popov [Fri, 4 Jul 2014 21:45:20 +0000 (23:45 +0200)]
Refactor class name resolution as well

11 years agoHack around global leak for now
Nikita Popov [Fri, 4 Jul 2014 21:15:31 +0000 (23:15 +0200)]
Hack around global leak for now

11 years agoShared name production for const / fn name
Nikita Popov [Fri, 4 Jul 2014 21:08:05 +0000 (23:08 +0200)]
Shared name production for const / fn name

11 years agoSome refactoring of fn/const resolution
Nikita Popov [Sat, 28 Jun 2014 20:27:06 +0000 (22:27 +0200)]
Some refactoring of fn/const resolution

11 years agoDrop addition of weird \ prefix for FQ consts
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

11 years agoRename ZEND_CONST to ZEND_AST_ZVAL
Nikita Popov [Sat, 28 Jun 2014 16:03:26 +0000 (18:03 +0200)]
Rename ZEND_CONST to ZEND_AST_ZVAL

11 years agoDrop dead code
Nikita Popov [Thu, 26 Jun 2014 20:17:19 +0000 (22:17 +0200)]
Drop dead code

11 years agoRemove obseleted grammar productions
Nikita Popov [Thu, 26 Jun 2014 20:04:09 +0000 (22:04 +0200)]
Remove obseleted grammar productions

11 years agoReuse expr for static_scalar
Nikita Popov [Thu, 26 Jun 2014 20:02:54 +0000 (22:02 +0200)]
Reuse expr for static_scalar

11 years agoHandle ::class in const expr via ast as well
Nikita Popov [Thu, 26 Jun 2014 19:44:46 +0000 (21:44 +0200)]
Handle ::class in const expr via ast as well

11 years agoCompile const refs to CONST
Nikita Popov [Thu, 26 Jun 2014 14:56:50 +0000 (16:56 +0200)]
Compile const refs to CONST

11 years agoCompile class const refs to CONST zval
Nikita Popov [Thu, 26 Jun 2014 14:35:30 +0000 (16:35 +0200)]
Compile class const refs to CONST zval

11 years agoAdd compilation state for static scalars
Nikita Popov [Thu, 26 Jun 2014 14:03:15 +0000 (16:03 +0200)]
Add compilation state for static scalars

11 years agoRemove static_scalar_base
Nikita Popov [Thu, 26 Jun 2014 12:03:31 +0000 (14:03 +0200)]
Remove static_scalar_base

11 years agoHandle trait __CLASS__ in parser
Nikita Popov [Thu, 26 Jun 2014 12:00:20 +0000 (14:00 +0200)]
Handle trait __CLASS__ in parser

11 years agoBring static scalar arrays in line
Nikita Popov [Thu, 26 Jun 2014 11:16:31 +0000 (13:16 +0200)]
Bring static scalar arrays in line

11 years agoBring static scalar AST more in line with normal AST
Nikita Popov [Thu, 26 Jun 2014 11:00:13 +0000 (13:00 +0200)]
Bring static scalar AST more in line with normal AST

11 years agoConst eval unary pm (as previously)
Nikita Popov [Thu, 26 Jun 2014 10:43:20 +0000 (12:43 +0200)]
Const eval unary pm (as previously)

11 years agoImplement constant expression folding as a separate pass
Nikita Popov [Mon, 23 Jun 2014 19:30:57 +0000 (21:30 +0200)]
Implement constant expression folding as a separate pass

11 years agoImplement CT eval of binary expressions
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?

11 years agoMove T_STRING_VARNAME handling
Nikita Popov [Sat, 21 Jun 2014 18:11:31 +0000 (20:11 +0200)]
Move T_STRING_VARNAME handling

11 years agoSupport string interpolation
Nikita Popov [Sat, 21 Jun 2014 18:03:29 +0000 (20:03 +0200)]
Support string interpolation

11 years agozend_ast_dynamic_ast returns new node
Nikita Popov [Sat, 21 Jun 2014 17:26:17 +0000 (19:26 +0200)]
zend_ast_dynamic_ast returns new node

11 years agoRemove dead code
Nikita Popov [Sat, 21 Jun 2014 16:44:16 +0000 (18:44 +0200)]
Remove dead code

11 years agoAST stage 2.4
Nikita Popov [Thu, 19 Jun 2014 11:57:29 +0000 (13:57 +0200)]
AST stage 2.4

11 years agoAdd ability to specify additional attr in AST
Nikita Popov [Thu, 19 Jun 2014 11:44:17 +0000 (13:44 +0200)]
Add ability to specify additional attr in AST

11 years agoMake ast->children a uint
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.