Project

General

Profile

Feature #1984

make methods to act as "read-only" attributes

Added by Constantin Asofiei over 11 years ago. Updated about 11 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
version:

Related issues

Related to Base Language - Feature #1920: implement persistent procedures Closed

History

#1 Updated by Constantin Asofiei over 11 years ago

In 4GL, a code which has a method name as a l-value compiles correctly:

h:get-signature("f0") = "bogus".

and on rutime gets the message:
**GET-SIGNATURE is not a setable attribute for PROCEDURE widget. (4052)

Looks like 4GL treats methods as read-only attributes.

#2 Updated by Constantin Asofiei about 11 years ago

From #1920 (note 76):
GES
1. The read_only_attribute function in common-progress.rules seems like it will be painful to maintain over time, since every time we add support for a new writable attribute, we have to add something there. I'd prefer something more complete. A better approach might be to add a boolean flag into the progress.g sym.addAttributeOrMethod() method call. Then we can use that database to add an annotation at parse time. Whatever we decide, I will have someone else fill out the changes to make things complete (it involves going through every attribute in the 4GL reference and I need you to work on other things). But I want to come up with the best approach as part of your work on this task.

We should add this part of this task.
The estimate is:
  • for note 1, 10 hours
  • for the progress.g changes regarding sym.addAttributeOrMethod() ~20 hours
  • for the implementation of the sym.addAttributeOrMethod() related changes: 8 hours

Also available in: Atom PDF