Commit Graph

442 Commits

Author SHA1 Message Date
Zeev Suraski
55097d1dcf Fix another HANDLE_NUMERIC bug. Looks like you opened Pandora's box, Sterling ;) 2003-07-24 13:14:57 +00:00
Zeev Suraski
7928e763d2 Remove useless code 2003-07-24 12:51:07 +00:00
Zeev Suraski
03b6af07eb Support references in foreach()
Syntax:
  foreach ($arr as &$val)
  foreach ($arr as $key => &$val)
2003-07-24 12:38:33 +00:00
Stanislav Malyshev
237116aa27 Remove namespace leftovers 2003-07-23 08:58:46 +00:00
Zeev Suraski
e10dbc607c Fix bug in the verification of interface-function implementation 2003-07-16 09:13:47 +00:00
Zeev Suraski
3a898f6d4e More cleanup for assign-op handling of objects 2003-07-16 08:57:08 +00:00
Zeev Suraski
134338522f Rework zend_do_declare_property and related code into one code base 2003-07-07 16:22:56 +00:00
Zeev Suraski
938c0fbc19 Initial support for overloading of array syntax for objects (very initial) 2003-07-07 09:00:36 +00:00
Marcus Boerger
d7e14ad8a3 Allow final private methods
#
# Declaring a method private and final would only be an error for an abstract
# class. But at the moment the method is defined and it's modifiers are checked
# we do not know whether or not we have an abstract class. It could already be
# abstract but it also become abstract later.
#
# Since i made the mistake in first place i remove the check now.
#
# Providing the correct test would slow down the compiler becuase we'd have to
# iterate through all methods on all abstract classes and check for this. I
# guess we can live without. Or does anybody wants this to be implemented ?
2003-07-03 16:45:37 +00:00
Stanislav Malyshev
8f0234160a enable Classname() constructor to be called via parent::__constructor() 2003-07-03 12:03:11 +00:00
Andi Gutmans
02c7aacf83 - Nuke CG(in_clone_method) 2003-07-02 16:52:07 +00:00
Sterling Hughes
778d8c8bf1 nuke "main" as a reserved keyword 2003-06-30 20:24:26 +00:00
Andi Gutmans
288dacca0c - ZE coding style requires if ( instead of if( 2003-06-30 20:22:35 +00:00
Marcus Boerger
60c7abac61 Add final classes 2003-06-21 21:56:06 +00:00
Stanislav Malyshev
8cd9792375 Fix bug #23384 - static class::constant constants should now
work in static & array expressions.
2003-06-15 13:58:50 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Zeev Suraski
8d2a4e04ae Fix bogus implicit declarations of properties (squash bug #23671) 2003-06-09 13:51:53 +00:00
Zeev Suraski
d329ce93f2 Nicer handling of protected/private members in print_r() 2003-06-08 18:53:58 +00:00
Stanislav Malyshev
f7f5a5ea6b MEGA-patch: namespaces are R.I.P. 2003-06-02 12:13:11 +00:00
Sterling Hughes
5bb29cfaeb revert the function call caching patch until a new solution is decided
upon.
2003-05-31 18:31:28 +00:00
Marcus Boerger
21d32c2430 Fix ~ operator in class constants. 2003-05-29 19:27:11 +00:00
Marcus Boerger
472cc5b9f3 Faster interface inheritance & faster inheritance checks 2003-05-29 19:00:40 +00:00
Wez Furlong
15fd642525 Fix Bug #23285 (Potential Stack Overflow in zendlex). 2003-05-29 09:01:55 +00:00
Sterling Hughes
88b2f89eee Cache function call lookups with loops (store in a temporary variable on the
result opline).
Assuming lazy concensus on message that GeorgeS sent to the list last week
2003-05-28 20:42:40 +00:00
Stanislav Malyshev
462eff3497 fix __clone 2003-05-19 17:12:56 +00:00
Marcus Boerger
d3693d9214 Inheritance fix
# here we  go again, sorry for the mess and thanks to edin for reverting it
2003-05-08 15:04:43 +00:00
Edin Kadribasic
7a0efe828a Reverting Marcus' incomplete patch which broke the build. 2003-05-07 22:19:43 +00:00
Marcus Boerger
764eaa5b8b Inheritance fixes 2003-05-07 00:54:38 +00:00
Marcus Boerger
9d251cde97 Don't inherit twice what is needed only once 2003-05-04 18:56:35 +00:00
Sterling Hughes
b4262dcf17 Add check for final properties 2003-04-20 14:52:40 +00:00
Sebastian Bergmann
dccdb2f549 Fix warnings. 2003-04-11 17:30:42 +00:00
Sterling Hughes
c013f78274 satisfy andi's switch fetish ;-) 2003-04-10 20:08:02 +00:00
Sebastian Bergmann
974f406eda Fix ZTS build. Fix warning. 2003-04-10 17:02:31 +00:00
Sterling Hughes
0191ba5de1 allow expressions within constants, so the following is possible
class foo {
	const a = 1<<0;
	const b = 1<<1;
	const c = a | b;
}

this makes const a compile-time expression.  all other operators are
unaffected.
2003-04-10 15:43:47 +00:00
Andrei Zmievski
91eff553e3 Initialize all relevant zend_class_entry fields to avoid accidental
crashes.
2003-04-03 14:44:41 +00:00
Andrei Zmievski
bdd3b6042c Implement a different way to catch documentation comments. 2003-04-02 16:51:49 +00:00
Andrei Zmievski
e6255b06b1 Revert portions of the doc comment patch. There should be no parser
errors now.
2003-04-02 16:13:12 +00:00
Andrei Zmievski
62f9eb8006 Split ZEND_NAMESPACE into user and internal namespaces. Hope this is
okay with engine folks.
2003-04-01 19:37:04 +00:00
Andrei Zmievski
5657b83691 Multi-purpose patch:
- The fields of zend_namespace were not completely initialized which
   led to a variety of problems.
 - The occurrence of class/interface/namespace definition is now
   captured.
 - Functions/classes/interfaces/namespaces can be preceded by doc
   comments which are stored for use by extensions.
2003-03-31 20:42:01 +00:00
Zeev Suraski
96231c3ab5 Add missing initialization 2003-03-29 19:20:35 +00:00
Zeev Suraski
20860feef1 Fix crash 2003-03-29 11:27:17 +00:00
Zeev Suraski
5097be302e Initial support for enforcing prototype of abstract/interface method implementations 2003-03-29 11:19:38 +00:00
Ilia Alshanetsky
018d851129 Fixed bug #22900 (declaration of namespaces with same name results in leaks). 2003-03-26 17:06:08 +00:00
Andi Gutmans
85d2c35bfa - Temporarily fix problem with inheriting from an internal class. This might
- need some rework in the future (thanks to Marcus)
2003-03-25 20:36:26 +00:00
Zeev Suraski
0aef71ff89 Another fix for implicit public, perhaps it was not such a good idea :I 2003-03-23 08:14:41 +00:00
Andrei Zmievski
39d5a63803 - Keep track of starting/ending line numbers for user functions.
- Store last parsed doc comment in a compiler global for future use.
2003-03-19 21:17:47 +00:00
Zeev Suraski
40326f6adf - Fix situation where a derived class declares a public (or implicit public)
with the same name as a private in the parent
- Optimize 'static binding' of private properties a bit
2003-03-18 16:30:23 +00:00
Zeev Suraski
fa7dc03edb Fix a crash bug in the implicit public declaration 2003-03-12 09:38:19 +00:00
Zeev Suraski
3e7cf8e15e Clean redundant code 2003-03-10 07:20:43 +00:00
foobar
f8fc50ed6d Fixed some leaks. Patch by Moriyoshi 2003-03-10 03:04:02 +00:00