Sunday, May 20, 2018

CF-4202540 - standard attribute notation doesn't override JavaDoc notation

Issue: standard attribute notation doesn't override JavaDoc notation

Note: The "Defining components and functions in CFScript" doc says "Attribute values set in the element declaration take precedence over the values set in the comment section. Therefore, if you set an attribute, such as a hint in both locations, ColdFusion ignores the value in the comment section and uses only the one in the element declaration.".

Note: Lucee correctly behaves as per that doc.

Repro:

<cfscript>
  /**
  *@description original description
  *@displayname original displayname
  *@hint original hint
  *@output false
  *@roles original,roles
  */
  public function foo() description="overridden description" displayname="overridden displayname" hint="overridden hint" output=false roles="overridden,roles" {}
  writeDump(foo)
</cfscript>

Actual Result: coldfusion.compiler.DuplicateAttributeException

Expected Result (and actual behavior w/ Lucee):

function foo
Arguments: none
ReturnType: Any
Roles: overridden,roles
Access: public
Output: false
DisplayName: overridden displayname
Hint: overridden hint
Description: overridden description
Related URL: Defining components and functions in CFScript
Verified in build 2018.0.01.308605 (PreRelease).
Filed as CF-4202540.

No comments:

Post a Comment

ColdFusion member functions for XML object management

Prior to ColdFusion 2018, ColdFusion supported the following XML member functions : .elemNew() (equivalent of XmlElemNew ) .childPos(...