private TypeData merge(TypeData src, TypeData target) throws BadBytecode { if (src == target) return target; else if (target instanceof TypeData.ClassName || target instanceof TypeData.BasicType) // a parameter return target; else if (target instanceof TypeData.AbsTypeVar) { ((TypeData.AbsTypeVar)target).merge(src); return target; } else throw new RuntimeException("fatal: this should never happen"); }
private TypeData merge(TypeData src, TypeData target) throws BadBytecode { if (src == target) return target; else if (target instanceof TypeData.ClassName || target instanceof TypeData.BasicType) // a parameter return target; else if (target instanceof TypeData.AbsTypeVar) { ((TypeData.AbsTypeVar)target).merge(src); return target; } else throw new RuntimeException("fatal: this should never happen"); }
public void merge(TypeData t) { try { if (!t.isNullType()) element.merge(ArrayElement.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
public static void aastore(TypeData array, TypeData value, ClassPool cp) throws BadBytecode { if (array instanceof AbsTypeVar) if (!value.isNullType()) ((AbsTypeVar)array).merge(ArrayType.make(value)); if (value instanceof AbsTypeVar) if (array instanceof AbsTypeVar) ArrayElement.make(array); // should call value.setType() later. else if (array instanceof ClassName) { if (!array.isNullType()) { String type = ArrayElement.typeName(array.getName()); value.setType(type, cp); } } else throw new BadBytecode("bad AASTORE: " + array); }
public static void aastore(TypeData array, TypeData value, ClassPool cp) throws BadBytecode { if (array instanceof AbsTypeVar) if (!value.isNullType()) ((AbsTypeVar)array).merge(ArrayType.make(value)); if (value instanceof AbsTypeVar) if (array instanceof AbsTypeVar) ArrayElement.make(array); // should call value.setType() later. else if (array instanceof ClassName) { if (!array.isNullType()) { String type = ArrayElement.typeName(array.getName()); value.setType(type, cp); } } else throw new BadBytecode("bad AASTORE: " + array); }
public static void aastore(TypeData array, TypeData value, ClassPool cp) throws BadBytecode { if (array instanceof AbsTypeVar) if (!value.isNullType()) ((AbsTypeVar)array).merge(ArrayType.make(value)); if (value instanceof AbsTypeVar) if (array instanceof AbsTypeVar) ArrayElement.make(array); // should call value.setType() later. else if (array instanceof ClassName) { if (!array.isNullType()) { String type = ArrayElement.typeName(array.getName()); value.setType(type, cp); } } else throw new BadBytecode("bad AASTORE: " + array); }
private TypeData merge(TypeData src, TypeData target) throws BadBytecode { if (src == target) return target; else if (target instanceof TypeData.ClassName || target instanceof TypeData.BasicType) // a parameter return target; else if (target instanceof TypeData.AbsTypeVar) { ((TypeData.AbsTypeVar)target).merge(src); return target; } else throw new RuntimeException("fatal: this should never happen"); }
public void merge(TypeData t) { try { if (!t.isNullType()) array.merge(ArrayType.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
public void merge(TypeData t) { try { if (!t.isNullType()) element.merge(ArrayElement.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
public void merge(TypeData t) { try { if (!t.isNullType()) array.merge(ArrayType.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
private TypeData merge(TypeData src, TypeData target) throws BadBytecode { if (src == target) return target; else if (target instanceof TypeData.ClassName || target instanceof TypeData.BasicType) // a parameter return target; else if (target instanceof TypeData.AbsTypeVar) { ((TypeData.AbsTypeVar)target).merge(src); return target; } else throw new RuntimeException("fatal: this should never happen"); }
private TypeData merge(TypeData src, TypeData target) throws BadBytecode { if (src == target) return target; else if (target instanceof TypeData.ClassName || target instanceof TypeData.BasicType) // a parameter return target; else if (target instanceof TypeData.AbsTypeVar) { ((TypeData.AbsTypeVar)target).merge(src); return target; } else throw new RuntimeException("fatal: this should never happen"); }
public void merge(TypeData t) { try { if (!t.isNullType()) array.merge(ArrayType.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
public void merge(TypeData t) { try { if (!t.isNullType()) element.merge(ArrayElement.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
public void merge(TypeData t) { try { if (!t.isNullType()) element.merge(ArrayElement.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
public static void aastore(TypeData array, TypeData value, ClassPool cp) throws BadBytecode { if (array instanceof AbsTypeVar) if (!value.isNullType()) ((AbsTypeVar)array).merge(ArrayType.make(value)); if (value instanceof AbsTypeVar) if (array instanceof AbsTypeVar) ArrayElement.make(array); // should call value.setType() later. else if (array instanceof ClassName) { if (!array.isNullType()) { String type = ArrayElement.typeName(array.getName()); value.setType(type, cp); } } else throw new BadBytecode("bad AASTORE: " + array); }
@Override public void merge(TypeData t) { try { if (!t.isNullType()) array.merge(ArrayType.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
@Override public void merge(TypeData t) { try { if (!t.isNullType()) element.merge(ArrayElement.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }
public static void aastore(TypeData array, TypeData value, ClassPool cp) throws BadBytecode { if (array instanceof AbsTypeVar) if (!value.isNullType()) ((AbsTypeVar)array).merge(ArrayType.make(value)); if (value instanceof AbsTypeVar) if (array instanceof AbsTypeVar) ArrayElement.make(array); // should call value.setType() later. else if (array instanceof ClassName) { if (!array.isNullType()) { String type = ArrayElement.typeName(array.getName()); value.setType(type, cp); } } else throw new BadBytecode("bad AASTORE: " + array); }
public void merge(TypeData t) { try { if (!t.isNullType()) array.merge(ArrayType.make(t)); } catch (BadBytecode e) { // never happens throw new RuntimeException("fatal: " + e); } }