public class org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension extends java.lang.Object implements org.finos.legend.engine.repl.autocomplete.CompleterExtension
{
public void <init>()
{
org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension v;
v := @this: org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public org.finos.legend.engine.repl.autocomplete.CompletionResult extraClassInstanceProcessor(java.lang.Object, org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel)
{
org.eclipse.collections.api.block.predicate.Predicate v, v;
org.eclipse.collections.api.list.MutableList v, v, v, v, v, v, v, v;
org.eclipse.collections.api.RichIterable v, v, v, v, v;
boolean v, v, v, v, v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel v;
java.util.List v;
org.finos.legend.engine.repl.autocomplete.CompletionResult v, v, v;
org.eclipse.collections.api.block.function.Function v, v;
org.eclipse.collections.api.factory.list.MutableListFactory v, v, v;
org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension;
v := @parameter: java.lang.Object;
v := @parameter: org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel;
v = v instanceof org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.RelationStoreAccessor;
if v == 0 goto label;
v = <org.eclipse.collections.impl.factory.Lists: org.eclipse.collections.api.factory.list.MutableListFactory mutable>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.classInstance.relation.RelationStoreAccessor: java.util.List path>;
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: java.lang.String makeString(java.lang.String)>("::");
v = <org.finos.legend.engine.repl.autocomplete.parser.ParserFixer: java.lang.String magicToken>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(v, "");
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.eclipse.collections.api.RichIterable getAllStores()>();
v = staticinvoke <org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension$lambda_extraClassInstanceProcessor_5efd4187_1__7: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.RichIterable select(org.eclipse.collections.api.block.predicate.Predicate)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(v, "");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("::", "");
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database: org.eclipse.collections.api.RichIterable _schemas()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: boolean isEmpty()>();
if v == 0 goto label;
v = <org.eclipse.collections.impl.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 empty()>();
goto label;
label:
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Database: org.eclipse.collections.api.RichIterable _schemas()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: java.lang.Object getFirst()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.Schema: org.eclipse.collections.api.RichIterable _tables()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
label:
v = staticinvoke <org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension$lambda_extraClassInstanceProcessor_5f3056c_1__9: org.eclipse.collections.api.block.predicate.Predicate bootstrap$(java.lang.String)>(v);
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 = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.relational.metamodel.relation.Table: java.lang.String _name()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object getLast()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.finos.legend.engine.repl.autocomplete.CompletionResult;
v = <org.eclipse.collections.impl.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 empty()>();
specialinvoke v.<org.finos.legend.engine.repl.autocomplete.CompletionResult: void <init>(org.eclipse.collections.api.list.MutableList)>(v);
return v;
label:
v = new org.finos.legend.engine.repl.autocomplete.CompletionResult;
v = staticinvoke <org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension$lambda_extraClassInstanceProcessor_9d7e9c99_1__10: 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);
specialinvoke v.<org.finos.legend.engine.repl.autocomplete.CompletionResult: void <init>(org.eclipse.collections.api.list.MutableList)>(v);
return v;
label:
v = new org.finos.legend.engine.repl.autocomplete.CompletionResult;
v = staticinvoke <org.finos.legend.engine.repl.relational.autocomplete.RelationalCompleterExtension$lambda_extraClassInstanceProcessor_9d7e9c99_2__8: org.eclipse.collections.api.block.function.Function bootstrap$()>();
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 toList()>();
specialinvoke v.<org.finos.legend.engine.repl.autocomplete.CompletionResult: void <init>(org.eclipse.collections.api.list.MutableList)>(v);
return v;
label:
return null;
}
private static boolean nameMatch(org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement, java.lang.String)
{
org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement v;
int v, v;
java.lang.String v, v;
boolean v, v, v;
v := @parameter: org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement;
v := @parameter: java.lang.String;
v = staticinvoke <org.finos.legend.pure.m.navigation.PackageableElement.PackageableElement: java.lang.String getUserPathForPackageableElement(org.finos.legend.pure.m.coreinstance.CoreInstance)>(v);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= v goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
return v;
}
}