private static LayersInfo parseAlayers(System.String params_Renamed, float rate)
{
LayersInfo lyrs;
SupportClass.StreamTokenizerSupport stok;
bool islayer, ratepending;
float r;
lyrs = new LayersInfo(rate);
stok = new SupportClass.StreamTokenizerSupport(new System.IO.StringReader(params_Renamed));
stok.EOLIsSignificant(false);
try
{
stok.NextToken();
}
catch (System.IO.IOException e)
{
throw new System.InvalidOperationException("An IOException has ocurred where it " + "should never occur");
}
ratepending = false;
islayer = false;
r = 0; // to keep compiler happy
while (stok.ttype != SupportClass.StreamTokenizerSupport.TT_EOF)
{
switch (stok.ttype)
{
case SupportClass.StreamTokenizerSupport.TT_NUMBER:
if (islayer)
{
// layer parameter
try
{
//UPGRADE_WARNING: Data types in Visual C# might be different. Verify the accuracy of narrowing conversions. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1042'"
lyrs.addOptPoint(r, (int) stok.nval);
}
catch (System.ArgumentException e)
{
//UPGRADE_TODO: The equivalent in .NET for method 'java.lang.Throwable.getMessage' may return a different value. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1043'"
throw new System.ArgumentException("Error in 'Alayers' " + "option: " + e.Message);
}
ratepending = false;
islayer = false;
}
else
{
// rate parameter
if (ratepending)
{
// Add pending rate parameter
try
{
lyrs.addOptPoint(r, 0);
}
catch (System.ArgumentException e)
{
//UPGRADE_TODO: The equivalent in .NET for method 'java.lang.Throwable.getMessage' may return a different value. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1043'"
throw new System.ArgumentException("Error in 'Alayers' " + "option: " + e.Message);
}
}
// Now store new rate parameter
//UPGRADE_WARNING: Data types in Visual C# might be different. Verify the accuracy of narrowing conversions. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1042'"
r = (float) stok.nval;
ratepending = true;
}
break;
case '+':
if (!ratepending || islayer)
{
throw new System.ArgumentException("Layer parameter without " + "previous rate parameter " + "in 'Alayers' option");
}
islayer = true; // Next number is layer parameter
break;
case SupportClass.StreamTokenizerSupport.TT_WORD:
try
{
stok.NextToken();
}
catch (System.IO.IOException e)
{
throw new System.InvalidOperationException("An IOException has ocurred where it " + "should never occur");
}
if (stok.ttype != SupportClass.StreamTokenizerSupport.TT_EOF)
{
throw new System.ArgumentException("'sl' argument of " + "'-Alayers' option must be " + "used alone.");
}
break;
default:
throw new System.ArgumentException("Error parsing 'Alayers' " + "option");
}
try
{
stok.NextToken();
}
catch (System.IO.IOException e)
{
throw new System.InvalidOperationException("An IOException has ocurred where it " + "should never occur");
}
}
if (islayer)
{
throw new System.ArgumentException("Error parsing 'Alayers' " + "option");
}
if (ratepending)
{
try
{
lyrs.addOptPoint(r, 0);
}
catch (System.ArgumentException e)
{
//UPGRADE_TODO: The equivalent in .NET for method 'java.lang.Throwable.getMessage' may return a different value. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1043'"
throw new System.ArgumentException("Error in 'Alayers' " + "option: " + e.Message);
}
}
return lyrs;
}