public class org.codehaus.plexus.interpolation.StringSearchInterpolator extends java.lang.Object implements org.codehaus.plexus.interpolation.Interpolator
{
private java.util.Map existingAnswers;
private java.util.List valueSources;
private java.util.List postProcessors;
private boolean cacheAnswers;
public static final java.lang.String DEFAULT_START_EXPR;
public static final java.lang.String DEFAULT_END_EXPR;
private java.lang.String startExpr;
private java.lang.String endExpr;
private java.lang.String escapeString;
public void <init>()
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.util.HashMap v;
java.util.ArrayList v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.Map existingAnswers> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List valueSources> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List postProcessors> = v;
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: boolean cacheAnswers> = 0;
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String startExpr> = "${";
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String endExpr> = "}";
return;
}
public void <init>(java.lang.String, java.lang.String)
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.util.HashMap v;
java.lang.String v, v;
java.util.ArrayList v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.Map existingAnswers> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List valueSources> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List postProcessors> = v;
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: boolean cacheAnswers> = 0;
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String startExpr> = v;
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String endExpr> = v;
return;
}
public void addValueSource(org.codehaus.plexus.interpolation.ValueSource)
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
org.codehaus.plexus.interpolation.ValueSource v;
java.util.List v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: org.codehaus.plexus.interpolation.ValueSource;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List valueSources>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public void removeValuesSource(org.codehaus.plexus.interpolation.ValueSource)
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
org.codehaus.plexus.interpolation.ValueSource v;
java.util.List v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: org.codehaus.plexus.interpolation.ValueSource;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List valueSources>;
interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
return;
}
public void addPostProcessor(org.codehaus.plexus.interpolation.InterpolationPostProcessor)
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.util.List v;
org.codehaus.plexus.interpolation.InterpolationPostProcessor v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: org.codehaus.plexus.interpolation.InterpolationPostProcessor;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List postProcessors>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public void removePostProcessor(org.codehaus.plexus.interpolation.InterpolationPostProcessor)
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.util.List v;
org.codehaus.plexus.interpolation.InterpolationPostProcessor v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: org.codehaus.plexus.interpolation.InterpolationPostProcessor;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List postProcessors>;
interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
return;
}
public java.lang.String interpolate(java.lang.String, java.lang.String) throws org.codehaus.plexus.interpolation.InterpolationException
{
org.codehaus.plexus.interpolation.SimpleRecursionInterceptor v;
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.lang.String v, v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new org.codehaus.plexus.interpolation.SimpleRecursionInterceptor;
specialinvoke v.<org.codehaus.plexus.interpolation.SimpleRecursionInterceptor: void <init>()>();
v = virtualinvoke v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String interpolate(java.lang.String,org.codehaus.plexus.interpolation.RecursionInterceptor)>(v, v);
return v;
}
public java.lang.String interpolate(java.lang.String, java.lang.String, org.codehaus.plexus.interpolation.RecursionInterceptor) throws org.codehaus.plexus.interpolation.InterpolationException
{
org.codehaus.plexus.interpolation.RecursionInterceptor v;
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.lang.String v, v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.codehaus.plexus.interpolation.RecursionInterceptor;
v = virtualinvoke v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String interpolate(java.lang.String,org.codehaus.plexus.interpolation.RecursionInterceptor)>(v, v);
return v;
}
public java.lang.String interpolate(java.lang.String) throws org.codehaus.plexus.interpolation.InterpolationException
{
org.codehaus.plexus.interpolation.SimpleRecursionInterceptor v;
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.lang.String v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: java.lang.String;
v = new org.codehaus.plexus.interpolation.SimpleRecursionInterceptor;
specialinvoke v.<org.codehaus.plexus.interpolation.SimpleRecursionInterceptor: void <init>()>();
v = virtualinvoke v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String interpolate(java.lang.String,org.codehaus.plexus.interpolation.RecursionInterceptor)>(v, v);
return v;
}
public java.lang.String interpolate(java.lang.String, org.codehaus.plexus.interpolation.RecursionInterceptor) throws org.codehaus.plexus.interpolation.InterpolationException
{
java.lang.Throwable v;
org.codehaus.plexus.interpolation.RecursionInterceptor v;
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.util.HashSet v;
java.util.Map v, v;
java.lang.String v, v;
boolean v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: java.lang.String;
v := @parameter: org.codehaus.plexus.interpolation.RecursionInterceptor;
label:
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = specialinvoke v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String interpolate(java.lang.String,org.codehaus.plexus.interpolation.RecursionInterceptor,java.util.Set)>(v, v, v);
label:
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: boolean cacheAnswers>;
if v != 0 goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.Map existingAnswers>;
interfaceinvoke v.<java.util.Map: void clear()>();
label:
return v;
label:
v := @caughtexception;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: boolean cacheAnswers>;
if v != 0 goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.Map existingAnswers>;
interfaceinvoke v.<java.util.Map: void clear()>();
label:
throw v;
catch java.lang.Throwable from label to label with label;
}
private java.lang.String interpolate(java.lang.String, org.codehaus.plexus.interpolation.RecursionInterceptor, java.util.Set) throws org.codehaus.plexus.interpolation.InterpolationException
{
java.util.Map v;
java.util.Set v;
java.lang.StringBuilder v;
java.lang.Throwable v;
org.codehaus.plexus.interpolation.InterpolationCycleException v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
boolean v, v, v, v, v, v, v, v, v;
java.util.List 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, v, v, v, v, v, v, v, v, v, v, v;
org.codehaus.plexus.interpolation.RecursionInterceptor v;
java.util.Iterator v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: java.lang.String;
v := @parameter: org.codehaus.plexus.interpolation.RecursionInterceptor;
v := @parameter: java.util.Set;
if v != null goto label;
return "";
label:
v = (int) -1;
v = v;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String startExpr>;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String,int)>(v, v);
v = v;
v = (int) -1;
if v <= v goto label;
v = new java.lang.StringBuilder;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v * 2;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
label:
v = v + 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, v, v);
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String endExpr>;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String,int)>(v, v);
if v < 0 goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String endExpr>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String startExpr>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String endExpr>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
if v < 0 goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String escapeString>;
if v == null goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String escapeString>;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
if v != 0 goto label;
v = 0;
goto label;
label:
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String escapeString>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
label:
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String escapeString>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String escapeString>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder replace(int,int,java.lang.String)>(v, v, "");
goto label;
label:
v = 0;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(".");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
label:
v = interfaceinvoke v.<org.codehaus.plexus.interpolation.RecursionInterceptor: boolean hasRecursiveExpression(java.lang.String)>(v);
if v == 0 goto label;
v = new org.codehaus.plexus.interpolation.InterpolationCycleException;
specialinvoke v.<org.codehaus.plexus.interpolation.InterpolationCycleException: void <init>(org.codehaus.plexus.interpolation.RecursionInterceptor,java.lang.String,java.lang.String)>(v, v, v);
throw v;
label:
interfaceinvoke v.<org.codehaus.plexus.interpolation.RecursionInterceptor: void expressionResolutionStarted(java.lang.String)>(v);
label:
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.Map existingAnswers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = null;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List valueSources>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v != null goto label;
v = interfaceinvoke v.<org.codehaus.plexus.interpolation.ValueSource: java.lang.Object getValue(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = v;
v = null;
goto label;
label:
if v != null goto label;
if v == null goto label;
v = new org.codehaus.plexus.interpolation.InterpolationCycleException;
specialinvoke v.<org.codehaus.plexus.interpolation.InterpolationCycleException: void <init>(org.codehaus.plexus.interpolation.RecursionInterceptor,java.lang.String,java.lang.String)>(v, v, v);
throw v;
label:
if v == null goto label;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = specialinvoke v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String interpolate(java.lang.String,org.codehaus.plexus.interpolation.RecursionInterceptor,java.util.Set)>(v, v, v);
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List postProcessors>;
if v == null goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List postProcessors>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List postProcessors>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.codehaus.plexus.interpolation.InterpolationPostProcessor: java.lang.Object execute(java.lang.String,java.lang.Object)>(v, v);
if v == null goto label;
v = v;
label:
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = 1;
goto label;
label:
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
interfaceinvoke v.<org.codehaus.plexus.interpolation.RecursionInterceptor: void expressionResolutionFinished(java.lang.String)>(v);
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.codehaus.plexus.interpolation.RecursionInterceptor: void expressionResolutionFinished(java.lang.String)>(v);
throw v;
label:
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = (int) -1;
if v <= v goto label;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String endExpr>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = v + v;
label:
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String startExpr>;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String,int)>(v, v);
v = v;
v = (int) -1;
if v > v goto label;
label:
v = (int) -1;
if v != v goto label;
v = (int) -1;
if v <= v goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, v, v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public java.util.List getFeedback()
{
java.util.Iterator v;
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.util.ArrayList v;
java.util.List v, v;
java.lang.Object v;
boolean v, v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List valueSources>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.codehaus.plexus.interpolation.ValueSource: java.util.List getFeedback()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
goto label;
label:
return v;
}
public void clearFeedback()
{
java.util.List v;
java.util.Iterator v;
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.lang.Object v;
boolean v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.List valueSources>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<org.codehaus.plexus.interpolation.ValueSource: void clearFeedback()>();
goto label;
label:
return;
}
public boolean isCacheAnswers()
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
boolean v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: boolean cacheAnswers>;
return v;
}
public void setCacheAnswers(boolean)
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
boolean v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: boolean;
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: boolean cacheAnswers> = v;
return;
}
public void clearAnswers()
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.util.Map v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.util.Map existingAnswers>;
interfaceinvoke v.<java.util.Map: void clear()>();
return;
}
public java.lang.String getEscapeString()
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.lang.String v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v = v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String escapeString>;
return v;
}
public void setEscapeString(java.lang.String)
{
org.codehaus.plexus.interpolation.StringSearchInterpolator v;
java.lang.String v;
v := @this: org.codehaus.plexus.interpolation.StringSearchInterpolator;
v := @parameter: java.lang.String;
v.<org.codehaus.plexus.interpolation.StringSearchInterpolator: java.lang.String escapeString> = v;
return;
}
}