public class org.finos.legend.engine.repl.shared.DocumentationHelper extends java.lang.Object
{
private static final org.eclipse.collections.api.map.MutableMap MODULE_URLS;
private static final int ANSI_ATTR_WIDTH;
public void <init>()
{
org.finos.legend.engine.repl.shared.DocumentationHelper v;
v := @this: org.finos.legend.engine.repl.shared.DocumentationHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.String generateANSIFunctionDocumentation(org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation, org.eclipse.collections.api.list.MutableList)
{
org.eclipse.collections.api.block.predicate.Predicate v, v, v, v;
java.util.Map v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.eclipse.collections.api.block.function.Function v, v, v, v;
org.eclipse.collections.api.map.MutableMap v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.pct.functions.model.FunctionDefinition v;
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v, v, v, v;
org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation v;
java.util.List v, v, v, v;
org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure v;
java.util.Optional v, v, v, v, v, v;
java.lang.String[] v, v;
org.eclipse.collections.api.factory.list.MutableListFactory v;
java.util.function.Function v, v, v;
org.eclipse.collections.api.block.function.Function v;
int v, v, v, v;
org.finos.legend.pure.m.pct.shared.model.ReportScope v, v, v;
java.lang.Object v, v, v, v, v;
v := @parameter: org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation;
v := @parameter: org.eclipse.collections.api.list.MutableList;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v.<org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation: org.finos.legend.pure.m.pct.functions.model.FunctionDefinition functionDefinition>;
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.lang.String name>;
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.lang.String _package>;
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");
v = <org.finos.legend.engine.repl.shared.DocumentationHelper: org.eclipse.collections.api.map.MutableMap MODULE_URLS>;
v = v.<org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation: org.finos.legend.pure.m.pct.shared.model.ReportScope reportScope>;
v = v.<org.finos.legend.pure.m.pct.shared.model.ReportScope: java.lang.String module>;
v = interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.lang.String sourceId>;
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");
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.lang.String sourceId>;
v = v.<org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation: org.finos.legend.pure.m.pct.shared.model.ReportScope reportScope>;
v = v.<org.finos.legend.pure.m.pct.shared.model.ReportScope: java.lang.String filePath>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.lang.String sourceId>;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.util.List signatures>;
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_23a7caca_1__13: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = staticinvoke <org.eclipse.collections.impl.utility.ListIterate: java.util.Optional detectOptional(java.util.List,org.eclipse.collections.api.block.predicate.Predicate)>(v, v);
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_0__14: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.util.List signatures>;
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_94361f5_1__15: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = staticinvoke <org.eclipse.collections.impl.utility.ListIterate: java.util.Optional detectOptional(java.util.List,org.eclipse.collections.api.block.predicate.Predicate)>(v, v);
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_1__16: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.util.List signatures>;
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_e32d3aac_1__17: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = staticinvoke <org.eclipse.collections.impl.utility.ListIterate: java.util.Optional detectOptional(java.util.List,org.eclipse.collections.api.block.predicate.Predicate)>(v, v);
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_2__18: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = <org.eclipse.collections.api.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = newarray (java.lang.String)[1];
if v == null goto label;
v = staticinvoke <org.finos.legend.engine.repl.shared.REPLHelper: java.lang.String ansiGreen(java.lang.String)>(v);
goto label;
label:
v = null;
label:
v[0] = v;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.list.MutableListFactory: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object[])>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList 'with'(java.lang.Object)>(v);
v = v.<org.finos.legend.pure.m.pct.functions.model.FunctionDefinition: java.util.List signatures>;
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_d1636c42_1__19: org.eclipse.collections.api.block.function.Function bootstrap$(org.finos.legend.pure.m.pct.functions.model.FunctionDefinition)>(v);
v = staticinvoke <org.eclipse.collections.impl.utility.ListIterate: org.eclipse.collections.api.list.MutableList collect(java.util.List,org.eclipse.collections.api.block.function.Function)>(v, v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList withAll(java.lang.Iterable)>(v);
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$nonNull__20: org.eclipse.collections.api.block.predicate.Predicate bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_e856008b_1__21: org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure bootstrap$(java.lang.StringBuilder)>(v);
interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: void forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)>(v);
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper: java.lang.String ansiAttr(java.lang.String)>("path");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper: java.lang.String ansiAttr(java.lang.String)>("grouping");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation: org.finos.legend.pure.m.pct.shared.model.ReportScope reportScope>;
v = v.<org.finos.legend.pure.m.pct.shared.model.ReportScope: java.lang.String module>;
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[])>("(\u) \u0001");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper: java.lang.String ansiAttr(java.lang.String)>("src");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
if v == null goto label;
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper: java.lang.String ansiAttr(java.lang.String)>("doc");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = staticinvoke <org.finos.legend.engine.repl.shared.REPLHelper: java.lang.String wrap(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\n");
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper: java.lang.String ansiAttr(java.lang.String)>(null);
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[])>("\n\u0001");
v = staticinvoke <org.eclipse.collections.impl.utility.ArrayIterate: java.lang.String makeString(java.lang.Object[],java.lang.String)>(v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
label:
if v == null goto label;
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper: java.lang.String ansiAttr(java.lang.String)>("usage");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
label:
v = v.<org.finos.legend.pure.m.pct.aggregate.model.FunctionDocumentation: java.util.Map functionTestResults>;
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_77512710_1__22: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = staticinvoke <org.eclipse.collections.impl.utility.MapIterate: org.eclipse.collections.api.map.MutableMap collect(java.util.Map,org.eclipse.collections.api.block.function.Function)>(v, v);
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_3d664d77_1__23: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList collect(org.eclipse.collections.api.block.function.Function)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList toSortedList()>();
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$length__24: org.eclipse.collections.api.block.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList collect(org.eclipse.collections.api.block.function.Function)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object max()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
v = v + 2;
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String rightPad(java.lang.String,int)>("compatibility", v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" :");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
v = staticinvoke <org.finos.legend.engine.repl.shared.DocumentationHelper$lambda_generateANSIFunctionDocumentation_59e4dc73_1__25: org.eclipse.collections.api.block.function.Function bootstrap$(int,org.eclipse.collections.api.map.MutableMap)>(v, v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: org.eclipse.collections.api.list.MutableList collect(org.eclipse.collections.api.block.function.Function)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.String makeString(java.lang.String)>("\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static java.lang.String ansiAttr(java.lang.String)
{
java.lang.String v, v, v, v;
v := @parameter: java.lang.String;
if v != null goto label;
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String rightPad(java.lang.String,int)>("", 11);
return v;
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String rightPad(java.lang.String,int)>(v, 8);
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[])>("\u : ");
return v;
}
static void <clinit>()
{
org.eclipse.collections.api.map.MutableMap v, v, v, v, v;
org.eclipse.collections.api.factory.map.MutableMapFactory v;
v = <org.eclipse.collections.impl.factory.Maps: org.eclipse.collections.api.factory.map.MutableMapFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.map.MutableMapFactory: org.eclipse.collections.api.map.MutableMap empty()>();
<org.finos.legend.engine.repl.shared.DocumentationHelper: org.eclipse.collections.api.map.MutableMap MODULE_URLS> = v;
v = <org.finos.legend.engine.repl.shared.DocumentationHelper: org.eclipse.collections.api.map.MutableMap MODULE_URLS>;
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("grammar", "https://github.com/finos/legend-pure/tree/master/legend-pure-core/legend-pure-m3-core/src/main/resources");
v = <org.finos.legend.engine.repl.shared.DocumentationHelper: org.eclipse.collections.api.map.MutableMap MODULE_URLS>;
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("essential", "https://github.com/finos/legend-pure/tree/master/legend-pure-core/legend-pure-m3-core/src/main/resources");
v = <org.finos.legend.engine.repl.shared.DocumentationHelper: org.eclipse.collections.api.map.MutableMap MODULE_URLS>;
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("standard", "https://github.com/finos/legend-engine/tree/master/legend-engine-core/legend-engine-core-pure/legend-engine-pure-code-functions-base/legend-engine-pure-functions-standard/src/main/resources/");
v = <org.finos.legend.engine.repl.shared.DocumentationHelper: org.eclipse.collections.api.map.MutableMap MODULE_URLS>;
interfaceinvoke v.<org.eclipse.collections.api.map.MutableMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("relation", "https://github.com/finos/legend-engine/tree/master/legend-engine-core/legend-engine-core-pure/legend-engine-pure-code-functions-relation/legend-engine-pure-functions-relation-pure/src/main/resources");
return;
}
}