t_ = t_.makeArrayType();
public Type getType() { Value base = baseBox.getValue(); Type type = base.getType(); if (type.equals(UnknownType.v())) { return UnknownType.v(); } else if (type.equals(NullType.v())) { return NullType.v(); } else { // use makeArrayType on non-array type references when they propagate to this point. // kludge, most likely not correct. // may stop spark from complaining when it gets passed phantoms. // ideally I'd want to find out just how they manage to get this far. ArrayType arrayType; if (type instanceof ArrayType) { arrayType = (ArrayType) type; } else { arrayType = (ArrayType) type.makeArrayType(); } if (arrayType.numDimensions == 1) { return arrayType.baseType; } else { return ArrayType.v(arrayType.baseType, arrayType.numDimensions - 1); } } }
} else { for (Type t : ts) { r.add(t.makeArrayType());
break; case '[': // array type = toSoot(typeDescriptor, pos + 1).makeArrayType(); break; default:
return ((NewArrayExpr) expr).getBaseType().makeArrayType(); } else if (expr instanceof NewMultiArrayExpr) { return ((NewMultiArrayExpr) expr).getBaseType();
at = tgType.makeArrayType(); if (useStmt.getInvokeExpr().getArg(i) == usePair.getValueBox().getValue()) { et = useStmt.getInvokeExpr().getMethod().getParameterType(i); at = et.makeArrayType(); break outer; at = et.makeArrayType();
typeStack = typeStack.push(baseType.makeArrayType()); break;
public Type getType() { Value base = baseBox.getValue(); Type type = base.getType(); if(type.equals(UnknownType.v())) return UnknownType.v(); else if(type.equals(NullType.v())) return NullType.v(); else { //use makeArrayType on non-array type references when they propagate to this point. //kludge, most likely not correct. //may stop spark from complaining when it gets passed phantoms. // ideally I'd want to find out just how they manage to get this far. ArrayType arrayType; if (type instanceof ArrayType) arrayType = (ArrayType) type; else arrayType = (ArrayType) type.makeArrayType(); if(arrayType.numDimensions == 1) return arrayType.baseType; else return ArrayType.v(arrayType.baseType, arrayType.numDimensions - 1); } }
public Type getType() { Value base = baseBox.getValue(); Type type = base.getType(); if(type.equals(UnknownType.v())) return UnknownType.v(); else if(type.equals(NullType.v())) return NullType.v(); else { //use makeArrayType on non-array type references when they propagate to this point. //kludge, most likely not correct. //may stop spark from complaining when it gets passed phantoms. // ideally I'd want to find out just how they manage to get this far. ArrayType arrayType; if (type instanceof ArrayType) arrayType = (ArrayType) type; else arrayType = (ArrayType) type.makeArrayType(); if(arrayType.numDimensions == 1) return arrayType.baseType; else return ArrayType.v(arrayType.baseType, arrayType.numDimensions - 1); } }
typeStack = typeStack.push(baseType.makeArrayType()); break;
typeStack = typeStack.push(baseType.makeArrayType()); break;