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: