Commit Graph

977 Commits

Author SHA1 Message Date
Dmitry Stogov
1a1178a685 eliminated unnecessary iterations during request startup/shutdown 2010-07-06 11:40:17 +00:00
Felipe Pena
cb6bf19bfa - Fixed bug #51421 (Abstract __construct constructor argument list not enforced) 2010-06-26 22:05:13 +00:00
Felipe Pena
d98de7d248 - Fixed bug #52160 (Invalid E_STRICT redefined constructor error) 2010-06-26 19:19:16 +00:00
Felipe Pena
dc3940bd1c - Fix ZTS build 2010-06-08 18:02:10 +00:00
Stefan Marr
e6bd5368ad Fixed issue with statics in traits.
#Please review this change, I moved the routine which copies statics from the closure code to zend_variables.c
#Please also have a look to check whether the TSRMLS_DC is correct, and whether it fits with the rest in zend_variables, because there you are using some macro magic and I am not exactly sure what the reason is for that.
2010-06-08 15:56:36 +00:00
Johannes Schlüter
0262fdf3e9 - A method called like a trait is no constructor 2010-05-29 20:01:08 +00:00
Dmitry Stogov
f7ce69585c - Interned string related callbacks moved turned from compiler_globals into real globals
- Updated API version number
2010-05-25 09:00:20 +00:00
Ilia Alshanetsky
33fae4caa0 Added support for numeric & scalar type hint as defined within
http://wiki.php.net/rfc/typecheckingstrictandweak RFC
2010-05-24 18:32:59 +00:00
Dmitry Stogov
f23e857676 Fixed ZTS build 2010-05-24 17:07:52 +00:00
Dmitry Stogov
c5237d82bf Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties 2010-05-24 14:11:39 +00:00
Derick Rethans
1bc9247651 - Added scalar typehinting. 2010-05-20 19:18:35 +00:00
Felipe Pena
a7c129af16 - Fix typo (take 3! thanks Chris and Tony) 2010-05-07 17:57:09 +00:00
Felipe Pena
91c46fd26e - Fix error message wording (Kalle) 2010-05-07 17:18:49 +00:00
Felipe Pena
c95b4ace40 - Fixed ZEND_VERIFY_ABSTRACT_CLASS order when using traits
# It's the last one now, thus the traits can be used to implement interfaces
2010-05-07 16:29:15 +00:00
Felipe Pena
74fe9dd89e - Fixed magic method and constructor copy for traits 2010-05-07 13:55:27 +00:00
Felipe Pena
5d701938a3 - Added check for constant creation on Traits
- Simplified trait flag check
- Test++ :)
2010-05-07 11:09:35 +00:00
Felipe Pena
ca3656dfe0 - Added check for 'static' on trait visibility modifier 2010-05-06 19:20:12 +00:00
Felipe Pena
363d6e45be - Fix typos 2010-05-06 18:28:45 +00:00
Felipe Pena
241ceed37e - Fix error messages & WS 2010-05-06 18:20:38 +00:00
Dmitry Stogov
d5800f881c Optimized access to static properties using executor specialization. A constant class name may be used as a direct operand of ZEND_FETCH_* instruction without previous ZEND_FETCH_CLASS. 2010-05-06 10:27:35 +00:00
Felipe Pena
a888d2cd16 - Added check for trait when trying to extend it 2010-05-04 18:45:01 +00:00
Felipe Pena
45a536fc7c - Added check for abstract class
abstract class foo { }
  class T { use foo; } // T cannot use foo - it is not a trait

- Added check for trait on NEW 

  trait a { }
  new a; // Cannot instantiate trait a

# Tests for errors comming soon :)
2010-05-04 18:21:00 +00:00
Stefan Marr
331b052994 Changed naming of traits-related helper functions (suggested by Derick), added missing static qualifiers. 2010-05-03 22:08:09 +00:00
Felipe Pena
155bdc8a72 - WS 2010-05-02 18:47:27 +00:00
Felipe Pena
9568c8e398 - Changed zend_hash func calls to use the quick ones 2010-05-02 17:39:24 +00:00
Stefan Marr
fe4988241d Refactored part of the Traits implementation.
# - renamed php_runkit_function_copy_ctor to _duplicate_function
#   REM: runkit does not compile with trunk at the moment, fixing it would introduce even more version #ifs, don't know what the best way is to fix it
# - extracted traits related stuff from destroy_zend_class into _destroy_zend_class_traits_info
#   - need to investigate implementation/handling of internal classes further before enabling internal traits
2010-05-02 16:32:25 +00:00
Pierre Joye
de555d3970 - fix build (void is evil) 2010-04-28 20:47:13 +00:00
Dmitry Stogov
d8a7f892ee - ws
- removed unused variables
2010-04-27 12:17:32 +00:00
Dmitry Stogov
c58b131e29 - Reimplemented ZEND_INIT_FCALL_BY_NAME and ZEND_INIT_NS_FCALL_BY_NAME to use literals instead of additional operands
- Optimized access to global constants
2010-04-27 12:09:13 +00:00
Felipe Pena
0a6bcd44a7 - Removed allow_call_time_pass_reference (Pierrick) 2010-04-26 00:13:34 +00:00
Dmitry Stogov
f06d839e59 Use fast class fetch function 2010-04-23 08:56:03 +00:00
Felipe Pena
246a15e95f - Fix memory issue 2010-04-23 02:57:49 +00:00
Felipe Pena
c7bf006c4d - Fix Windows build (Kalle) 2010-04-23 01:56:03 +00:00
Felipe Pena
5a8632a144 - Fix function signature 2010-04-23 01:43:27 +00:00
Felipe Pena
28263bf8a4 - Fix ZTS code and CS 2010-04-23 00:54:51 +00:00
Felipe Pena
cdf71efc5c - Fix zend_hash_apply_with_arguments() calls on ZTS 2010-04-22 23:25:05 +00:00
Felipe Pena
c05e38e401 - Fixed ZTS build & comment-style 2010-04-22 23:16:15 +00:00
Stefan Marr
cd6415f1a9 Implemented Traits for PHP as proposed in the RFC [TRAITS]
# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more discussion, which is fine
# by me. But now, the patch is here, and properly archived.
# 
# See below a list of notes to the patch, it also includes a list of
# points which should be fixed
# 
# Internals of the Traits Patch
# -----------------------------
# 
# Open TODOs
# """"""""""
# 
# - Reflection API
# - support for traits for internal classes
#   - currently destroy_zend_class does not handle that case 
# 
# Introduced Structures
# """""""""""""""""""""
# 
# Data structures to encode the composition information specified in the
# source:
#  - zend_trait_method_reference
#  - zend_trait_precedence
#  - zend_trait_alias
# 
# Changes
# """""""
# 
# zend_class_entry
#  - uses NULL terminated lists of pointers for
#    - trait_aliases
#    - trait_precedences
#    - do you prefer an explicit counter?
#    - the information is only necessary during class composition
#      but might be interesting for reflection
#    - did not want to blow up class further with not really necessary length counters
# 
# added keywords
#   - trait
#   - insteadof
# 
# Added opcodes
#  ZEND_ADD_TRAIT
#    - similar to ZEND_ADD_INTERFACE
#    - adds the trait to the list of traits of a class, no actual composition done
#  ZEND_BIND_TRAITS
#    - emitted in zend_do_end_class_declaration
#    - concludes the class definition and will initiate the trait composition
#      when the class definition is encountered during runtime
# 
# Added Flags
#   ZEND_ACC_TRAIT = 0x120
#   ZEND_ACC_IMPLEMENT_TRAITS = 0x400000
#   ZEND_FETCH_CLASS_TRAIT = 14
# 
# zend_vm_execute.h
#  - not sure whether the handler initialization (ZEND_ADD_TRAIT_SPEC_HANDLER,
#    ZEND_BIND_TRAITS_SPEC_HANDLER) is correct, maybe it should be more selective
# 
# zend_compile.c
#  - refactored do_inherit_method_check
#    split into do_inherit_method_check and do_inheritance_check_on_method
#  - added helper functions use a '_' as prefix and are not mentioned in the
#    headers
#  - _copy_functions
#    prepare hash-maps of functions which should be merged into a class
#    here the aliases are handled
#  - _merge_functions
#    builds a hash-table of the methods which need to be added to a class
#    does the conflict detection
#  - reused php_runkit_function_copy_ctor
#    - it is not identical with the original code anymore, needed to update it
#      think I fixed some bugs, not sure whether all have been reported back to runkit
#    - has to be renamed, left the name for the moment, to make its origin obvious
#    - here might be optimization potential
#    - not sure whether everything needs to be copied
#      - copying the literals might be broken
#        - added it since the literals array is freed by efree and gave problems
#          with doubled frees
#      - all immutable parts of the zend_op array should not be copied
#        - am not sure which parts are immutable
#        - and not sure how to avoid doubled frees on the same arrays on shutdown
#  - _merge_functions_to_class
#    does the final merging with the target class to handle inherited
#    and overridden methods
#  - small helper for NULL terminated lists
#    zend_init_list, zend_add_to_list
# 
# zend_language_parser.y
#  - reused class definition for traits
#    - there should be something with regard to properties
#      - if they get explicitly defined, it might be worthwhile to
#        check that there are no collisions with other traits in a composition
#        (however, I would not introduce elaborate language features to control that
#         but a notice for such conflicts might be nice to the developers)
2010-04-22 22:05:56 +00:00
Dmitry Stogov
e87d72002b Optimized access to global constants using values with pre-calculated hash_values from litersls table 2010-04-22 15:03:17 +00:00
Dmitry Stogov
fb9d95e5a4 ZEND_RETURN is splitted into two new instructions ZEND_RETURN and ZEND_RETURN_BY_REF 2010-04-22 11:56:45 +00:00
Felipe Pena
9f700c417b - Fix ZTS build 2010-04-21 15:08:10 +00:00
Dmitry Stogov
7a2fd62c39 Eliminated unnecessary compile-time hash_value recalculation for interned strings 2010-04-21 14:58:33 +00:00
Dmitry Stogov
453b49ed20 Added a number of small performance tweaks and optimizations
. ZEND_RECV now always has IS_CV as its result
  . ZEND_CATCH now has to be used only with constant class names
  . ZEND_FETCH_DIM_? may fetch array and dimension operans in a different order
