public class org.finos.legend.engine.plan.dependencies.util.Library extends java.lang.Object
{
private static final java.util.List PRIMITIVE_CLASS_COMPARISON_ORDER;
private static final java.util.Comparator DEFAULT_COMPARATOR;
private static final java.util.TimeZone GMT_TIME_ZONE;
public void <init>()
{
org.finos.legend.engine.plan.dependencies.util.Library v;
v := @this: org.finos.legend.engine.plan.dependencies.util.Library;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate adjustDate(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, long, org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit)
{
long v;
int[] v;
int v, v;
java.lang.String v;
java.lang.RuntimeException v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: long;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit;
v = <org.finos.legend.engine.plan.dependencies.util.Library$1: int[] $SwitchMap$org$finos$legend$engine$plan$dependencies$domain$date$DurationUnit>;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addYears(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addMonths(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addWeeks(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addDays(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addHours(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addMinutes(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addSeconds(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addMilliseconds(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addMicroseconds(long)>(v);
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate addNanoseconds(long)>(v);
return v;
label:
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unsupported duration unit: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
}
public static long dateDiff(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit v;
long v;
java.lang.String v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit: java.lang.String name()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: long dateDifference(org.finos.legend.pure.m.coreinstance.primitive.date.PureDate,java.lang.String)>(v, v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate datePart(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v, v, v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasHour()>();
if v != 0 goto label;
return v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMonth()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getDay()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int)>(v, v, v);
return v;
}
public static long dayOfMonth(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v;
int v;
java.lang.String v, v;
java.lang.IllegalArgumentException v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot get day of month for \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getDay()>();
return v;
}
public static long dayOfYear(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
java.util.GregorianCalendar v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v;
int v;
java.lang.String v, v;
java.lang.IllegalArgumentException v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot get day of year for \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: java.util.GregorianCalendar getCalendar()>();
v = virtualinvoke v.<java.util.GregorianCalendar: int get(int)>(6);
return v;
}
public static long dayOfWeekNumber(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
java.util.GregorianCalendar v;
java.lang.IllegalArgumentException v, v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v;
int v;
java.lang.String v, v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot get day of week for \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: java.util.GregorianCalendar getCalendar()>();
v = virtualinvoke v.<java.util.GregorianCalendar: int get(int)>(7);
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
default: goto label;
};
label:
return 1L;
label:
return 2L;
label:
return 3L;
label:
return 4L;
label:
return 5L;
label:
return 6L;
label:
return 7L;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error getting day of week for \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = <org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek: org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek Monday>;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate mostRecentDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.PureDate,org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek)>(v, v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfMonth(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMonth()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int)>(v, v, 1);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfQuarter(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v, v, v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getQuarter()>();
v = v * 3;
v = v - 2;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int)>(v, v, 1);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfYear(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
int v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int)>(v, 1, 1);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate today()
{
java.util.GregorianCalendar v;
java.util.TimeZone v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v;
int v, v, v, v;
v = new java.util.GregorianCalendar;
v = <org.finos.legend.engine.plan.dependencies.util.Library: java.util.TimeZone GMT_TIME_ZONE>;
specialinvoke v.<java.util.GregorianCalendar: void <init>(java.util.TimeZone)>(v);
v = virtualinvoke v.<java.util.GregorianCalendar: int get(int)>(1);
v = virtualinvoke v.<java.util.GregorianCalendar: int get(int)>(2);
v = v + 1;
v = virtualinvoke v.<java.util.GregorianCalendar: int get(int)>(5);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int)>(v, v, v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfThisMonth()
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate today()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfMonth(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfThisQuarter()
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate today()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfQuarter(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfThisYear()
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate today()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstDayOfYear(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstHourOfDay(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
java.lang.IllegalArgumentException v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v, v, v;
boolean v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasMonth()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMonth()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getDay()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int,int)>(v, v, v, 0);
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Date must have year, month and day");
throw v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstMinuteOfHour(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
java.lang.IllegalArgumentException v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v, v, v, v;
boolean v, v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasMonth()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasHour()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMonth()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getDay()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getHour()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int,int,int)>(v, v, v, v, 0);
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Date must have year, month, day and hour");
throw v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstSecondOfMinute(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
java.lang.IllegalArgumentException v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v, v, v, v, v;
boolean v, v, v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasMonth()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasHour()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasMinute()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMonth()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getDay()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getHour()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMinute()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int,int,int,int)>(v, v, v, v, v, 0);
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Date must have year, month, day, hour and minute");
throw v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate firstMillisecondOfSecond(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
java.lang.IllegalArgumentException v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v, v, v, v, v, v;
boolean v, v, v, v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasMonth()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasHour()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasMinute()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasSecond()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getYear()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMonth()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getDay()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getHour()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getMinute()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int getSecond()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.domain.date.PureDate: org.finos.legend.engine.plan.dependencies.domain.date.PureDate newPureDate(int,int,int,int,int,int,java.lang.String)>(v, v, v, v, v, v, "000");
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Date must have year, month, day, hour, minute and second");
throw v;
}
public static long weekOfYear(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
java.util.GregorianCalendar v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v;
int v;
java.lang.String v;
java.lang.IllegalArgumentException v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasDay()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot get week of year for \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: java.util.GregorianCalendar getCalendar()>();
v = virtualinvoke v.<java.util.GregorianCalendar: int get(int)>(3);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate mostRecentDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek)
{
org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek v;
long v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v, v;
int v, v, v, v, v;
org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate datePart(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v);
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek: int ordinal()>();
v = v + 1;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: long dayOfWeekNumber(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v);
v = v - v;
if v <= 0 goto label;
v = v - v;
v = v - 7;
goto label;
label:
v = v - v;
label:
v = <org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit: org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit DAYS>;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate adjustDate(org.finos.legend.engine.plan.dependencies.domain.date.PureDate,long,org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit)>(v, v, v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate mostRecentDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek)
{
org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate today()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate mostRecentDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.PureDate,org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek)>(v, v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate previousDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek)
{
org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek v;
long v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v, v;
int v, v, v, v, v;
org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate datePart(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v);
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek: int ordinal()>();
v = v + 1;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: long dayOfWeekNumber(org.finos.legend.engine.plan.dependencies.domain.date.PureDate)>(v);
v = v - v;
if v < 0 goto label;
v = v - v;
v = v - 7;
goto label;
label:
v = v - v;
label:
v = <org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit: org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit DAYS>;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate adjustDate(org.finos.legend.engine.plan.dependencies.domain.date.PureDate,long,org.finos.legend.engine.plan.dependencies.domain.date.DurationUnit)>(v, v, v);
return v;
}
public static org.finos.legend.engine.plan.dependencies.domain.date.PureDate previousDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek)
{
org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek v;
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate today()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: org.finos.legend.engine.plan.dependencies.domain.date.PureDate previousDayOfWeek(org.finos.legend.engine.plan.dependencies.domain.date.PureDate,org.finos.legend.engine.plan.dependencies.domain.date.DayOfWeek)>(v, v);
return v;
}
public static boolean equals(java.lang.Object, java.lang.Object)
{
int v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v;
java.lang.Object v, v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
if v != null goto label;
v = v instanceof java.util.List;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v != null goto label;
v = v instanceof java.util.List;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v instanceof java.util.List;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v instanceof java.util.List;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != v goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean iteratorsEqual(java.util.Iterator,java.util.Iterator)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v instanceof java.util.List;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean eq(java.lang.Number,java.lang.Number)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
return v;
}
private static boolean eq(java.lang.Number, java.lang.Number)
{
java.lang.Double v, v;
byte v, v;
java.lang.String v, v;
java.lang.Number v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Class v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Double;
if v != 0 goto label;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
label:
return 0;
label:
v = v instanceof java.lang.Byte;
if v != 0 goto label;
v = v instanceof java.lang.Byte;
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v != v goto label;
v = virtualinvoke v.<java.lang.Number: byte byteValue()>();
v = virtualinvoke v.<java.lang.Number: byte byteValue()>();
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(-0.0);
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(0.0);
goto label;
label:
v = v;
label:
v = v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(-0.0);
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(0.0);
goto label;
label:
v = v;
label:
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean iteratorsEqual(java.util.Iterator, java.util.Iterator)
{
java.util.Iterator v, v;
java.lang.Object v, v;
boolean v, v, v, v, v, v;
v := @parameter: java.util.Iterator;
v := @parameter: java.util.Iterator;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto 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.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean lessThan(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == null goto label;
if v != null goto label;
label:
return 0;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int compareTo(org.finos.legend.pure.m.coreinstance.primitive.date.PureDate)>(v);
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean lessThanEqual(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == null goto label;
if v != null goto label;
label:
return 0;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int compareTo(org.finos.legend.pure.m.coreinstance.primitive.date.PureDate)>(v);
if v > 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean greaterThan(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == null goto label;
if v != null goto label;
label:
return 0;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int compareTo(org.finos.legend.pure.m.coreinstance.primitive.date.PureDate)>(v);
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean greaterThanEqual(org.finos.legend.engine.plan.dependencies.domain.date.PureDate, org.finos.legend.engine.plan.dependencies.domain.date.PureDate)
{
org.finos.legend.engine.plan.dependencies.domain.date.PureDate v, v;
int v;
boolean v;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
v := @parameter: org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == null goto label;
if v != null goto label;
label:
return 0;
label:
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: int compareTo(org.finos.legend.pure.m.coreinstance.primitive.date.PureDate)>(v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean greaterThan(java.lang.Boolean, java.lang.Boolean)
{
int v;
java.lang.Boolean v, v;
boolean v, v, v;
v := @parameter: java.lang.Boolean;
v := @parameter: java.lang.Boolean;
if v == null goto label;
if v == null goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = staticinvoke <java.lang.Boolean: int compare(boolean,boolean)>(v, v);
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean greaterThanEqual(java.lang.Boolean, java.lang.Boolean)
{
int v;
java.lang.Boolean v, v;
boolean v, v, v;
v := @parameter: java.lang.Boolean;
v := @parameter: java.lang.Boolean;
if v == null goto label;
if v == null goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = staticinvoke <java.lang.Boolean: int compare(boolean,boolean)>(v, v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static int safeCompareNumbers(java.lang.Number, java.lang.Number)
{
byte v;
int v;
java.lang.Number v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
if v != null goto label;
if v != null goto label;
v = 0;
goto label;
label:
v = -1;
label:
return v;
label:
if v != null goto label;
v = 1;
goto label;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int compareInt(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
public static java.lang.Number numberPlus(java.lang.Number, java.lang.Number)
{
java.math.BigDecimal v, v, v, v, v, v, v, v, v;
java.lang.Long v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Double v;
long v, v, v, v, v;
java.lang.Number v, v;
double v, v, v, v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = v + v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = v + v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static long integerPlus(long, long)
{
long v, v, v;
v := @parameter: long;
v := @parameter: long;
v = v + v;
return v;
}
public static double floatPlus(double, double)
{
double v, v, v;
v := @parameter: double;
v := @parameter: double;
v = v + v;
return v;
}
public static java.math.BigDecimal decimalPlus(java.math.BigDecimal, java.math.BigDecimal)
{
java.math.BigDecimal v, v, v;
v := @parameter: java.math.BigDecimal;
v := @parameter: java.math.BigDecimal;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)>(v);
return v;
}
public static java.lang.Number numberMultiply(java.lang.Number, java.lang.Number)
{
java.math.BigDecimal v, v, v, v, v, v, v, v, v;
java.lang.Long v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Double v;
long v, v, v, v, v;
java.lang.Number v, v;
double v, v, v, v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = v * v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = v * v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static long integerMultiply(long, long)
{
long v, v, v;
v := @parameter: long;
v := @parameter: long;
v = v * v;
return v;
}
public static double floatMultiply(double, double)
{
double v, v, v;
v := @parameter: double;
v := @parameter: double;
v = v * v;
return v;
}
public static java.math.BigDecimal decimalMultiply(java.math.BigDecimal, java.math.BigDecimal)
{
java.math.BigDecimal v, v, v;
v := @parameter: java.math.BigDecimal;
v := @parameter: java.math.BigDecimal;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)>(v);
return v;
}
public static java.lang.Number minus(java.lang.Number, java.lang.Number)
{
java.math.BigDecimal v, v, v, v, v, v, v, v, v;
java.lang.Long v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Double v;
long v, v, v, v, v;
java.lang.Number v, v;
double v, v, v, v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = v - v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = v - v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static java.lang.Number minus(java.util.List)
{
java.lang.Integer v;
java.util.List v;
byte v;
int v, v, v;
java.lang.Object v, v;
java.lang.Number v;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
return v;
label:
if v != 1 goto label;
staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
label:
v = v;
if v != 1 goto label;
v = 0;
goto label;
label:
v = 1;
label:
v = v;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.Number minus(java.lang.Number,java.lang.Number)>(v, v);
v = v + 1;
goto label;
label:
return v;
}
public static java.lang.Number minus(java.lang.Number)
{
java.lang.Double v;
long v, v;
java.lang.Integer v;
java.math.BigDecimal v;
java.lang.Long v;
java.lang.Number v;
boolean v, v;
double v, v;
v := @parameter: java.lang.Number;
if v != null goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal negate()>();
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = neg v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = neg v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static double divide(java.lang.Number, java.lang.Number)
{
java.math.BigDecimal v, v, v, v, v, v, v, v, v;
byte v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.math.RoundingMode v, v, v, v, v;
long v, v, v, v;
java.lang.Number v, v;
double v, v, v, v, v, v, v, v, v;
java.lang.RuntimeException v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = v cmpl 0.0;
if v != 0 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Cannot divide by zero");
throw v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = <java.math.RoundingMode: java.math.RoundingMode HALF_UP>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.RoundingMode)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = <java.math.RoundingMode: java.math.RoundingMode HALF_UP>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.RoundingMode)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = <java.math.RoundingMode: java.math.RoundingMode HALF_UP>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.RoundingMode)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = <java.math.RoundingMode: java.math.RoundingMode HALF_UP>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.RoundingMode)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = <java.math.RoundingMode: java.math.RoundingMode HALF_UP>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.RoundingMode)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
label:
v = v / v;
return v;
}
public static java.lang.Number rem(java.lang.Number, java.lang.Number)
{
java.math.BigDecimal v, v, v, v, v, v, v, v, v;
byte v;
java.lang.Long v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Double v, v, v, v, v, v;
long v, v, v, v, v, v, v;
java.lang.Number v, v;
double v, v, v, v, v, v, v, v, v;
java.lang.RuntimeException v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = v cmpl 0.0;
if v != 0 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Cannot divide by zero");
throw v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = v % v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal remainder(java.math.BigDecimal)>(v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal remainder(java.math.BigDecimal)>(v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal remainder(java.math.BigDecimal)>(v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal remainder(java.math.BigDecimal)>(v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal remainder(java.math.BigDecimal)>(v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
label:
v = v % v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static double average(java.util.List)
{
java.lang.Integer v;
java.util.function.BinaryOperator v;
java.util.List v;
java.util.stream.Stream v;
java.lang.Long v;
int v;
java.lang.Object v;
double v;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 0 goto label;
v = 0.0;
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$numberPlus__2: java.util.function.BinaryOperator bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object reduce(java.lang.Object,java.util.function.BinaryOperator)>(v, v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: double divide(java.lang.Number,java.lang.Number)>(v, v);
label:
return v;
}
public static long round(java.lang.Number)
{
long v;
byte v, v, v;
java.lang.Number v;
boolean v;
double v, v, v, v, v;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
return v;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = v cmpl 0.49999999999999994;
if v != 0 goto label;
return 0L;
label:
v = v + 0.5;
v = staticinvoke <java.lang.Math: double floor(double)>(v);
v = v cmpl v;
if v != 0 goto label;
v = v % 2.0;
v = v cmpl 0.0;
if v == 0 goto label;
v = v - 1.0;
label:
return v;
}
public static java.lang.Number round(java.lang.Number, long)
{
java.math.BigDecimal v;
java.lang.Double v;
long v;
java.lang.IllegalArgumentException v;
java.lang.Number v;
boolean v, v;
v := @parameter: java.lang.Number;
v := @parameter: long;
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.Double round(java.lang.Double,long)>(v, v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.math.BigDecimal round(java.math.BigDecimal,long)>(v, v);
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Unknown number type");
throw v;
}
public static java.lang.Double round(java.lang.Double, long)
{
java.math.BigDecimal v, v;
java.lang.Double v, v;
long v;
double v, v;
v := @parameter: java.lang.Double;
v := @parameter: long;
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.math.BigDecimal round(java.math.BigDecimal,long)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: double doubleValue()>();
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static java.math.BigDecimal round(java.math.BigDecimal, long)
{
java.math.BigDecimal v, v;
long v;
java.math.RoundingMode v;
v := @parameter: java.math.BigDecimal;
v := @parameter: long;
v = <java.math.RoundingMode: java.math.RoundingMode HALF_UP>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal setScale(int,java.math.RoundingMode)>(v, v);
return v;
}
public static long ceiling(java.lang.Number)
{
long v;
java.lang.Number v;
boolean v;
double v, v;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
return v;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.lang.Math: double ceil(double)>(v);
return v;
}
public static long floor(java.lang.Number)
{
long v;
java.lang.Number v;
boolean v;
double v, v;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
return v;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.lang.Math: double floor(double)>(v);
return v;
}
public static java.lang.Number abs(java.lang.Number)
{
java.lang.Double v;
long v, v;
java.lang.IllegalArgumentException v;
java.math.BigDecimal v;
java.lang.Long v;
java.lang.Number v;
boolean v, v, v;
double v, v;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = staticinvoke <java.lang.Math: long abs(long)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = staticinvoke <java.lang.Math: double abs(double)>(v);
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal abs()>();
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Unknown number type");
throw v;
}
public static java.lang.Number max(java.lang.Number, java.lang.Number)
{
int v;
java.lang.Number v, v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int safeCompareNumbers(java.lang.Number,java.lang.Number)>(v, v);
if v <= 0 goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static java.lang.Number min(java.lang.Number, java.lang.Number)
{
int v;
java.lang.Number v, v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int safeCompareNumbers(java.lang.Number,java.lang.Number)>(v, v);
if v >= 0 goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static int compareInt(java.lang.Object, java.lang.Object)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
boolean v, v, v, v, v, v, v;
java.util.List v, v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int compareUnmatchedNumbers(java.lang.Number,java.lang.Number)>(v, v);
return v;
label:
v = v instanceof org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == 0 goto label;
v = v instanceof org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.Comparable: int compareTo(java.lang.Object)>(v);
return v;
label:
v = <org.finos.legend.engine.plan.dependencies.util.Library: java.util.List PRIMITIVE_CLASS_COMPARISON_ORDER>;
v = interfaceinvoke v.<java.util.List: int indexOf(java.lang.Object)>(v);
v = <org.finos.legend.engine.plan.dependencies.util.Library: java.util.List PRIMITIVE_CLASS_COMPARISON_ORDER>;
v = interfaceinvoke v.<java.util.List: int indexOf(java.lang.Object)>(v);
v = (int) -1;
if v != v goto label;
v = (int) -1;
if v != v goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = virtualinvoke v.<java.lang.String: int compareTo(java.lang.String)>(v);
goto label;
label:
v = 1;
label:
return v;
label:
v = (int) -1;
if v != v goto label;
v = (int) -1;
v = v;
goto label;
label:
v = staticinvoke <java.lang.Integer: int compare(int,int)>(v, v);
label:
return v;
label:
v = v instanceof java.lang.Comparable;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.Comparable: int compareTo(java.lang.Object)>(v);
return v;
label:
v = staticinvoke <java.util.Objects: int hashCode(java.lang.Object)>(v);
v = staticinvoke <java.util.Objects: int hashCode(java.lang.Object)>(v);
v = staticinvoke <java.lang.Integer: int compare(int,int)>(v, v);
return v;
}
private static int compareUnmatchedNumbers(java.lang.Number, java.lang.Number)
{
java.math.BigDecimal v, v;
int v, v;
java.lang.Number v, v;
boolean v, v;
double v, v;
v := @parameter: java.lang.Number;
v := @parameter: java.lang.Number;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean isSpecialNumber(java.lang.Number)>(v);
if v != 0 goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean isSpecialNumber(java.lang.Number)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.lang.Double: int compare(double,double)>(v, v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.math.BigDecimal toBigDecimal(java.lang.Number)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.math.BigDecimal toBigDecimal(java.lang.Number)>(v);
v = virtualinvoke v.<java.math.BigDecimal: int compareTo(java.math.BigDecimal)>(v);
return v;
}
private static boolean isSpecialNumber(java.lang.Number)
{
float v, v;
java.lang.Number v;
boolean v, v, v, v, v, v, v, v, v, v;
double v, v;
v := @parameter: java.lang.Number;
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v instanceof java.lang.Float;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Float: float floatValue()>();
v = staticinvoke <java.lang.Float: boolean isNaN(float)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Float: float floatValue()>();
v = staticinvoke <java.lang.Float: boolean isInfinite(float)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static java.math.BigDecimal toBigDecimal(java.lang.Number)
{
long v;
java.math.BigDecimal v, v, v, v;
java.lang.String v, v, v;
java.lang.Number v;
boolean v, v, v, v, v, v, v, v;
double v;
java.lang.NumberFormatException v;
java.lang.RuntimeException v;
java.lang.Class v;
v := @parameter: java.lang.Number;
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
return v;
label:
v = v instanceof java.math.BigInteger;
if v == 0 goto label;
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.math.BigInteger)>(v);
return v;
label:
v = v instanceof java.lang.Byte;
if v != 0 goto label;
v = v instanceof java.lang.Short;
if v != 0 goto label;
v = v instanceof java.lang.Integer;
if v != 0 goto label;
v = v instanceof java.lang.Long;
if v == 0 goto label;
label:
v = new java.math.BigDecimal;
v = virtualinvoke v.<java.lang.Number: long longValue()>();
specialinvoke v.<java.math.BigDecimal: void <init>(long)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v != 0 goto label;
v = v instanceof java.lang.Float;
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(double)>(v);
return v;
label:
v = new java.math.BigDecimal;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Number,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The given number (\"\u0001\" of class \u) does not have a parsable string representation");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
public static java.util.Comparator adaptPureComparator(java.util.function.BiFunction)
{
java.util.Comparator v;
java.util.function.BiFunction v;
v := @parameter: java.util.function.BiFunction;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_adaptPureComparator_0__3: java.util.Comparator bootstrap$(java.util.function.BiFunction)>(v);
return v;
}
public static java.util.stream.Stream range(long, long, long)
{
long v, v, v, v, v, v, v, v, v;
byte v, v, v;
java.util.stream.LongStream v, v;
java.lang.RuntimeException v;
java.util.stream.Stream v;
java.util.function.LongUnaryOperator v;
float v, v, v;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v = v cmp 0L;
if v != 0 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Step in range can\'t be 0");
throw v;
label:
v = v - v;
v = staticinvoke <java.lang.Math: float signum(float)>(v);
v = staticinvoke <java.lang.Math: float signum(float)>(v);
v = v cmpl v;
if v == 0 goto label;
v = 0L;
goto label;
label:
v = v - v;
v = v % v;
v = v cmp 0L;
if v != 0 goto label;
v = v - v;
v = v / v;
goto label;
label:
v = v - v;
v = v / v;
v = v + 1L;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_range_1__4: java.util.function.LongUnaryOperator bootstrap$(long)>(v);
v = staticinvoke <java.util.stream.LongStream: java.util.stream.LongStream iterate(long,java.util.function.LongUnaryOperator)>(v, v);
v = interfaceinvoke v.<java.util.stream.LongStream: java.util.stream.LongStream limit(long)>(v);
v = interfaceinvoke v.<java.util.stream.LongStream: java.util.stream.Stream boxed()>();
return v;
}
public static java.util.List init(java.util.List)
{
java.util.List v, v, v;
int v, v, v;
v := @parameter: java.util.List;
if v != null goto label;
return null;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v > 1 goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
return v;
}
public static java.util.List sort(java.util.List)
{
java.util.List v;
java.util.Comparator v;
java.util.ArrayList v;
v := @parameter: java.util.List;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = <org.finos.legend.engine.plan.dependencies.util.Library: java.util.Comparator DEFAULT_COMPARATOR>;
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
return v;
}
public static java.util.List reverse(java.util.List)
{
java.util.List v;
java.util.ArrayList v;
v := @parameter: java.util.List;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
staticinvoke <java.util.Collections: void reverse(java.util.List)>(v);
return v;
}
public static java.lang.Object fold(java.util.List, java.util.function.BiFunction, java.lang.Object)
{
java.util.List v;
java.util.stream.Stream v;
java.util.function.BiFunction v, v;
java.lang.Object v, v;
java.util.function.BinaryOperator v;
v := @parameter: java.util.List;
v := @parameter: java.util.function.BiFunction;
v := @parameter: java.lang.Object;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_fold_2__5: java.util.function.BinaryOperator bootstrap$()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.util.function.BiFunction adaptPureAccumulator(java.util.function.BiFunction)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object reduce(java.lang.Object,java.util.function.BiFunction,java.util.function.BinaryOperator)>(v, v, v);
return v;
}
public static java.util.function.BiFunction adaptPureAccumulator(java.util.function.BiFunction)
{
java.util.function.BiFunction v, v;
v := @parameter: java.util.function.BiFunction;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_adaptPureAccumulator_3__6: java.util.function.BiFunction bootstrap$(java.util.function.BiFunction)>(v);
return v;
}
public static java.util.List sort(java.util.List, java.util.Comparator)
{
java.util.List v;
java.util.Comparator v;
java.util.ArrayList v;
v := @parameter: java.util.List;
v := @parameter: java.util.Comparator;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
return v;
}
public static java.util.List removeDuplicates(java.util.List, java.util.function.Function, java.util.function.BiPredicate)
{
java.util.function.Function v, v, v;
java.util.function.BiPredicate v;
java.util.stream.Collector v, v, v, v;
java.util.function.Predicate v, v, v, v, v;
java.util.List v;
java.util.stream.Stream v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @parameter: java.util.List;
v := @parameter: java.util.function.Function;
v := @parameter: java.util.function.BiPredicate;
if v != null goto label;
if v != null goto label;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream distinct()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
label:
if v != null goto label;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.util.function.Predicate distinctByKey(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
label:
if v != null goto label;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_removeDuplicates_4__8: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.util.function.Predicate distinctByEql(java.util.function.BiPredicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_removeDuplicates_5__9: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_removeDuplicates_6__10: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.util.function.Predicate distinctByEql(java.util.function.BiPredicate)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_removeDuplicates_7__7: java.util.function.Predicate bootstrap$(java.util.function.Predicate,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static java.util.List removeAll(java.util.List, java.util.List, java.util.function.BiPredicate)
{
java.util.function.Predicate v, v;
java.util.function.BiPredicate v;
java.util.List v, v;
java.util.stream.Stream v, v, v, v;
java.lang.Object v, v;
java.util.stream.Collector v, v;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v := @parameter: java.util.function.BiPredicate;
if v != null goto label;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_removeAll_8__12: java.util.function.Predicate bootstrap$(java.util.List)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
label:
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_removeAll_10__11: java.util.function.Predicate bootstrap$(java.util.List,java.util.function.BiPredicate)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static boolean contains(java.util.List, java.lang.Object, java.util.function.BiFunction)
{
java.util.List v;
java.util.stream.Stream v;
java.util.function.Predicate v;
java.util.function.BiFunction v;
java.lang.Object v;
boolean v;
v := @parameter: java.util.List;
v := @parameter: java.lang.Object;
v := @parameter: java.util.function.BiFunction;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_contains_11__13: java.util.function.Predicate bootstrap$(java.util.function.BiFunction,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
return v;
}
public static boolean contains(java.lang.Object, java.lang.Object, java.util.function.BiFunction)
{
java.util.function.BiFunction v;
java.lang.Object v, v, v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: java.util.function.BiFunction;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
return v;
}
public static java.util.List repeat(long, java.lang.Object)
{
java.util.List v, v;
byte v;
java.lang.Object v;
long v;
v := @parameter: long;
v := @parameter: java.lang.Object;
v = v cmp 0L;
if v > 0 goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = staticinvoke <java.util.Collections: java.util.List nCopies(int,java.lang.Object)>(v, v);
return v;
}
public static java.lang.Object uniqueValueOnly(java.util.List, java.lang.Object)
{
java.util.List v;
java.util.stream.Stream v, v;
int v;
java.lang.Object v, v, v;
java.util.stream.Collector v;
v := @parameter: java.util.List;
v := @parameter: java.lang.Object;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream distinct()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
goto label;
label:
v = v;
label:
return v;
}
public static java.lang.Object uniqueValueOnly(java.lang.Object, java.lang.Object)
{
java.lang.Object v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
if v == null goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static java.util.List dropAt(java.util.List, long, long)
{
long v, v, v, v;
java.lang.IllegalArgumentException v;
java.util.ArrayList v;
java.util.List v, v, v;
byte v, v, v;
int v, v, v;
v := @parameter: java.util.List;
v := @parameter: long;
v := @parameter: long;
v = v cmp 0L;
if v < 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v cmp v;
if v < 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Invalid index");
throw v;
label:
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = v + v;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v cmp v;
if v > 0 goto label;
v = v + v;
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(v, v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
return v;
}
public static java.lang.String hash(java.lang.String, java.lang.Enum)
{
java.lang.IllegalArgumentException v;
java.lang.Enum v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Enum;
v = virtualinvoke v.<java.lang.Enum: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("MD5");
if v == 0 goto label;
v = staticinvoke <org.apache.commons.codec.digest.DigestUtils: java.lang.String md5Hex(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("SHA1");
if v == 0 goto label;
v = staticinvoke <org.apache.commons.codec.digest.DigestUtils: java.lang.String sha1Hex(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("SHA256");
if v == 0 goto label;
v = staticinvoke <org.apache.commons.codec.digest.DigestUtils: java.lang.String sha256Hex(java.lang.String)>(v);
return v;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid hash type \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
public static java.lang.String decodeBase64(java.lang.String)
{
byte[] v, v;
java.nio.charset.Charset v, v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v = new java.lang.String;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = staticinvoke <org.apache.commons.codec.binary.Base64: byte[] decodeBase64(byte[])>(v);
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.lang.String: void <init>(byte[],java.nio.charset.Charset)>(v, v);
return v;
}
public static java.lang.String encodeBase64(java.lang.String)
{
byte[] v;
java.nio.charset.Charset v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = staticinvoke <org.apache.commons.codec.binary.Base64: java.lang.String encodeBase64URLSafeString(byte[])>(v);
return v;
}
public static java.lang.String decodeUrl(java.lang.String, java.lang.String)
{
java.lang.RuntimeException v;
java.lang.String v, v, v;
java.io.UnsupportedEncodingException v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = staticinvoke <java.net.URLDecoder: java.lang.String decode(java.lang.String,java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.UnsupportedEncodingException from label to label with label;
}
public static java.lang.String encodeUrl(java.lang.String, java.lang.String)
{
java.lang.RuntimeException v;
java.lang.String v, v, v;
java.io.UnsupportedEncodingException v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = staticinvoke <java.net.URLEncoder: java.lang.String encode(java.lang.String,java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.UnsupportedEncodingException from label to label with label;
}
public static java.util.function.Predicate distinctByKey(java.util.function.Function)
{
java.util.concurrent.ConcurrentHashMap$KeySetView v;
java.util.function.Function v;
java.util.function.Predicate v;
v := @parameter: java.util.function.Function;
v = staticinvoke <java.util.concurrent.ConcurrentHashMap: java.util.concurrent.ConcurrentHashMap$KeySetView newKeySet()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_distinctByKey_12__14: java.util.function.Predicate bootstrap$(java.util.Set,java.util.function.Function)>(v, v);
return v;
}
public static java.util.function.Predicate distinctByEql(java.util.function.BiPredicate)
{
java.util.function.BiPredicate v;
java.util.function.Predicate v;
java.util.ArrayList v;
v := @parameter: java.util.function.BiPredicate;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$lambda_distinctByEql_14__15: java.util.function.Predicate bootstrap$(java.util.List,java.util.function.BiPredicate)>(v, v);
return v;
}
public static java.lang.Object first(java.lang.Object)
{
java.lang.Object v;
v := @parameter: java.lang.Object;
return v;
}
public static java.lang.Object first(java.util.List)
{
int v;
java.lang.Object v;
java.util.List v;
v := @parameter: java.util.List;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 0 goto label;
label:
return null;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
return v;
}
public static java.lang.Object at(java.lang.Object, long)
{
java.lang.IllegalStateException v, v;
byte v;
java.lang.Object v;
long v;
java.lang.String v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The system is trying to get an element at offset \u where the collection is of size 0");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v cmp 0L;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The system is trying to get an element at offset \u where the collection is of size 1");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static java.lang.Object at(java.util.List, long)
{
java.lang.IllegalStateException v, v;
long v;
java.util.List v;
byte v, v;
int v, v;
java.lang.Object v;
java.lang.String v, v;
v := @parameter: java.util.List;
v := @parameter: long;
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The system is trying to get an element at offset \u where the collection is of size 0");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v cmp 0L;
if v < 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v cmp v;
if v < 0 goto label;
label:
v = new java.lang.IllegalStateException;
v = interfaceinvoke v.<java.util.List: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The system is trying to get an element at offset \u where the collection is of size \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
return v;
}
public static java.lang.Integer indexOf(java.lang.Object, java.lang.Object)
{
byte v;
int v;
java.lang.Object v, v;
java.lang.Integer v, v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
if v != null goto label;
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 0;
goto label;
label:
v = -1;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
}
public static java.lang.Integer indexOf(java.util.List, java.lang.Object)
{
java.util.List v;
int v, v, v;
java.lang.Object v;
java.lang.Integer v, v;
v := @parameter: java.util.List;
v := @parameter: java.lang.Object;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 0 goto label;
label:
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
label:
v = interfaceinvoke v.<java.util.List: int indexOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
}
public static java.lang.Object match(java.lang.Object, java.util.List, java.util.List)
{
java.lang.RuntimeException v;
java.util.List v, v;
int v, v;
java.lang.Object v, v, v, v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.function.Predicate: boolean test(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
return v;
label:
v = v + 1;
goto label;
label:
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Match failure for object:\u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
}
public static java.lang.Object toOne(java.lang.Object)
{
java.lang.IllegalStateException v;
java.lang.Object v;
v := @parameter: java.lang.Object;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot cast a collection of size 0 to multiplicity [1]");
throw v;
label:
return v;
}
public static java.lang.Object toOne(java.util.List)
{
java.lang.IllegalStateException v;
java.util.List v;
int v, v;
java.lang.Object v;
java.lang.String v;
v := @parameter: java.util.List;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v == 1 goto label;
label:
v = new java.lang.IllegalStateException;
if v != null goto label;
v = 0;
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot cast a collection of size \u to multiplicity [1]");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
return v;
}
public static java.util.List toOneMany(java.lang.Object)
{
java.lang.IllegalStateException v;
java.lang.Object v;
java.util.List v;
v := @parameter: java.lang.Object;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot cast a collection of size 0 to multiplicity [1..*]");
throw v;
label:
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
return v;
}
public static java.util.List toOneMany(java.util.List)
{
java.lang.IllegalStateException v;
java.util.List v;
int v, v;
java.lang.String v;
v := @parameter: java.util.List;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= 1 goto label;
label:
v = new java.lang.IllegalStateException;
if v != null goto label;
v = 0;
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot cast a collection of size \u to multiplicity [1..*]");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static java.lang.String pureToString(java.lang.Object)
{
java.text.DecimalFormatSymbols v;
byte v;
java.util.Locale v;
java.lang.String v, v, v, v, v;
boolean v, v, v, v;
double v, v;
java.text.DecimalFormat v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v = v instanceof org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: boolean hasMinute()>();
if v == 0 goto label;
v = "+0000";
goto label;
label:
v = "";
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
return v;
label:
v = v instanceof java.lang.Double;
if v != 0 goto label;
v = v instanceof java.lang.Float;
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = v cmpl 0.0;
if v != 0 goto label;
return "0.0";
label:
v = new java.text.DecimalFormat;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = staticinvoke <java.text.DecimalFormatSymbols: java.text.DecimalFormatSymbols getInstance(java.util.Locale)>(v);
specialinvoke v.<java.text.DecimalFormat: void <init>(java.lang.String,java.text.DecimalFormatSymbols)>("0.0", v);
virtualinvoke v.<java.text.DecimalFormat: void setMaximumFractionDigits(int)>(340);
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = virtualinvoke v.<java.text.DecimalFormat: java.lang.String format(double)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
return v;
}
public static java.lang.String toRepresentation(java.lang.Object)
{
java.lang.Object v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v, v;
v := @parameter: java.lang.Object;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\'", "\\\'");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\'\u0001\'");
return v;
label:
v = v instanceof org.finos.legend.engine.plan.dependencies.domain.date.PureDate;
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.String pureToString(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("%\u0001");
return v;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001D");
return v;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.String pureToString(java.lang.Object)>(v);
return v;
}
private static int findEndOfDateFormatString(java.lang.String, int)
{
char v, v;
java.lang.IllegalArgumentException v;
int v, v, v, v;
java.lang.String v, v;
boolean v, v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 123 goto label;
label:
v = (int) -1;
return v;
label:
v = 0;
v = 0;
v = v + 1;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 0 goto label;
if v != 34 goto label;
if v != 0 goto label;
v = 0;
goto label;
label:
if v != 92 goto label;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
if v != 34 goto label;
v = 1;
goto label;
label:
if v != 125 goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not find end of date format starting at index \u of: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
private static void appendZeros(java.lang.StringBuilder, int)
{
int v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
label:
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(48);
v = v - 1;
goto label;
label:
return;
}
private static boolean isSign(char)
{
char v;
boolean v;
v := @parameter: char;
if v == 45 goto label;
if v != 43 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isSigned(java.lang.String)
{
char v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean isSign(char)>(v);
return v;
}
private static int getSignCount(java.lang.String)
{
int v;
char v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean isSign(char)>(v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
return v;
}
private static int getZeroCountFrom(java.lang.String, int)
{
int v, v, v;
char v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 48 goto label;
v = v + 1;
goto label;
label:
v = v - v;
return v;
}
private static void appendIntegerString(java.lang.StringBuilder, java.lang.String, int)
{
int v, v, v, v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: int;
if v >= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: boolean isSigned(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int getSignCount(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
v = v - v;
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendZeros(java.lang.StringBuilder,int)>(v, v);
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()>();
v = v - v;
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendZeros(java.lang.StringBuilder,int)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
return;
}
private static void appendFloatString(java.lang.StringBuilder, java.lang.String)
{
int v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v = (int) -1;
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendFloatString(java.lang.StringBuilder,java.lang.String,int)>(v, v, v);
return;
}
private static void appendFloatString(java.lang.StringBuilder, java.lang.String, int)
{
java.math.BigDecimal v, v, v, v, v, v;
boolean v, v, v;
java.math.RoundingMode v, v, v;
java.math.MathContext v, v, v;
java.lang.StringBuilder 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;
java.lang.String v, v, v, v, v;
char v, v, v;
java.lang.RuntimeException v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: int;
v = (int) -1;
if v != v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
v = (int) -1;
if v != v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
if v != v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v >= 53 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
goto label;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int getSignCount(java.lang.String)>(v);
v = v - v;
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String)>(v);
v = new java.math.MathContext;
v = <java.math.RoundingMode: java.math.RoundingMode HALF_EVEN>;
specialinvoke v.<java.math.MathContext: void <init>(int,java.math.RoundingMode)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal round(java.math.MathContext)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
v = (int) -1;
if v != v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
v = (int) -1;
if v != v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendZeros(java.lang.StringBuilder,int)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = v - 1;
if v > v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v - v;
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendZeros(java.lang.StringBuilder,int)>(v, v);
goto label;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int getSignCount(java.lang.String)>(v);
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int getZeroCountFrom(java.lang.String,int)>(v, v);
v = v + v;
v = v - v;
if v <= 0 goto label;
v = v + v;
goto label;
label:
v = v + 1;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int getZeroCountFrom(java.lang.String,int)>(v, v);
v = v - v;
label:
if v <= 0 goto label;
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String)>(v);
v = new java.math.MathContext;
v = <java.math.RoundingMode: java.math.RoundingMode HALF_EVEN>;
specialinvoke v.<java.math.MathContext: void <init>(int,java.math.RoundingMode)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal round(java.math.MathContext)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error appending float string \'\u0001\' at precision \u0001: rounding to precision \u failed");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendFloatString(java.lang.StringBuilder,java.lang.String,int)>(v, v, v);
goto label;
label:
if v >= 0 goto label;
v = v + v;
v = v + 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
goto label;
label:
v = v + v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v >= 53 goto label;
v = 0;
goto label;
label:
if v <= 53 goto label;
v = 1;
goto label;
label:
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String)>(v);
v = new java.math.MathContext;
v = <java.math.RoundingMode: java.math.RoundingMode UP>;
specialinvoke v.<java.math.MathContext: void <init>(int,java.math.RoundingMode)>(1, v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal round(java.math.MathContext)>(v);
v = virtualinvoke v.<java.math.BigDecimal: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v < 54 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
if v == 0 goto label;
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(49);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
label:
return;
}
public static java.lang.String format(java.lang.String, java.util.List)
{
java.lang.Integer v, v;
java.lang.StringBuilder v;
long v;
java.lang.String 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;
java.lang.IllegalStateException v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.NoSuchElementException v;
java.util.Iterator v;
char v, v, v, v, v, v;
java.lang.IllegalArgumentException v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v = 0;
v = virtualinvoke v.<java.lang.String: int length()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = new java.lang.StringBuilder;
v = v * 2;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
label:
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 37 goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 37 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(37);
goto label;
label:
if v != 115 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.String pureToString(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != 114 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.String toRepresentation(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != 116 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Expected Date, got: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: int findEndOfDateFormatString(java.lang.String,int)>(v, v);
v = (int) -1;
if v != v goto label;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.String pureToString(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.plan.dependencies.domain.date.PureDate: java.lang.String format(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
if v != 100 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
goto label;
label:
v = v instanceof java.lang.Integer;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
goto label;
label:
v = v instanceof java.math.BigInteger;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Expected Integer, got: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
if v != 48 goto label;
v = v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 100 goto label;
v = new java.lang.IllegalArgumentException;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,int,int)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid format specifier: %\u0001\n\u0001\n\u0001\n\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof java.lang.Long;
if v != 0 goto label;
v = v instanceof java.lang.Integer;
if v != 0 goto label;
v = v instanceof java.math.BigInteger;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Expected Integer, got: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendIntegerString(java.lang.StringBuilder,java.lang.String,int)>(v, v, v);
v = v + 1;
goto label;
label:
if v != 102 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof java.lang.Double;
if v != 0 goto label;
v = v instanceof java.lang.Float;
if v != 0 goto label;
v = v instanceof java.math.BigDecimal;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Expected Float, got: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.String pureToString(java.lang.Object)>(v);
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendFloatString(java.lang.StringBuilder,java.lang.String)>(v, v);
goto label;
label:
if v != 46 goto label;
v = v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 102 goto label;
v = new java.lang.IllegalArgumentException;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid format specifier: %\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof java.lang.Double;
if v != 0 goto label;
v = v instanceof java.lang.Float;
if v != 0 goto label;
v = v instanceof java.math.BigDecimal;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Expected Float, got: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: java.lang.String pureToString(java.lang.Object)>(v);
staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: void appendFloatString(java.lang.StringBuilder,java.lang.String,int)>(v, v, v);
v = v + 1;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (char)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid format specifier: %\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = interfaceinvoke v.<java.util.List: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Too few arguments passed to format function. Format expression \"\u0001\", number of arguments [\u]");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
v = interfaceinvoke v.<java.util.List: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unused format args. [\u] arguments provided to expression \"\u0001\"");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
catch java.util.NoSuchElementException from label to label with label;
}
public static java.util.List split(java.lang.String, java.lang.String)
{
java.util.ArrayList v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = 0;
label:
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 = virtualinvoke v.<java.lang.String: int length()>();
goto label;
label:
v = v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = (int) -1;
if v == v goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v < v goto label;
label:
return v;
}
public static java.util.List chunk(java.lang.String, int)
{
java.util.ArrayList v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = new java.util.ArrayList;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = v - 1;
v = v / v;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + v;
goto label;
label:
return v;
}
public static java.lang.String repeatString(java.lang.String, int)
{
java.util.List v;
int v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <java.util.Collections: java.util.List nCopies(int,java.lang.Object)>(v, v);
v = staticinvoke <java.lang.String: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>("", v);
return v;
}
public static java.lang.String toUpperFirstCharacter(java.lang.String)
{
java.lang.String v, v, v, v, v;
boolean v;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("");
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, 1);
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
return v;
}
public static int safeCompare(java.lang.String, java.lang.String)
{
byte v;
int v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v != null goto label;
if v != null goto label;
v = 0;
goto label;
label:
v = -1;
label:
return v;
label:
if v != null goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: int compareTo(java.lang.String)>(v);
label:
return v;
}
public static boolean pureAssert(boolean, java.util.function.Supplier)
{
java.lang.IllegalStateException v;
java.lang.Object v;
java.util.function.Supplier v;
boolean v;
v := @parameter: boolean;
v := @parameter: java.util.function.Supplier;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return 1;
}
public static double sqrt(java.lang.Number)
{
java.lang.RuntimeException v;
java.lang.String v;
java.lang.Number v;
boolean v;
double v, v;
v := @parameter: java.lang.Number;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.lang.Math: double sqrt(double)>(v);
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v == 0 goto label;
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Number)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("can\'t compute sqrt for input: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static double cbrt(java.lang.Number)
{
java.lang.RuntimeException v;
java.lang.String v;
java.lang.Number v;
boolean v;
double v, v;
v := @parameter: java.lang.Number;
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = staticinvoke <java.lang.Math: double cbrt(double)>(v);
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v == 0 goto label;
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Number)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("can\'t compute cbrt for input: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static java.lang.Number stdDev(java.util.List, boolean)
{
java.lang.Double v;
double[] v;
java.lang.RuntimeException v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v;
java.util.List v;
int v, v, v;
java.lang.Object v;
boolean v, v;
double v, v;
v := @parameter: java.util.List;
v := @parameter: boolean;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Unable to process empty list");
throw v;
label:
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList withAll(java.lang.Iterable)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
v = newarray (double)[v];
v = 0;
label:
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v[v] = v;
v = v + 1;
goto label;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: double standardDeviation(double[],boolean)>(v, v);
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static double standardDeviation(double[], boolean)
{
double[] v;
boolean v;
double v, v;
v := @parameter: double[];
v := @parameter: boolean;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: double variance(double[],boolean)>(v, v);
v = staticinvoke <java.lang.Math: double sqrt(double)>(v);
return v;
}
public static java.lang.Number variance(java.util.List, boolean)
{
java.lang.Double v;
double[] v;
java.lang.RuntimeException v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
org.eclipse.collections.api.list.MutableList v;
java.util.List v;
int v, v, v;
java.lang.Object v;
boolean v, v;
double v, v;
v := @parameter: java.util.List;
v := @parameter: boolean;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Unable to process empty list");
throw v;
label:
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList withAll(java.lang.Iterable)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
v = newarray (double)[v];
v = 0;
label:
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v[v] = v;
v = v + 1;
goto label;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: double variance(double[],boolean)>(v, v);
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
return v;
}
public static double variance(double[], boolean)
{
double[] v;
java.lang.IllegalArgumentException v;
int v, v, v;
boolean v;
double v, v, v, v, v, v, v;
v := @parameter: double[];
v := @parameter: boolean;
v = lengthof v;
if v != 1 goto label;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("calculating sample variance for only 1 number is not allowed");
throw v;
label:
return 0.0;
label:
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library: double mean(double[])>(v);
v = 0.0;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v - v;
v = v * v;
v = v + v;
v = v + 1;
goto label;
label:
if v == 0 goto label;
v = v - 1;
v = v / v;
return v;
label:
v = v / v;
return v;
}
private static double mean(double[])
{
double[] v;
int v, v;
java.lang.IllegalArgumentException v;
double v, v, v;
v := @parameter: double[];
v = lengthof v;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Cannot compute mean with no values");
throw v;
label:
v = v[0];
v = 1;
label:
if v >= v goto label;
v = v[v];
v = v + v;
v = v + 1;
goto label;
label:
v = v / v;
return v;
}
public static double coTangent(double)
{
double v, v, v;
v := @parameter: double;
v = staticinvoke <java.lang.Math: double tan(double)>(v);
v = 1.0 / v;
return v;
}
public static double jaroWinklerSimilarity(java.lang.String, java.lang.String)
{
java.lang.Double v;
org.apache.commons.text.similarity.JaroWinklerSimilarity v;
java.lang.String v, v;
double v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new org.apache.commons.text.similarity.JaroWinklerSimilarity;
specialinvoke v.<org.apache.commons.text.similarity.JaroWinklerSimilarity: void <init>()>();
v = virtualinvoke v.<org.apache.commons.text.similarity.JaroWinklerSimilarity: java.lang.Double apply(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
return v;
}
public static long levenshteinDistance(java.lang.String, java.lang.String)
{
int v;
org.apache.commons.text.similarity.LevenshteinDistance v;
java.lang.String v, v;
java.lang.Integer v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new org.apache.commons.text.similarity.LevenshteinDistance;
specialinvoke v.<org.apache.commons.text.similarity.LevenshteinDistance: void <init>()>();
v = virtualinvoke v.<org.apache.commons.text.similarity.LevenshteinDistance: java.lang.Integer apply(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
return v;
}
static void <clinit>()
{
java.util.List v;
java.util.TimeZone v;
java.lang.Class[] v;
java.util.Comparator v;
v = newarray (java.lang.Class)[5];
v[0] = class "Ljava/lang/Long;";
v[1] = class "Ljava/lang/Double;";
v[2] = class "Lorg/finos/legend/engine/plan/dependencies/domain/date/PureDate;";
v[3] = class "Ljava/lang/Boolean;";
v[4] = class "Ljava/lang/String;";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
<org.finos.legend.engine.plan.dependencies.util.Library: java.util.List PRIMITIVE_CLASS_COMPARISON_ORDER> = v;
v = staticinvoke <org.finos.legend.engine.plan.dependencies.util.Library$compareInt__18: java.util.Comparator bootstrap$()>();
<org.finos.legend.engine.plan.dependencies.util.Library: java.util.Comparator DEFAULT_COMPARATOR> = v;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>("GMT");
<org.finos.legend.engine.plan.dependencies.util.Library: java.util.TimeZone GMT_TIME_ZONE> = v;
return;
}
}