Switch branches/tags
Commits on Jan 20, 2013
  1. New typehinting syntax (Part 5: Allow null default for accessors)

    This commits adds support for a = NULL default value on properties with
    accessors. The = NULL default indicated that the property is nullable. Other
    defaults are not allowed.
    committed Jan 20, 2013
Commits on Jan 19, 2013
  1. New typehinting syntax (Part 4: Allow default values on typehints)

    This allows default values on (accessor-less) property typehints.
    It also introduces the same nullability semantics as for method
    committed Jan 18, 2013
Commits on Jan 18, 2013
  1. New typehinting syntax (Part 3: Add support for typehints without acc…

    Typehints are now possible also on properties that do not define accessors.
    In this case the accessors will be implicitely generated.
    committed Jan 17, 2013
  2. New typehinting syntax (Part 2: Declare accessor property directly)

    Make zend_declare_accessor independent of zend_do_declare_property. This
    will allow me to introduce some additional checks in declare_property.
    Futhermore going through this function doesn't make sense any longer as
    we're basically hacking around all the checks that are done in that
    committed Jan 17, 2013
  3. New typehinting syntax (Part 1: For accessor properties)

    This commit adds support for the new typehinting syntax for properties
    with accessors.
    committed Jan 17, 2013
  4. Free the op_array for accessors

    Not sure how we could miss this. For some reason valgrind didn't report
    this leak when run via run-tests -m, but reported it when invoked manually.
    committed Jan 18, 2013
Commits on Jan 17, 2013
  1. Added ZEND_ACC_CALL_GUARD for function specific guarding, replacing the

    use of named guards for accessors.
    This allows for parent accessors to be called and not blocked properly.
    Refactored zend_get_accessor()
      - to return NULL if the accessor doesn't exist to eliminate boilerplate checking in 5 other areas.
      - to return NULL if an accessor was looked up from a specific CE and
        it wasn't found
    Refactored read/write/isset/unset/read_ptr to use the new guarding
    method and to correct scope on some error messages
    Changed php_reflection's getValue() to only be silent for non-accessors
    cpriest committed Jan 17, 2013
Commits on Jan 16, 2013
  1. Get the accessor from the right scope (+ a bit code cleanup)

    This should fix the first half of the Reflection/parent issue.
    committed Jan 16, 2013
  2. Another bug fix for get_accessors

    (Still not the parent scope isse)
    committed Jan 16, 2013
  3. Fix typo in get_accessor

    committed Jan 16, 2013
  4. Updated the failing test with what should be correct output when we fix

    the underlying problem.  Also moved to Zend/tests/accessors
    cpriest committed Jan 16, 2013
Commits on Jan 15, 2013
  1. Rename enum for accessor indexes

    Also change get_accessor_from_ce to take the infos from the property_info rather than passing them
    committed Jan 15, 2013
  2. Changed ZEND_ACCESSOR_GET defines into an enum, renamed

    ZEND_ACCESSOR_COUNT to ZEND_NUM_ACCESSORS, updated function calls to use
    enum type AccessorFuncIndex
    cpriest committed Jan 15, 2013
  3. Property visibility info is bypassed and deferred to accessor visibility

    when accessors are present for a property.
    Additional subclass tests were added to test.  Fixed a segfault as well.
    cpriest committed Jan 15, 2013
Commits on Jan 14, 2013
  1. Make implicit isset/unset inherit get/set modifiers

    Closes issue #39
    committed Jan 14, 2013
  2. Get rid of accessor_info

    Instead add a `zend_function **accs` to property_info
    committed Jan 14, 2013
  3. Fix zts build, fix reflection sigsegv, fix issue #42

    No more ai->flags, now merged into prop->flags. I think now the whole ai
    thing can be removed. We should just have a zend_function **acc in the
    property_info instead.
    committed Jan 14, 2013
  4. Updates reflection to latest iteration re: #40

    cpriest committed Jan 14, 2013
  5. Property visibility was not being over-ridden when accessors were

    fixes #34
    cpriest committed Jan 14, 2013
Commits on Jan 13, 2013
  1. Remove some (now) unnecessary changes

    Reverting the rename cnt -> afn_cnt as this is no longer necessary.
    committed Jan 13, 2013
  2. Forgot to add tests

    committed Jan 13, 2013
  3. Add support for abstract accessors

    Also fixes an issue with accessors in interfaces.
    committed Jan 13, 2013
  4. Get rid of function purpose

    committed Jan 13, 2013
  5. Recursive accessor calls now emit warning and block call from invalid

    contexts. Added comprehensive test
    cpriest committed Jan 13, 2013
  6. Switch ai accessors from members to array

    The accessors are now accessed via ->fn[ZEND_ACCESSOR_GET] rather than
    This allows us to simply loop through the accessors functions, rather than
    always handling them individually. It also allows to write generic functions
    that work on all accessors.
    This also fixes Reflection to properly take into account ->isset and ->unset
    which were previously ignored to the most part.
    committed Jan 13, 2013
  7. Fix ZTS build

    committed Jan 12, 2013
  8. Added a round of test cases that were of concern in the past.

    Note that the same restrictions with __get()/__set() with regards to references
    still persists with property accessors with regards to the error:
    Cannot assign by reference to overloaded object
    cpriest committed Jan 13, 2013
Commits on Jan 11, 2013
  1. Added ReflectionMethodAccessor and isAutoImplemented(), updated tests,

    added a new one.
    cpriest committed Jan 11, 2013
  2. Added ReflectionMethodAccessor and isAutoImplemented(), updated tests,

    added a new one.
    cpriest committed Jan 11, 2013