1 public class Parameter {
6 a = 0; b = 0; f = null; g = null;
9 public void foo() { a = 1; }
12 task Startup( StartupObject s{ initialstate } ) {
13 Parameter p1 = new Parameter(){!w};
14 Parameter p2 = new Parameter(){!w};
15 taskexit( s{ !initialstate } );
18 task DoStuff( Parameter p{!w} ) {
25 task aliasFromObjectAssignment
26 ( Parameter p1{!w}, Parameter p2{!w} ) {
30 taskexit( p1{w}, p2{w} );
33 task noAliasFromPrimitiveAssignment
34 ( Parameter p1{!w}, Parameter p2{!w} ) {
38 taskexit( p1{w}, p2{w} );
41 task aliasWithTwoLinks
42 ( Parameter p1{!w}, Parameter p2{!w} ) {
47 taskexit( p1{w}, p2{w} );
50 task aliasWithThreeLinks
51 ( Parameter p1{!w}, Parameter p2{!w} ) {
57 taskexit( p1{w}, p2{w} );
60 task noAliasBreakLinks
61 ( Parameter p1{!w}, Parameter p2{!w} ) {
68 taskexit( p1{w}, p2{w} );
71 task possibleAliasConditional
72 ( Parameter p1{!w}, Parameter p2{!w} ) {
84 taskexit( p1{w}, p2{w} );
88 ( Parameter p1{!w}, Parameter p2{!w} ) {
92 for( int i =0; i < 100; ++i ) {
97 for( int j = 0; i < 50; ++j ) {
117 taskexit( p1{w}, p2{w} );
120 task literalTest( Parameter p1{!w} ) {
131 ( Parameter p1{!w}, Parameter p2{!w} ) {
133 for( int i = 0; i < 1; ++i ) {
134 p1.f = new Parameter();
137 taskexit( p1{w}, p2{w} );
140 task newPossibleAlias
141 ( Parameter p1{!w}, Parameter p2{!w} ) {
145 for( int i = 0; i < 1; ++i ) {
146 p1.f = new Parameter();
156 taskexit( p1{w}, p2{w} );