tracker issue : CF-3041186

select a category, or use search below
(searches all categories and all time range)
Title:

Bug 82478:[ES] Cannot delete functions created by properties

| View in Tracker

Status/Resolution/Reason: Closed/Won't Fix/

Reporter/Name(from Bugbase): Elliott Sprehn / Elliott Sprehn (Elliott Sprehn)

Created: 03/23/2010

Components: Language, CF Component

Versions: 9.0

Failure Type: Unspecified

Found In Build/Fixed In Build: 0000 /

Priority/Frequency: Normal / Unknown

Locale/System: English / Platforms All

Vote Count: 1

Problem:

[ES] Cannot delete functions created by properties. This also effects inheritance. If you extend a component with getter="true" and then add getter="false" you cannot hide the property. The getter will still exists. If you structDelete the getter from both the this and variables scopes the getter is still accessible! You cannot remove it at all.
Method:

component accessors="true" {  property name="Name";  function init() {      structDelete(this,"getname");      structDelete(variables,"getname");      writeDump(this.getname); // still works!? WTF?      return this;   }} OR// Parent.cfccomponent accessors="true" { property name="Name";}// Child.cfccomponent accessors="true" extends="Parent" { property name="Name" getter="false"; function init() {     structDelete(this,"getname");     structDelete(variables,"getname");     return this;  }}c = new Child();c.getName(); // still works! Nothing can get rid of this getter.
Result:

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3041186

External Customer Info:
External Company:  
External Customer Name: Elliott Sprehn
External Customer Email: 202D59C844579997992016B7
External Test Config: 03/23/2010

Attachments:

Comments: