• Advertisement
  • entries
  • comments
  • views

Tangent: Visibility, Part 2

Sign in to follow this  


Part 1

The change so that private fields get their own storage is finished. I need to review some of the other visibility related things (name lookup for standalone fields, method dispatch) to finish that snippet of changes. Then will be a release.

A nice side effect of this private field storage change was fixing the bug that prevented static member's initializers from working.

The test/target code for the change:

public class foo{
private int x = 4;

public foox()=>void{
print x;

public class bar{
private int x = 9;

public barx()=>void{
print x;

public class foobar:foo, bar{}

public static main()=>void{
local foobar tmp = new foobar;

// print tmp.x; // properly does not compile.

[edit: Also, some documentation regarding the algorithm used to infer the order of operations.]
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement