1 public class Parameter {
8 public Parameter() { a = 0; b = 0; f = null; g = null; }
9 public void bar() { foo(); }
10 public void foo() { bar(); }
13 public class Penguin {
16 public Penguin() { x = 0; y = 0; }
17 public void bar() { x = 1; }
21 flag f; int x; Baw b; Baw bb;
29 public void doTheBaw( Voo v ) { v = new Voo(); }
39 public void ruinSomeFoos( Foo a, Foo b ) {
43 static public void aStaticMethod( Foo p0, Foo p1 ) {
54 task Startup( StartupObject s{ initialstate } ) {
57 Parameter p = new Parameter(){!w};
60 Penguin g = new Penguin();
66 for( int i = 0; i < 3; ++i ) {
68 p.penguin = new Penguin();
74 taskexit( s{ !initialstate } );
78 task aliasFromObjectAssignment
79 ( Parameter p1{!w}, Parameter p2{!w} ) {
83 taskexit( p1{w}, p2{w} );
86 task noAliasFromPrimitiveAssignment
87 ( Parameter p1{!w}, Parameter p2{!w} ) {
91 taskexit( p1{w}, p2{w} );
94 task aliasWithTwoLinks
95 ( Parameter p1{!w}, Parameter p2{!w} ) {
100 taskexit( p1{w}, p2{w} );
103 task aliasWithThreeLinks
104 ( Parameter p1{!w}, Parameter p2{!w} ) {
110 taskexit( p1{w}, p2{w} );
113 task noAliasBreakLinks
114 ( Parameter p1{!w}, Parameter p2{!w} ) {
121 taskexit( p1{w}, p2{w} );
124 task possibleAliasConditional
125 ( Parameter p1{!w}, Parameter p2{!w} ) {
137 taskexit( p1{w}, p2{w} );
141 ( Parameter p1{!w}, Parameter p2{!w} ) {
145 for( int i =0; i < 100; ++i ) {
150 for( int j = 0; i < 50; ++j ) {
170 taskexit( p1{w}, p2{w} );
173 task literalTest( Parameter p1{!w} ) {
182 ( Parameter p1{!w}, Parameter p2{!w} ) {
184 for( int i = 0; i < 1; ++i ) {
185 p1.f = new Parameter();
188 taskexit( p1{w}, p2{w} );
191 task newPossibleAlias
192 ( Parameter p1{!w}, Parameter p2{!w} ) {
196 for( int i = 0; i < 1; ++i ) {
197 p1.f = new Parameter();
207 taskexit( p1{w}, p2{w} );
210 task NoAliasNewInLoop( Voo v{ f } ) {
212 for( int i = 0; i < 10; ++i ) {
222 task NoAliasNewInLoopAnotherWay( Voo v{ f } ) {
224 for( int i = 0; i < 10; ++i ) {
237 task AliasParamToNew( Voo v{ f }, Voo w{ f } ) {
245 taskexit( v{ !f }, w{ !f } );
248 task AliasNewToNew( Voo v{ f }, Voo w{ f } ) {
255 taskexit( v{ !f }, w{ !f } );