abstract class com.google.common.base.Splitter$SplittingIterator extends com.google.common.base.AbstractIterator
{
final java.lang.CharSequence toSplit;
final com.google.common.base.CharMatcher trimmer;
final boolean omitEmptyStrings;
int offset;
int limit;
abstract int separatorStart(int);
abstract int separatorEnd(int);
protected void <init>(com.google.common.base.Splitter, java.lang.CharSequence)
{
java.lang.CharSequence v;
com.google.common.base.Splitter$SplittingIterator v;
com.google.common.base.CharMatcher v;
int v;
com.google.common.base.Splitter v;
boolean v;
v := @this: com.google.common.base.Splitter$SplittingIterator;
v := @parameter: com.google.common.base.Splitter;
v := @parameter: java.lang.CharSequence;
specialinvoke v.<com.google.common.base.AbstractIterator: void <init>()>();
v.<com.google.common.base.Splitter$SplittingIterator: int offset> = 0;
v = v.<com.google.common.base.Splitter: com.google.common.base.CharMatcher trimmer>;
v.<com.google.common.base.Splitter$SplittingIterator: com.google.common.base.CharMatcher trimmer> = v;
v = v.<com.google.common.base.Splitter: boolean omitEmptyStrings>;
v.<com.google.common.base.Splitter$SplittingIterator: boolean omitEmptyStrings> = v;
v = v.<com.google.common.base.Splitter: int limit>;
v.<com.google.common.base.Splitter$SplittingIterator: int limit> = v;
v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit> = v;
return;
}
protected java.lang.String computeNext()
{
boolean v, v, v, v;
java.lang.CharSequence v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
com.google.common.base.CharMatcher v, v, v;
char v, v, v;
com.google.common.base.Splitter$SplittingIterator v;
java.lang.Object v;
v := @this: com.google.common.base.Splitter$SplittingIterator;
v = v.<com.google.common.base.Splitter$SplittingIterator: int offset>;
label:
v = v.<com.google.common.base.Splitter$SplittingIterator: int offset>;
v = (int) -1;
if v == v goto label;
v = v;
v = v.<com.google.common.base.Splitter$SplittingIterator: int offset>;
v = virtualinvoke v.<com.google.common.base.Splitter$SplittingIterator: int separatorStart(int)>(v);
v = (int) -1;
if v != v goto label;
v = v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit>;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = (int) -1;
v.<com.google.common.base.Splitter$SplittingIterator: int offset> = v;
goto label;
label:
v = v;
v = virtualinvoke v.<com.google.common.base.Splitter$SplittingIterator: int separatorEnd(int)>(v);
v.<com.google.common.base.Splitter$SplittingIterator: int offset> = v;
label:
v = v.<com.google.common.base.Splitter$SplittingIterator: int offset>;
if v != v goto label;
v = v.<com.google.common.base.Splitter$SplittingIterator: int offset>;
v = v + 1;
v.<com.google.common.base.Splitter$SplittingIterator: int offset> = v;
v = v.<com.google.common.base.Splitter$SplittingIterator: int offset>;
v = v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit>;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v <= v goto label;
v = (int) -1;
v.<com.google.common.base.Splitter$SplittingIterator: int offset> = v;
goto label;
label:
if v >= v goto label;
v = v.<com.google.common.base.Splitter$SplittingIterator: com.google.common.base.CharMatcher trimmer>;
v = v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit>;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = virtualinvoke v.<com.google.common.base.CharMatcher: boolean matches(char)>(v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
if v <= v goto label;
v = v.<com.google.common.base.Splitter$SplittingIterator: com.google.common.base.CharMatcher trimmer>;
v = v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit>;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = virtualinvoke v.<com.google.common.base.CharMatcher: boolean matches(char)>(v);
if v == 0 goto label;
v = v - 1;
goto label;
label:
v = v.<com.google.common.base.Splitter$SplittingIterator: boolean omitEmptyStrings>;
if v == 0 goto label;
if v != v goto label;
v = v.<com.google.common.base.Splitter$SplittingIterator: int offset>;
goto label;
label:
v = v.<com.google.common.base.Splitter$SplittingIterator: int limit>;
if v != 1 goto label;
v = v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit>;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = (int) -1;
v.<com.google.common.base.Splitter$SplittingIterator: int offset> = v;
label:
if v <= v goto label;
v = v.<com.google.common.base.Splitter$SplittingIterator: com.google.common.base.CharMatcher trimmer>;
v = v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit>;
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = virtualinvoke v.<com.google.common.base.CharMatcher: boolean matches(char)>(v);
if v == 0 goto label;
v = v - 1;
goto label;
label:
v = v.<com.google.common.base.Splitter$SplittingIterator: int limit>;
v = v - 1;
v.<com.google.common.base.Splitter$SplittingIterator: int limit> = v;
label:
v = v.<com.google.common.base.Splitter$SplittingIterator: java.lang.CharSequence toSplit>;
v = interfaceinvoke v.<java.lang.CharSequence: java.lang.CharSequence subSequence(int,int)>(v, v);
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
return v;
label:
v = virtualinvoke v.<com.google.common.base.Splitter$SplittingIterator: java.lang.Object endOfData()>();
return v;
}
}