Branch: Tag:

2013-11-08

2013-11-08 22:54:31 by Henrik Grubbström (Grubba) <grubba@grubba.org>

CHANGES: Added some notes about new language features.

11:    | class Test    | {    | int a( ) { return 1; } -  | int b( ) { return local::a(); } +  | int b( ) { return local::a(); } // New +  | int c( ) { return a(); }    | }    |    | class Test2
20:    | }       Both Test()->b() and Test2()->b() will return 1, but Test2()->a() -  will return 42. +  and Test2()->c() will return 42.         o Added new syntax that can be used to return the current object as if
44:    |    | // Override the Bar inherited from Foo.    | class Bar { -  | // Bar is based on the implementation of Bar in Foo. +  | // The new Bar is based on the implementation of Bar in Foo.    | inherit ::this_program;    | // ...    | }    -  + o Added new syntax for referring to and naming inherits. +  +  | inherit "foo.pike"; +  | inherit "foo/bar/baz.pike" : "foo/bar"; +  | // ... +  | "foo.pike"::foo(); +  | "foo/bar"::baz(); +  + o Lookup of named inherits now also looks in indirect inherits. +  +  | class A { int fun() {} } +  | class B { inherit A; } +  | class C { +  | inherit B; +  | // ... +  | // The function fun may here be referred to as any of: +  | B::A::fun(); +  | B::fun(); +  | A::fun(); // New. +    o Implemented the variant keyword.       The keyword was present before, but did not actually do anything