2010-04-20 11:16:39 +00:00
Dmitry Stogov
dd5c478be6 Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed. 2010-04-20 11:05:54 +00:00
Dmitry Stogov
94dd83722b Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table 2010-04-20 10:57:45 +00:00
Stanislav Malyshev
c93a4f192b restore $this support for closures to its former glory 2010-04-19 19:45:03 +00:00
Stanislav Malyshev
5f6a39d531 change namespaced ctors - only __construct would work 2010-04-04 23:28:20 +00:00
Sebastian Bergmann
d2281d1dff sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php 2010-01-05 20:46:53 +00:00
Felipe Pena
81ad353ec2 - Fixed bug #50464 (declare encoding doesn't work with)
# The bug (BC) only happens in this branch.
2009-12-13 15:18:58 +00:00
Felipe Pena
7914d298b4 - Fixed bug #49472 (Constants defined in Interfaces can be overridden) 2009-12-03 12:34:50 +00:00
Felipe Pena
c8faf7e13b - Added CG(encoding_declared) initialization 2009-11-16 22:52:00 +00:00
Felipe Pena
fa2bb07a47 - Fixed bug #50174 (Incorrectly matched docComment) 2009-11-14 19:17:22 +00:00
Pierre Joye
b24e1609a1 - don't hide previous declaration 2009-09-05 21:16:05 +00:00
Dmitry Stogov
4016bfcd71 Fixed bug #46074 (Bus error during running PHP CLI under IRIX 6.5.30) 2009-09-03 14:33:11 +00:00
Felipe Pena
28add3cbf3 - MFH: Cosmetic changes 2009-07-27 14:11:53 +00:00
Matt Wilmas
2462fce244 MFH: Changed error messages to use "cannot" instead of "can not" (meaning "also can") 2009-06-07 15:46:54 +00:00
Matt Wilmas
b907aa4331 MFH:
Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior:
 * Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit)
 * See bug #42868 (presumably-rare platform with different results in 5.2)
 * On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added,
    otherwise it's the same as 5.2
 * Use this conversion method everywhere instead of some plain (long) casts

Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit:
 * Essentially what 5.3's new conversion was doing in most cases
 * Functions with "limit" or "length" type params could be updated to use this,
    and prevent confusing overflow behavior with huge numbers (*also* in 5.2)
  - See bug #47854, for example; or even #42868 again

# Test updates coming
2009-06-04 18:20:45 +00:00
Brian Shire
9e8a9e8bf1 MFH: fix DVAL_TO_LVAL conversion for static array indexes, related to bug #46701 2009-04-22 21:27:19 +00:00
Hannes Magnusson
0829cb89ee MFH: Fixed bug#47981 (error handler not called regardless) 2009-04-16 13:48:01 +00:00
Dmitry Stogov
0b6065e89a Removed deprecated code and fixed function name in error message 2009-04-08 13:17:09 +00:00
Arnaud Le Blanc
13061cf0a0 Removed deprecation warning for ticks 2009-03-27 02:32:57 +00:00
Dmitry Stogov
e2c3c7aa44 Clenaup deprecated namespace code 2009-03-10 10:01:44 +00:00
Christian Seiler
c6d89bd4a8 [DOC] Remove $this support in closures for PHP 5.3 beta 1
- Implementation notes here:
  http://wiki.php.net/rfc/closures/removal-of-this
