public static Shape readShape(ObjectInputStream stream)
{
if (stream == null)
{
string str = "Null 'stream' argument.";
Throwable.__\u003CsuppressFillInStackTrace\u003E();
throw new IllegalArgumentException(str);
}
else
{
object obj1 = (object) null;
if (!stream.readBoolean())
{
Class @class = (Class) stream.readObject();
if (Object.instancehelper_equals((object) @class, SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Line2D != null ? (object) SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Line2D : (object) (SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Line2D = SerialUtilities.class\u0024("java.awt.geom.Line2D"))))
obj1 = (object) new Line2D.Double(stream.readDouble(), stream.readDouble(), stream.readDouble(), stream.readDouble());
else if (Object.instancehelper_equals((object) @class, SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Rectangle2D != null ? (object) SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Rectangle2D : (object) (SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Rectangle2D = SerialUtilities.class\u0024("java.awt.geom.Rectangle2D"))))
obj1 = (object) new Rectangle2D.Double(stream.readDouble(), stream.readDouble(), stream.readDouble(), stream.readDouble());
else if (Object.instancehelper_equals((object) @class, SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Ellipse2D != null ? (object) SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Ellipse2D : (object) (SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Ellipse2D = SerialUtilities.class\u0024("java.awt.geom.Ellipse2D"))))
obj1 = (object) new Ellipse2D.Double(stream.readDouble(), stream.readDouble(), stream.readDouble(), stream.readDouble());
else if (Object.instancehelper_equals((object) @class, SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Arc2D != null ? (object) SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Arc2D : (object) (SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024Arc2D = SerialUtilities.class\u0024("java.awt.geom.Arc2D"))))
obj1 = (object) new Arc2D.Double(stream.readDouble(), stream.readDouble(), stream.readDouble(), stream.readDouble(), stream.readDouble(), stream.readDouble(), stream.readInt());
else if (Object.instancehelper_equals((object) @class, SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024GeneralPath != null ? (object) SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024GeneralPath : (object) (SerialUtilities.class\u0024java\u0024awt\u0024geom\u0024GeneralPath = SerialUtilities.class\u0024("java.awt.geom.GeneralPath"))))
{
GeneralPath generalPath = new GeneralPath();
float[] numArray = new float[6];
for (int index1 = stream.readBoolean() ? 1 : 0; index1 == 0; index1 = stream.readBoolean() ? 1 : 0)
{
int num = stream.readInt();
for (int index2 = 0; index2 < 6; ++index2)
numArray[index2] = stream.readFloat();
switch (num)
{
case 0:
((Path2D.Float) generalPath).moveTo(numArray[0], numArray[1]);
break;
case 1:
((Path2D.Float) generalPath).lineTo(numArray[0], numArray[1]);
break;
case 2:
((Path2D.Float) generalPath).quadTo(numArray[0], numArray[1], numArray[2], numArray[3]);
break;
case 3:
((Path2D.Float) generalPath).curveTo(numArray[0], numArray[1], numArray[2], numArray[3], numArray[4], numArray[5]);
break;
case 4:
((Path2D) generalPath).closePath();
break;
default:
string str = "JFreeChart - No path exists";
Throwable.__\u003CsuppressFillInStackTrace\u003E();
throw new RuntimeException(str);
}
((Path2D) generalPath).setWindingRule(stream.readInt());
}
obj1 = (object) generalPath;
}
else
obj1 = (object) (Shape) stream.readObject();
}
object obj2 = obj1;
if (obj2 == null)
return (Shape) null;
Shape shape = obj2 as Shape;
if (shape != null)
return shape;
else
throw new IncompatibleClassChangeError();
}
}