Project

General

Profile

Feature #6161

add support for DYNAMIC-PROPERTY() built-in function and DYNAMIC-PROPERTY language statement

Added by Greg Shah over 2 years ago. Updated about 1 month ago.

Status:
Merge Pending
Priority:
Normal
Target version:
-
Start date:
Due date:
% Done:

70%

billable:
No
vendor_id:
GCD
version_reported:
version_resolved:

Related issues

Related to Base Language - Feature #4373: finish core OO 4GL support New

History

#1 Updated by Greg Shah over 2 years ago

#2 Updated by Constantin Asofiei about 2 years ago

6129a/13888 adds runtime support for DYNAMIC-PROPERTY getter and setter. Not all argument validation is implemented.

#3 Updated by Greg Shah about 2 years ago

  • % Done changed from 0 to 70

Conversion support had previously been added in branch 6129a as part of #6277.

#5 Updated by Constantin Asofiei about 1 month ago

  • Assignee set to Constantin Asofiei
  • Status changed from New to Review

Created task branch 6161a from trunk rev 15222. rev 15223 fixed validation of the DYNAMIC-PROPERTY arguments for statement and function. Refs #8433

#6 Updated by Greg Shah about 1 month ago

Code Review Task Branch 6161a Revision 15222

The changes look good.

The only concern I have is about performance. In ObjectOps.validDynamicPropertyArgs() there will be 2 SourceNameMapper calls for scalar props and 5 for extent props. This plus additional context lookups and some reflection usage makes me worry that this will cause a noticable slowdown.

#7 Updated by Constantin Asofiei about 1 month ago

I've moved the bulk getter/setter to be resolved only if no indexed setter/getter is resolved at all. I'm not sure what else to do at this point.

#8 Updated by Greg Shah about 1 month ago

I think we just watch it in case it becomes a hotspot. One solution would be to group all the details of a property into a single data structure that is returned on the first call. Then the details can be accessed as needed without further calls.

#9 Updated by Greg Shah about 1 month ago

  • Status changed from Review to Internal Test

What testing do you propose?

#10 Updated by Constantin Asofiei about 1 month ago

Greg Shah wrote:

What testing do you propose?

DYNAMIC-PROPERTY is not being used in other projects than #8433. Standalone tests are OK.

#11 Updated by Greg Shah about 1 month ago

  • Status changed from Internal Test to Merge Pending

You can merge to trunk after 7417b.

#12 Updated by Constantin Asofiei about 1 month ago

Branch 6161a was merged to trunk rev 15229 and archived.

Also available in: Atom PDF