ooc-dev team mailing list archive
-
ooc-dev team
-
Mailing list archive
-
Message #00098
Re: New ORC draft - Properties
You're right, we should use =name if the property is called `name`.
Technically =arg should set the property named `arg`, regardless of which
property's set() it's in.
On Monday 19 April 2010 07:21:39 Friedrich Weber wrote:
> Hi all,
>
> I just added a basic implementation of the ORC in rock's `properties`
> branch. To test, use the `properties/001-dog.ooc` example in `tests`.
>
> For now, supported features include getters and setters, accessing the
> actual value inside getters/setters, calling get/set inside
> getters/setters and replacing ordinary variable accesses `object
> property` and assignments `object property = value` with appropriate
> getter/setter calls.
>
> Not working for now (but I'm working on this): automatic assignment
> arguments in setters (`set(=age)`), default getters/setters, missing
> getters/setters. I think this shouldn't take too long. ;-)
>
> One implementation note: A property named `foo` creates a member `foo`
> in the struct, no name mangling is done. This should be okay, shouldn't it?
>
> I noticed one thing in the ORC: We have this automatic assignment
> argument feature (`set(=age)`, aka AssArg). However, this would force
> the user to use the property name as argument name to avoid
> inconsistency with the regular automatic assignment argument, right?
>
> Some code:
>
> Dog: class {
> name: String {
> /* This would not work, right? */
> set(=arg) {
> /* ... */
> }
> /* rather, we'd need */
> set(=name) {
> /* ... */
> }
> }
> }
>
> I think we should keep this behavior. Just wanted to make sure that this
> is wanted by everyone =)
>
> Greetings,
>
> Friedrich
Follow ups
References