resource foo { fn read(domain source=bar) { allow(source, this, file, read); } } domain bar {} domain baz { foo.read(); foo.read(this); }