Skip to content

OOP: fixed name clash in the constructor and improved previous modifications to work with subreferences (issue #584)

Botond Baranyi requested to merge bbaranyi/titan.core:master into master

Fixed name clash between constructor parameters and class member initializers (since the initial values of class members are assigned in the constructor before the actual constructor body). 'this.' prefixes have been added to the left-hand-side of class member initializers and to all references to class members in the initial values.

The previously implemented wrapper classes for default parameters, their use in the super-constructor call and the new error messages about using class member references in invalid places now all function properly, if the class member reference in question has field names and/or array indexes.

Class member initializers containing forward references (i.e. references to other members that are declared later) now work properly, even if the forward references are in expressions.

Constructors can no longer have 'out' or 'inout' parameters.

Signed-off-by: Botond Baranyi

Merge request reports