TypeDescriptor td=parseTypeDescriptor(pn);
Vector args=parseArgumentList(pn);
boolean isglobal=pn.getChild("global")!=null;
- CreateObjectNode con=new CreateObjectNode(td, isglobal);
+ String disjointId=null;
+ if( pn.getChild("disjoint") != null) {
+ disjointId = pn.getChild("disjoint").getTerminal();
+ }
+ CreateObjectNode con=new CreateObjectNode(td, isglobal, disjointId);
for(int i=0; i<args.size(); i++) {
con.addArgument((ExpressionNode)args.get(i));
}
} else if (isNode(pn,"createarray")) {
//System.out.println(pn.PPrint(3,true));
boolean isglobal=pn.getChild("global")!=null;
+ String disjointId=null;
+ if( pn.getChild("disjoint") != null) {
+ disjointId = pn.getChild("disjoint").getTerminal();
+ }
TypeDescriptor td=parseTypeDescriptor(pn);
Vector args=parseDimExprs(pn);
int num=0;
num=((Integer)pn.getChild("dims_opt").getLiteral()).intValue();
for(int i=0; i<(args.size()+num); i++)
td=td.makeArray(state);
- CreateObjectNode con=new CreateObjectNode(td, isglobal);
+ CreateObjectNode con=new CreateObjectNode(td, isglobal, disjointId);
for(int i=0; i<args.size(); i++) {
con.addArgument((ExpressionNode)args.get(i));
}
String fieldname = pn.getChild("field").getTerminal();
//System.out.println("Checking the values of: "+ " td.toString()= " + td.toString()+ " fieldname= " + fieldname);
return new OffsetNode(td, fieldname);
+ } else if (isNode(pn, "tert")) {
+ return new TertiaryNode(parseExpression(pn.getChild("cond").getFirstChild()),
+ parseExpression(pn.getChild("trueexpr").getFirstChild()),
+ parseExpression(pn.getChild("falseexpr").getFirstChild()) );
} else {
System.out.println("---------------------");
System.out.println(pn.PPrint(3,true));
blockstatements.add(start);
blockstatements.addAll(parseSESEBlock(blockstatements,pn.getChild("body").getFirstChild()));
blockstatements.add(end);
+ } else if (isNode(pn,"continue")) {
+ blockstatements.add(new ContinueBreakNode(false));
+ } else if (isNode(pn,"break")) {
+ blockstatements.add(new ContinueBreakNode(true));
+
} else {
System.out.println("---------------");
System.out.println(pn.PPrint(3,true));