/* Test the completion method argument list */
using namespace oadl;

class cls {
    public var prop1, prop2, prop3, prop4;
    operator {} (completed) {
        var i;
        for (i = 1; i < nargs(); i++) {
            "Assigned ", self.(arg(i)), " to ", pubname(arg(i)), "\n";
        }
        if (completed) {
            "Completed.\n";
        }
    }
}

cls obj {
    prop2 = 2
    ...
}

... obj {
    prop3 = 3
}

proc main()
{
    with (obj) {
        prop1 = 1
        prop4 = 4
    }
}