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 ) {
60 public void addStuff() {
72 public class Fub { public Fub() {} }
73 public class Hod { public Hod() {} }
75 task improveMethodCallWithGlobal( Parameter notUsed{w} ) {
81 taskexit( notUsed{!w} );
85 task Startup( StartupObject s{ initialstate } ) {
88 Parameter p = new Parameter(){!w};
91 Penguin g = new Penguin();
97 for( int i = 0; i < 3; ++i ) {
99 p.penguin = new Penguin();
105 taskexit( s{ !initialstate } );
109 task aliasFromObjectAssignment
110 ( Parameter p1{!w}, Parameter p2{!w} ) {
114 taskexit( p1{w}, p2{w} );
117 task noAliasFromPrimitiveAssignment
118 ( Parameter p1{!w}, Parameter p2{!w} ) {
122 taskexit( p1{w}, p2{w} );
125 task aliasWithTwoLinks
126 ( Parameter p1{!w}, Parameter p2{!w} ) {
131 taskexit( p1{w}, p2{w} );
134 task aliasWithThreeLinks
135 ( Parameter p1{!w}, Parameter p2{!w} ) {
141 taskexit( p1{w}, p2{w} );
144 task noAliasBreakLinks
145 ( Parameter p1{!w}, Parameter p2{!w} ) {
152 taskexit( p1{w}, p2{w} );
155 task possibleAliasConditional
156 ( Parameter p1{!w}, Parameter p2{!w} ) {
168 taskexit( p1{w}, p2{w} );
172 ( Parameter p1{!w}, Parameter p2{!w} ) {
176 for( int i =0; i < 100; ++i ) {
181 for( int j = 0; i < 50; ++j ) {
201 taskexit( p1{w}, p2{w} );
204 task literalTest( Parameter p1{!w} ) {
213 ( Parameter p1{!w}, Parameter p2{!w} ) {
215 for( int i = 0; i < 1; ++i ) {
216 p1.f = new Parameter();
219 taskexit( p1{w}, p2{w} );
222 task newPossibleAlias
223 ( Parameter p1{!w}, Parameter p2{!w} ) {
227 for( int i = 0; i < 1; ++i ) {
228 p1.f = new Parameter();
238 taskexit( p1{w}, p2{w} );
241 task NoAliasNewInLoop( Voo v{ f } ) {
243 for( int i = 0; i < 10; ++i ) {
253 task NoAliasNewInLoopAnotherWay( Voo v{ f } ) {
255 for( int i = 0; i < 10; ++i ) {
268 task AliasParamToNew( Voo v{ f }, Voo w{ f } ) {
276 taskexit( v{ !f }, w{ !f } );
279 task AliasNewToNew( Voo v{ f }, Voo w{ f } ) {
286 taskexit( v{ !f }, w{ !f } );