pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:34:    void foo() { werror("B\n"); }    A::this_program get_a() { return A::this; }    }    In the above B()->get_a() will return an object with two symbols,    'a' and 'foo', but B()->get_a()->foo() will still write "B\n".      o Added support for getters and setters.    It is now possible to simulate variables with functions. Example:    class A {    private int a; -  int `->b() { return a; } // Getter for the symbol b. -  void `->b=(int c) { a = c; } // Setter for the symbol b. +  int `b() { return a; } // Getter for the symbol b. +  void `b=(int c) { a = c; } // Setter for the symbol b.    int c()    { -  return b; // Calls `->b(). +  return b; // Calls `b().    }    }       object a = A(); -  a->b = 17; // Calls `->b=(17). -  werror("%d\n", a->b); // Calls `->b(). +  a->b = 17; // Calls `b=(17). +  werror("%d\n", a->b); // Calls `b().      o Unicode escapes.    Pike now understands the common way to escape unicode chars, using    \uxxxx and \Uxxxxxxxx escapes. These escapes works both in string    and character literals and in the preprocessor. The latter means    that unicode escapes can be used in identifiers, which is useful if    they contain characters that can't be represented raw in the source    code charset.      o New (stricter) type checker for function calls.