(dynamicInput, Util.getBaseType(self.getType())));
(dynamicInput, CommonUtils.getBaseType(self.getType())));
    public void visitMethodCallExpression(JMethodCallExpression self,                                          JExpression prefix,                                          String ident,                                          JExpression[] args) {        /*          if (ident != null && ident.equals(JAV_INIT)) {          return; // we do not want generated methods in source code          }        */        if (ident.equals(RawExecutionCode.gdnSendMethod) ||                 ident.equals(RawExecutionCode.staticSendMethod)) {            handleSendMethod(self);            return;        }                            //generate the inline asm instruction to execute the         //receive if this is a receive instruction        if (ident.equals(RawExecutionCode.gdnReceiveMethod) ||                ident.equals(RawExecutionCode.staticReceiveMethod)) {            //is this receive from the gdn            boolean dynamicInput = ident.equals(RawExecutionCode.gdnReceiveMethod);                        if (args.length > 0) {                visitArgs(args,0);                p.print(" = ");                p.print(Util.networkReceive                        (dynamicInput, Util.getBaseType(self.getType())));                            }            else {                p.print(Util.networkReceive                        (dynamicInput, Util.getBaseType(self.getType())));            }                                    return;          }                //we are receiving an array type, call the popArray method        if (ident.equals(RawExecutionCode.arrayReceiveMethod)) {            assert false : "Arrays over tapes not implemented!";            return;        }                if (ident.equals(RawExecutionCode.rateMatchSendMethod)) {            rateMatchPush(args);            return;        }                  p.print(ident);        //we want single precision versions of the math functions raw        //except for abs        if (Utils.isMathMethod(prefix, ident) &&                !ident.equals("abs"))             p.print("f");        p.print("(");                //if this method we are calling is the call to a structure         //receive method that takes a pointer, we have to add the         //address of operator        if (ident.startsWith(RawExecutionCode.structReceiveMethodPrefix))            p.print("&");        int i = 0;        /* Ignore prefix, since it's just going to be a Java class name.           if (prefix != null) {           prefix.accept(this);           i++;           }        */        visitArgs(args, i);        p.print(")");    }