-/*
+
public class Parameter {
flag w;
- int a, b;
- Parameter f, g;
+ int a;
+ int b;
+ Parameter f;
+ Parameter g;
Penguin p;
Foo h;
}
public class Penguin {
- int x, y;
+ int x;
+ int y;
Foo h;
public Penguin() { x = 0; y = 0; }
public void doTheBaw( Voo v ) { v = new Voo(); }
}
-*/
-
-
-task ObjectChainByMethodCalls( Foo a{ f } ) {
-
- Foo f = a.getAFoo();
- Foo g = a.newFooChain( f );
- // g -> f
-
- taskexit( a{ !f } );
-}
public class Foo {
public Foo x;
public Foo y;
public Foo z;
-
+ public Baw b;
public Foo getAFoo() {
return new Foo();
taskexit( p0{ !f } );
}
+
+
+task ObjectChainByMethodCalls( Foo a{ f } ) {
+
+ Foo f = a.getAFoo();
+ Foo g = a.newFooChain( f );
+ // g -> f
+
+ taskexit( a{ !f } );
+}
*/
+/*
task arrayAssignments( Foo a{ f } ) {
Foo f[] = new Foo[3];
taskexit( a{ !f } );
}
+*/
+
+public class Zool {
+ public Zool() {}
+
+ public static void FooToBaw( Baw x, Foo y ) {
+ x.f.b = y.b;
+ }
+}
+
+task showPrunedEdgesInMethodCall( Foo a{ f } ) {
+
+ Foo b = new Foo();
+ b.x = a;
+ b.y = new Foo();
+ b.b = new Baw();
+
+ Baw c = new Baw();
+ c.f = new Foo();
+ c.f.b = new Baw();
+
+ Zool.FooToBaw( c, b );
+
+ taskexit( a{ !f } );
+}
/*
task methodTest( Foo p0{ f } ) {