Update of /cvsroot/nice/Nice/src/bossa/syntax
In directory sc8-pr-cvs1:/tmp/cvs-serv5547/F:/nice/src/bossa/syntax
Modified Files:
CallExp.java Arguments.java
Log Message:
Added syntactic sugar for method calls with closures(single block only yet) like: loop(5) { print("abc"); }
Index: CallExp.java
===================================================================
RCS file: /cvsroot/nice/Nice/src/bossa/syntax/CallExp.java,v
retrieving revision 1.85
retrieving revision 1.86
diff -C2 -d -r1.85 -r1.86
*** CallExp.java 28 Nov 2003 13:52:08 -0000 1.85
--- CallExp.java 12 Dec 2003 20:34:46 -0000 1.86
***************
*** 92,95 ****
--- 92,101 ----
}
+ public void addBlockArgument(Statement block, LocatedString name)
+ {
+ arguments.add(new FunExp(bossa.syntax.Constraint.True, new LinkedList(),
+ block), name);
+ }
+
/****************************************************************
* Type checking
Index: Arguments.java
===================================================================
RCS file: /cvsroot/nice/Nice/src/bossa/syntax/Arguments.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** Arguments.java 9 Dec 2003 15:21:05 -0000 1.22
--- Arguments.java 12 Dec 2003 20:34:46 -0000 1.23
***************
*** 70,78 ****
}
! void add(Expression arg)
{
Argument[] newArgs = new Argument[arguments.length + 1];
System.arraycopy(arguments, 0, newArgs, 0, arguments.length);
! newArgs[arguments.length] = new Argument(arg);
arguments = newArgs;
}
--- 70,78 ----
}
! void add(Expression arg, LocatedString name)
{
Argument[] newArgs = new Argument[arguments.length + 1];
System.arraycopy(arguments, 0, newArgs, 0, arguments.length);
! newArgs[arguments.length] = new Argument(arg, name);
arguments = newArgs;
}
|