2009-01-26 22:54:34 +00:00
Dmitry Stogov
666bf10d1a Removed wrong warning message 2009-01-20 13:21:52 +00:00
Dmitry Stogov
d1958eeea8 Fixed bug #47165 (Possible memory corruption when passing return value by reference) 2009-01-20 11:22:45 +00:00
Dmitry Stogov
f7abb84b43 Fixed bug #46755 (warning: use statement with non-compound name)
Fixed bug #46979 (use with non-compound name *has* effect)
2009-01-14 13:57:42 +00:00
Antony Dovgal
7670ad31e6 MFH: use correct check for constants and stop segfaulting
(5_2 doesn't need this)
2009-01-08 22:36:03 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Stanislav Malyshev
feb50cd762 initialize op1 2008-12-15 11:29:36 +00:00
Stanislav Malyshev
16dc391f1f cleanup from ::->\ change 2008-11-26 00:57:05 +00:00
Dmitry Stogov
ea45b713c8 Added support for namespaces with brackets. (Greg) 2008-11-25 09:56:32 +00:00
Arnaud Le Blanc
a23d168531 MFH: Fixed bug #46649 (Setting array element with that same array produces
inconsistent results)
2008-11-23 20:35:16 +00:00
Stanislav Malyshev
a51bbb2754 fix potential crash in zend_do_assign due to opcodes realloc 2008-11-12 00:44:56 +00:00
Stanislav Malyshev
6ebc2b21f1 fix crash - using old opline after realloc 2008-11-12 00:23:21 +00:00
Ilia Alshanetsky
681515b3df Removed unused vars 2008-11-12 00:10:24 +00:00
Stanislav Malyshev
1b4134c07b Namespace resolution streamlining patch
[DOC] new resolution rules should be documented soon
2008-11-11 19:45:29 +00:00
Felipe Pena
9b894e6e62 - Fixed bug #46546 (Segmentation fault when using declare statement with non-string value)
# This issue only happens in this branch
2008-11-11 16:15:53 +00:00
Marcus Boerger
7126de4912 - Next step in namespaces, using / as namespace separator. 2008-11-04 15:58:55 +00:00
Johannes Schlüter
850f9567b8 MFH: Use a better function name for closure related errors and debug_backtrace() 2008-11-03 19:28:32 +00:00
Dmitry Stogov
8bf32f28f2 Imporoved compile-time constant substitution (Matt) 2008-08-29 10:17:08 +00:00
Etienne Kneuss
cc9a8ee528 MFH:
- Copy custom callback to the child class if any
- Prevent overwriting valid parent callbacks when implementing Serializable
- Export zend_user_(un)serialize to be available for custom callbacks
2008-08-24 18:22:33 +00:00
Felipe Pena
9d5ab6e54f - MFH: Removed unused arguments 2008-08-22 15:54:21 +00:00
Felipe Pena
cf7384aa40 - MFH: Constness (Added const qualifier to several function parameters) 2008-08-12 17:20:25 +00:00
Jani Taskinen
47a2bad767 - No C++ comments in C files! 2008-08-03 11:48:20 +00:00
Dmitry Stogov
1f09a6b359 Fixed constant substitution in constant expression context 2008-07-31 14:27:43 +00:00
Dmitry Stogov
44caafc62e Fixed constant substitution (Matt) 2008-07-28 14:12:19 +00:00
Dmitry Stogov
478acfd8b4 . Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt)
. Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt)
. Optimized interpolated strings to use one less opcode. (Matt)
2008-07-26 15:30:28 +00:00
Dmitry Stogov
ed2d3e4c7e Substitute persistent constants by their values at compile time. (Matt) 2008-07-25 04:54:08 +00:00
Moriyoshi Koizumi
4f42ed39c0 - Revived zend multibyte 2008-07-24 22:21:41 +00:00
Felipe Pena
0fbe6a0c14 - MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:52:24 +00:00
Dmitry Stogov
44325e6473 Fixed bug #45178 (memory corruption on assignment result of "new" by reference) 2008-07-24 11:47:51 +00:00
Felipe Pena
c3453925c5 - Deprecate ticks 2008-07-17 19:29:34 +00:00
Dmitry Stogov
0fa7fedfde Fixed is_callable() to support closures and return appropriate function name 2008-07-14 12:18:23 +00:00
Dmitry Stogov
d5ef2f466c Added support for lambda functions and closures 2008-07-14 09:49:03 +00:00
Rui Hirokawa
c3286f32ef implemented again zend-multibyte for PHP 5.3 2008-06-29 08:21:35 +00:00
Dmitry Stogov
298087c74b Allowed to override internal classaes with "use" 2008-06-20 17:17:05 +00:00
Felipe Pena
639d221df3 - Improved warning message to call-time pass-by-reference when used with internal function
(http://news.php.net/php.internals/38252)
2008-06-15 18:27:37 +00:00
Felipe Pena
dc697bcea4 - Change E_COMPILE_ERROR to E_WARNING (for wrong visibility on magic methods) 2008-06-10 23:09:09 +00:00
Felipe Pena
cc23d3bade - Fixed bug #45089 (__callStatic $name case sensitivity) 2008-06-03 18:11:12 +00:00
Felipe Pena
402fb5285d - MFH: Fixed bug #44769 (declaring private magic methods should throw error) 2008-06-03 14:07:15 +00:00
Dmitry Stogov
af1ed80274 Fixed bug #44952 (isset() does not checks correctly variable variable) 2008-05-12 09:09:05 +00:00
Dmitry Stogov
5521912b15 Use IS_CV for dirrent access to $this variable 2008-05-07 12:04:39 +00:00
Dmitry Stogov
1b317f1526 - Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR)
- Fixed bug #44913 (Segfault when using return in combination with nested loops
and continue 2)
2008-05-05 11:03:35 +00:00
Dmitry Stogov
5a0253c14c Support for old-style constructors in namespaces 2008-05-05 09:44:39 +00:00
Dmitry Stogov
2ecf4bb0a7 Lazy EG(active_symbol_table) initialization 2008-04-29 08:15:20 +00:00
Nuno Lopes
7507ff326e fix heredoc+nowdoc
#patch by Matt Wilmas
2008-04-10 19:19:04 +00:00
Dmitry Stogov
dfacfae34a Bug #44653 (Invalid namespace name resolution) 2008-04-09 08:55:45 +00:00
Felipe Pena
f66f55edc5 MFH: Implemented "jump label" operator (limited "goto")
[DOC]
2008-03-28 14:35:01 +00:00
Ilia Alshanetsky
44a6326b15 Removed unused variable 2008-03-25 20:19:04 +00:00
Felipe Pena
9e2894f5ff MFH:
- Renamed zend_do_fetch_class_name() to zend_do_build_full_name() (It is not used only for classes)
- Moved zend_resolve_class_name prototype to zend_compile.h
2008-03-25 18:08:37 +00:00
Marcus Boerger
51e9bd075f - Simplify 2008-03-21 18:20:07 +00:00
Dmitry Stogov
8b01532f64 Removed hack (we don't need to modify class name).
(the problem is covered by Zend/tests/ns_056.phpt)
2008-03-18 11:37:00 +00:00
Dmitry Stogov
8c885b8913 Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.

function cache_compile_file($filename) {
        if (!is_cached($filename)) {
                ...
                orig_compiler_options = CG(compiler_optins);
                CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
                                        ZEND_COMPILE_DELAYED_BINDING;
                $op_array = orig_compile_file($filename);
                CG(compiler_options) = orig_copiler_options;
                ...
        } else {
                $op_array = restore_from_cache($filename);
        }
        zend_do_delayed_early_binding($op_array);
}
2008-03-18 08:36:30 +00:00
Antony Dovgal
7dd943ac5c MFH: fix #39127 (Old-style constructor fallbacks produce strange results) 2008-03-17 14:54:42 +00:00
Marcus Boerger
af316021e8 - Rewrite scanner to be based on re2c instead of flex
The full patch is available as:
  http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
  This is against php-re2c repository version 98
  An older patch against version 97 is available under:
  http://php.net/~helly/php-re2c-97-20080316.diff.txt
2008-03-16 21:06:55 +00:00
Dmitry Stogov
2564bdc73c Code simplification 2008-03-12 10:40:02 +00:00
Dmitry Stogov
be8daf1f47 Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode 2008-03-12 10:32:12 +00:00
Dmitry Stogov
0f2247ae94 Fixed bug #44414 (Incomplete reporting about abstract methods) 2008-03-12 09:46:42 +00:00
Robin Fernandes
0455ccb805 Remove inconsistent behaviour when a protected static prop is overridden by public static prop (details: http://turl.ca/phhhf ). 2008-03-03 15:07:04 +00:00
Johannes Schlüter
68de75f0b5 MFH: Allow implementation of abstract methods with optional parameters (Christian
Schneider)
2008-03-01 13:53:32 +00:00
Marcus Boerger
d3e5026564 - MFH Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus)
[DOC] Finally added deprecation messages
2008-02-23 17:06:22 +00:00
Dmitry Stogov
8c32f99c25 Fixed bug #44184 (Double free of loop-variable on exception) 2008-02-20 12:05:57 +00:00
Dmitry Stogov
ddcf7a2f49 Added NEWDOC 2008-02-12 09:27:45 +00:00
Stanislav Malyshev
bbc813d360 fix folding 2008-02-12 01:17:48 +00:00
Stanislav Malyshev
fd597dce1b [DOC] Add compile-time __DIR__ constant which implements dirname(__FILE__) 2008-02-12 00:21:15 +00:00
Antony Dovgal
4252942abd MFH: fix typo and bug #43646 2008-01-29 00:07:26 +00:00
Dmitry Stogov
0095544c4d Additional executor specialization 2008-01-23 17:55:55 +00:00
Dmitry Stogov
fa47e900e2 Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end 2008-01-21 19:39:55 +00:00
Dmitry Stogov
b5c4244069 Fixed bug #43703 (Signature compatibility check broken) 2008-01-09 07:57:42 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Dmitry Stogov
5a3eb53723 Fixed bug #38469 (unexpected creation of cycle, json tests failed, leaks memory) 2007-12-28 13:22:00 +00:00
Dmitry Stogov
2fa0078a71 Initialize operand type 2007-12-28 09:46:52 +00:00
Dmitry Stogov
ba8dcae76d Use proper result type 2007-12-27 13:52:05 +00:00
Dmitry Stogov
64e8f22355 Allowed import of global classes "use ::GlobalClassName;" 2007-12-13 10:02:03 +00:00
Dmitry Stogov
80e77c1366 Allowed multiple namespaces per file (Gregory) 2007-12-13 08:57:52 +00:00
Dmitry Stogov
6484b3c458 Fixed bug #43344 (Wrong error message for undefined namespace constant) 2007-12-07 17:11:24 +00:00
Dmitry Stogov
d161978c56 Fixed uninitialized value 2007-12-04 12:38:42 +00:00
Dmitry Stogov
0f59a01e4a Fixed bug #43332 (self and parent as type hint in namespace) 2007-12-03 14:15:43 +00:00
Dmitry Stogov
648fbe9d58 Fixed bug #43128 (Very long class name causes segfault) 2007-11-22 13:27:13 +00:00
Dmitry Stogov
1836daf7f9 Fixed bug #43318
The "const" statement is still allowed outside of namespaces but arrays are disabled.
2007-11-22 10:46:26 +00:00
Dmitry Stogov
ea0a1c09e9 Speed-up of ZEND_DO_FCALL and ZEND_INIT_FCALL_BY_NAME by lowercasing and calculating hash values at compile time. 2007-11-22 09:02:55 +00:00
Johannes Schlüter
45f6b4ce2f - MFH Improved version of ternary shortcut (Marcus) 2007-11-21 09:41:35 +00:00
Dmitry Stogov
9f230a0d79 Added support for "namespace::" prefix that is resolved to current namespace name. 2007-11-20 08:53:02 +00:00
Antony Dovgal
714aad97e7 MFH: disallow multiple access modifiers and 'abstract abstract' methods (patch by Etienne Kneuss)
add tests
2007-11-13 16:52:14 +00:00
Dmitry Stogov
6d64218bc5 better error messages 2007-11-12 17:52:15 +00:00
Antony Dovgal
52e773740c MFH: fix error message (reported by Felipe Nascimento) 2007-11-12 16:55:44 +00:00
Dmitry Stogov
a90a0305b0 Fixed bug #43183 ("use" of the same class in difference scripts results in a fatal error) 2007-11-12 15:52:22 +00:00
Dmitry Stogov
8646d9afce Fixed type-hint compatibility check in namespaces 2007-11-09 13:34:39 +00:00
Dmitry Stogov
98b3c247a8 Fixed implementation of internal interfaces in namesapces 2007-11-09 12:15:41 +00:00
Dmitry Stogov
b7d87bebc9 T_IMPORT -> T_USE 2007-11-07 09:13:50 +00:00