public void caseInstanceFieldRef(InstanceFieldRef arg0) { Value base = arg0.getBase(); if (base instanceof Local == false) throw new UnsupportedOperationException("How do I handle base is not a local?"); Local local = (Local) base; Type type = local.getType(); if (type instanceof RefType == false) throw new UnsupportedOperationException("How do I handle type is not a ref type?"); RefType ref = (RefType) type; OpenCLField ocl_field = new OpenCLField(arg0.getField(), ref.getSootClass()); if (isLhs()) { m_output.append(ocl_field.getInstanceSetterInvoke(arg0.getBase())); } else { m_output.append(ocl_field.getInstanceGetterInvoke(arg0.getBase())); } setCheckException(); }
public void caseLocal(Local arg0) { m_output.append(" " + arg0.getName() + " "); m_previousLocal = arg0.getName(); }