1 public class Parameter {
7 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; }
18 public void bar() { x = 1; }
22 flag f; int x; Baw b; Baw bb;
33 public void doTheBaw( Voo v ) { v = new Voo(); }
45 public void ruinSomeFoos( Foo a, Foo b ) {
49 static public void aStaticMethod( Foo p0, Foo p1 ) {
61 task Startup( StartupObject s{ initialstate } ) {
64 Parameter p = new Parameter(){!w};
67 Penguin g = new Penguin();
73 for( int i = 0; i < 3; ++i ) {
75 p.penguin = new Penguin();
81 taskexit( s{ !initialstate } );
85 task aliasFromObjectAssignment
86 ( Parameter p1{!w}, Parameter p2{!w} ) {
90 taskexit( p1{w}, p2{w} );
93 task noAliasFromPrimitiveAssignment
94 ( Parameter p1{!w}, Parameter p2{!w} ) {
98 taskexit( p1{w}, p2{w} );
101 task aliasWithTwoLinks
102 ( Parameter p1{!w}, Parameter p2{!w} ) {
107 taskexit( p1{w}, p2{w} );
110 task aliasWithThreeLinks
111 ( Parameter p1{!w}, Parameter p2{!w} ) {
117 taskexit( p1{w}, p2{w} );
120 task noAliasBreakLinks
121 ( Parameter p1{!w}, Parameter p2{!w} ) {
128 taskexit( p1{w}, p2{w} );
131 task possibleAliasConditional
132 ( Parameter p1{!w}, Parameter p2{!w} ) {
144 taskexit( p1{w}, p2{w} );
148 ( Parameter p1{!w}, Parameter p2{!w} ) {
152 for( int i =0; i < 100; ++i ) {
157 for( int j = 0; i < 50; ++j ) {
177 taskexit( p1{w}, p2{w} );
180 task literalTest( Parameter p1{!w} ) {
189 ( Parameter p1{!w}, Parameter p2{!w} ) {
191 for( int i = 0; i < 1; ++i ) {
192 p1.f = new Parameter();
195 taskexit( p1{w}, p2{w} );
198 task newPossibleAlias
199 ( Parameter p1{!w}, Parameter p2{!w} ) {
203 for( int i = 0; i < 1; ++i ) {
204 p1.f = new Parameter();
214 taskexit( p1{w}, p2{w} );
217 task NoAliasNewInLoop( Voo v{ f } ) {
219 for( int i = 0; i < 10; ++i ) {
229 task NoAliasNewInLoopAnotherWay( Voo v{ f } ) {
231 for( int i = 0; i < 10; ++i ) {