public class org.apache.ibatis.builder.xml.XMLMapperBuilder extends org.apache.ibatis.builder.BaseBuilder
{
private final org.apache.ibatis.parsing.XPathParser parser;
private final org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant;
private final java.util.Map sqlFragments;
private final java.lang.String resource;
public void <init>(java.io.Reader, org.apache.ibatis.session.Configuration, java.lang.String, java.util.Map, java.lang.String)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.util.Map v;
org.apache.ibatis.session.Configuration v;
java.io.Reader v;
java.lang.String v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.io.Reader;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void <init>(java.io.Reader,org.apache.ibatis.session.Configuration,java.lang.String,java.util.Map)>(v, v, v, v);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: void setCurrentNamespace(java.lang.String)>(v);
return;
}
public void <init>(java.io.Reader, org.apache.ibatis.session.Configuration, java.lang.String, java.util.Map)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Properties v;
java.io.Reader v;
org.apache.ibatis.parsing.XPathParser v;
java.util.Map v;
org.apache.ibatis.session.Configuration v;
java.lang.String v;
org.apache.ibatis.builder.xml.XMLMapperEntityResolver v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.io.Reader;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v = new org.apache.ibatis.parsing.XPathParser;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: java.util.Properties getVariables()>();
v = new org.apache.ibatis.builder.xml.XMLMapperEntityResolver;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperEntityResolver: void <init>()>();
specialinvoke v.<org.apache.ibatis.parsing.XPathParser: void <init>(java.io.Reader,boolean,java.util.Properties,org.xml.sax.EntityResolver)>(v, 1, v, v);
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void <init>(org.apache.ibatis.parsing.XPathParser,org.apache.ibatis.session.Configuration,java.lang.String,java.util.Map)>(v, v, v, v);
return;
}
public void <init>(java.io.InputStream, org.apache.ibatis.session.Configuration, java.lang.String, java.util.Map, java.lang.String)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.util.Map v;
org.apache.ibatis.session.Configuration v;
java.lang.String v, v;
java.io.InputStream v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.io.InputStream;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void <init>(java.io.InputStream,org.apache.ibatis.session.Configuration,java.lang.String,java.util.Map)>(v, v, v, v);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: void setCurrentNamespace(java.lang.String)>(v);
return;
}
public void <init>(java.io.InputStream, org.apache.ibatis.session.Configuration, java.lang.String, java.util.Map)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Properties v;
org.apache.ibatis.parsing.XPathParser v;
java.util.Map v;
org.apache.ibatis.session.Configuration v;
java.lang.String v;
org.apache.ibatis.builder.xml.XMLMapperEntityResolver v;
java.io.InputStream v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.io.InputStream;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v = new org.apache.ibatis.parsing.XPathParser;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: java.util.Properties getVariables()>();
v = new org.apache.ibatis.builder.xml.XMLMapperEntityResolver;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperEntityResolver: void <init>()>();
specialinvoke v.<org.apache.ibatis.parsing.XPathParser: void <init>(java.io.InputStream,boolean,java.util.Properties,org.xml.sax.EntityResolver)>(v, 1, v, v);
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void <init>(org.apache.ibatis.parsing.XPathParser,org.apache.ibatis.session.Configuration,java.lang.String,java.util.Map)>(v, v, v, v);
return;
}
private void <init>(org.apache.ibatis.parsing.XPathParser, org.apache.ibatis.session.Configuration, java.lang.String, java.util.Map)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.parsing.XPathParser v;
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.util.Map v;
org.apache.ibatis.session.Configuration v;
java.lang.String v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XPathParser;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
specialinvoke v.<org.apache.ibatis.builder.BaseBuilder: void <init>(org.apache.ibatis.session.Configuration)>(v);
v = new org.apache.ibatis.builder.MapperBuilderAssistant;
specialinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: void <init>(org.apache.ibatis.session.Configuration,java.lang.String)>(v, v);
v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant> = v;
v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.parsing.XPathParser parser> = v;
v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.util.Map sqlFragments> = v;
v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.String resource> = v;
return;
}
public void parse()
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.parsing.XPathParser v;
org.apache.ibatis.session.Configuration v, v, v, v, v;
org.apache.ibatis.parsing.XNode v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.String resource>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: boolean isResourceLoaded(java.lang.String)>(v);
if v != 0 goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.parsing.XPathParser parser>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XPathParser: org.apache.ibatis.parsing.XNode evalNode(java.lang.String)>("/mapper");
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void configurationElement(org.apache.ibatis.parsing.XNode)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.String resource>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addLoadedResource(java.lang.String)>(v);
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void bindMapperForNamespace()>();
label:
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void parsePendingResultMaps(boolean)>(0);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void parsePendingCacheRefs(boolean)>(0);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void parsePendingStatements(boolean)>(0);
return;
}
public org.apache.ibatis.parsing.XNode getSqlFragment(java.lang.String)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Map v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.lang.String;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.util.Map sqlFragments>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
private void configurationElement(org.apache.ibatis.parsing.XNode)
{
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.lang.String v, v, v;
boolean v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.builder.BuilderException v, v;
java.lang.Exception v;
java.util.List v, v, v, v;
org.apache.ibatis.parsing.XNode v, v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
label:
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("namespace");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new org.apache.ibatis.builder.BuilderException;
specialinvoke v.<org.apache.ibatis.builder.BuilderException: void <init>(java.lang.String)>("Mapper\'s namespace cannot be empty");
throw v;
label:
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: void setCurrentNamespace(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: org.apache.ibatis.parsing.XNode evalNode(java.lang.String)>("cache-ref");
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void cacheRefElement(org.apache.ibatis.parsing.XNode)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: org.apache.ibatis.parsing.XNode evalNode(java.lang.String)>("cache");
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void cacheElement(org.apache.ibatis.parsing.XNode)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List evalNodes(java.lang.String)>("/mapper/parameterMap");
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void parameterMapElement(java.util.List)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List evalNodes(java.lang.String)>("/mapper/resultMap");
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void resultMapElements(java.util.List)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List evalNodes(java.lang.String)>("/mapper/sql");
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void sqlElement(java.util.List)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List evalNodes(java.lang.String)>("select|insert|update|delete");
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void buildStatementFromContext(java.util.List)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.ibatis.builder.BuilderException;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.String resource>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Exception)>(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 parsing Mapper XML. The XML location is \'\u0001\'. Cause: \u0001");
specialinvoke v.<org.apache.ibatis.builder.BuilderException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
private void buildStatementFromContext(java.util.List)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.List v;
org.apache.ibatis.session.Configuration v, v;
java.lang.String v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.util.List;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: java.lang.String getDatabaseId()>();
if v == null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: java.lang.String getDatabaseId()>();
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void buildStatementFromContext(java.util.List,java.lang.String)>(v, v);
label:
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void buildStatementFromContext(java.util.List,java.lang.String)>(v, null);
return;
}
private void buildStatementFromContext(java.util.List, java.lang.String)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Iterator v;
org.apache.ibatis.builder.MapperBuilderAssistant v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
org.apache.ibatis.builder.IncompleteElementException v;
java.util.List v;
org.apache.ibatis.session.Configuration v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = new org.apache.ibatis.builder.xml.XMLStatementBuilder;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: void <init>(org.apache.ibatis.session.Configuration,org.apache.ibatis.builder.MapperBuilderAssistant,org.apache.ibatis.parsing.XNode,java.lang.String)>(v, v, v, v);
label:
virtualinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: void parseStatementNode()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addIncompleteStatement(org.apache.ibatis.builder.xml.XMLStatementBuilder)>(v);
goto label;
label:
return;
catch org.apache.ibatis.builder.IncompleteElementException from label to label with label;
}
private void cacheRefElement(org.apache.ibatis.parsing.XNode)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.builder.MapperBuilderAssistant v, v;
org.apache.ibatis.builder.IncompleteElementException v;
org.apache.ibatis.session.Configuration v, v;
org.apache.ibatis.builder.CacheRefResolver v;
org.apache.ibatis.parsing.XNode v;
java.lang.String v, v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
if v == null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: java.lang.String getCurrentNamespace()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("namespace");
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addCacheRef(java.lang.String,java.lang.String)>(v, v);
v = new org.apache.ibatis.builder.CacheRefResolver;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("namespace");
specialinvoke v.<org.apache.ibatis.builder.CacheRefResolver: void <init>(org.apache.ibatis.builder.MapperBuilderAssistant,java.lang.String)>(v, v);
label:
virtualinvoke v.<org.apache.ibatis.builder.CacheRefResolver: org.apache.ibatis.cache.Cache resolveCacheRef()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addIncompleteCacheRef(org.apache.ibatis.builder.CacheRefResolver)>(v);
label:
return;
catch org.apache.ibatis.builder.IncompleteElementException from label to label with label;
}
private void cacheElement(org.apache.ibatis.parsing.XNode)
{
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.lang.Integer v;
java.lang.Long v;
java.lang.Boolean v, v, v, v;
java.lang.String v, v;
boolean v, v, v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Properties v;
org.apache.ibatis.type.TypeAliasRegistry v, v;
java.lang.Class v, v;
org.apache.ibatis.parsing.XNode v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
if v == null goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("type", "PERPETUAL");
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.type.TypeAliasRegistry typeAliasRegistry>;
v = virtualinvoke v.<org.apache.ibatis.type.TypeAliasRegistry: java.lang.Class resolveAlias(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("eviction", "LRU");
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.type.TypeAliasRegistry typeAliasRegistry>;
v = virtualinvoke v.<org.apache.ibatis.type.TypeAliasRegistry: java.lang.Class resolveAlias(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Long getLongAttribute(java.lang.String)>("flushInterval");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Integer getIntAttribute(java.lang.String)>("size");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Boolean getBooleanAttribute(java.lang.String,java.lang.Boolean)>("readOnly", v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Boolean getBooleanAttribute(java.lang.String,java.lang.Boolean)>("blocking", v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.Properties getChildrenAsProperties()>();
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: org.apache.ibatis.cache.Cache useNewCache(java.lang.Class,java.lang.Class,java.lang.Long,java.lang.Integer,boolean,boolean,java.util.Properties)>(v, v, v, v, v, v, v);
label:
return;
}
private void parameterMapElement(java.util.List)
{
org.apache.ibatis.builder.MapperBuilderAssistant v, v;
org.apache.ibatis.mapping.ParameterMode v;
java.lang.Integer v;
java.util.ArrayList v;
org.apache.ibatis.mapping.ParameterMapping v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Iterator v, v;
java.util.List v, v;
org.apache.ibatis.type.JdbcType v;
java.lang.Class v, v, v;
java.lang.Object v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("id");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("type");
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List evalNodes(java.lang.String)>("parameter");
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("property");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("javaType");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("jdbcType");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultMap");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("mode");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("typeHandler");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Integer getIntAttribute(java.lang.String)>("numericScale");
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.mapping.ParameterMode resolveParameterMode(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.type.JdbcType resolveJdbcType(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: org.apache.ibatis.mapping.ParameterMapping buildParameterMapping(java.lang.Class,java.lang.String,java.lang.Class,org.apache.ibatis.type.JdbcType,java.lang.String,org.apache.ibatis.mapping.ParameterMode,java.lang.Class,java.lang.Integer)>(v, v, v, v, v, v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: org.apache.ibatis.mapping.ParameterMap addParameterMap(java.lang.String,java.lang.Class,java.util.List)>(v, v, v);
goto label;
label:
return;
}
private void resultMapElements(java.util.List)
{
org.apache.ibatis.builder.IncompleteElementException v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.List v;
java.util.Iterator v;
java.lang.Object v;
boolean v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.mapping.ResultMap resultMapElement(org.apache.ibatis.parsing.XNode)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
return;
catch org.apache.ibatis.builder.IncompleteElementException from label to label with label;
}
private org.apache.ibatis.mapping.ResultMap resultMapElement(org.apache.ibatis.parsing.XNode)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.List v;
org.apache.ibatis.parsing.XNode v;
org.apache.ibatis.mapping.ResultMap v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.mapping.ResultMap resultMapElement(org.apache.ibatis.parsing.XNode,java.util.List,java.lang.Class)>(v, v, null);
return v;
}
private org.apache.ibatis.mapping.ResultMap resultMapElement(org.apache.ibatis.parsing.XNode, java.util.List, java.lang.Class)
{
org.apache.ibatis.builder.MapperBuilderAssistant v;
org.apache.ibatis.builder.IncompleteElementException v;
org.apache.ibatis.builder.ResultMapResolver v;
org.apache.ibatis.executor.ErrorContext v;
boolean v, v, v, v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.List v, v;
org.apache.ibatis.mapping.ResultMapping v;
org.apache.ibatis.parsing.XNode v;
org.apache.ibatis.mapping.ResultFlag v;
java.util.ArrayList v, v;
java.lang.Boolean v;
org.apache.ibatis.session.Configuration v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.ibatis.mapping.Discriminator v;
java.util.Iterator v;
org.apache.ibatis.mapping.ResultMap v;
java.lang.Class v, v;
java.lang.Object v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.util.List;
v := @parameter: java.lang.Class;
v = staticinvoke <org.apache.ibatis.executor.ErrorContext: org.apache.ibatis.executor.ErrorContext instance()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getValueBasedIdentifier()>();
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[])>("processing \u0001");
virtualinvoke v.<org.apache.ibatis.executor.ErrorContext: org.apache.ibatis.executor.ErrorContext activity(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("javaType");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("resultType", v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("ofType", v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("type", v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
if v != null goto label;
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class inheritEnclosingType(org.apache.ibatis.parsing.XNode,java.lang.Class)>(v, v);
label:
v = null;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List getChildren()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "constructor";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void processConstructorElement(org.apache.ibatis.parsing.XNode,java.lang.Class,java.util.List)>(v, v, v);
goto label;
label:
v = "discriminator";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.mapping.Discriminator processDiscriminatorElement(org.apache.ibatis.parsing.XNode,java.lang.Class,java.util.List)>(v, v, v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = "id";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.ibatis.mapping.ResultFlag: org.apache.ibatis.mapping.ResultFlag ID>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.mapping.ResultMapping buildResultMappingFromContext(org.apache.ibatis.parsing.XNode,java.lang.Class,java.util.List)>(v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getValueBasedIdentifier()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("id", v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("extends");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Boolean getBooleanAttribute(java.lang.String)>("autoMapping");
v = new org.apache.ibatis.builder.ResultMapResolver;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
specialinvoke v.<org.apache.ibatis.builder.ResultMapResolver: void <init>(org.apache.ibatis.builder.MapperBuilderAssistant,java.lang.String,java.lang.Class,java.lang.String,org.apache.ibatis.mapping.Discriminator,java.util.List,java.lang.Boolean)>(v, v, v, v, v, v, v);
label:
v = virtualinvoke v.<org.apache.ibatis.builder.ResultMapResolver: org.apache.ibatis.mapping.ResultMap resolve()>();
label:
return v;
label:
v := @caughtexception;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addIncompleteResultMap(org.apache.ibatis.builder.ResultMapResolver)>(v);
throw v;
catch org.apache.ibatis.builder.IncompleteElementException from label to label with label;
}
protected java.lang.Class inheritEnclosingType(org.apache.ibatis.parsing.XNode, java.lang.Class)
{
org.apache.ibatis.reflection.ReflectorFactory v;
org.apache.ibatis.session.Configuration v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.reflection.MetaClass v;
java.lang.Class v, v;
org.apache.ibatis.parsing.XNode v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.lang.Class;
v = "association";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultMap");
if v != null goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("property");
if v == null goto label;
if v == null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.reflection.ReflectorFactory getReflectorFactory()>();
v = staticinvoke <org.apache.ibatis.reflection.MetaClass: org.apache.ibatis.reflection.MetaClass forClass(java.lang.Class,org.apache.ibatis.reflection.ReflectorFactory)>(v, v);
v = virtualinvoke v.<org.apache.ibatis.reflection.MetaClass: java.lang.Class getSetterType(java.lang.String)>(v);
return v;
label:
v = "case";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultMap");
if v != null goto label;
return v;
label:
return null;
}
private void processConstructorElement(org.apache.ibatis.parsing.XNode, java.lang.Class, java.util.List)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Iterator v;
org.apache.ibatis.mapping.ResultFlag v, v;
java.util.ArrayList v;
java.util.List v, v;
org.apache.ibatis.mapping.ResultMapping v;
java.lang.Class v;
java.lang.Object v;
org.apache.ibatis.parsing.XNode v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.lang.Class;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List getChildren()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.ibatis.mapping.ResultFlag: org.apache.ibatis.mapping.ResultFlag CONSTRUCTOR>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = "idArg";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.ibatis.mapping.ResultFlag: org.apache.ibatis.mapping.ResultFlag ID>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.mapping.ResultMapping buildResultMappingFromContext(org.apache.ibatis.parsing.XNode,java.lang.Class,java.util.List)>(v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
private org.apache.ibatis.mapping.Discriminator processDiscriminatorElement(org.apache.ibatis.parsing.XNode, java.lang.Class, java.util.List)
{
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.util.HashMap v;
java.lang.String v, v, v, v, v, v, v;
org.apache.ibatis.mapping.Discriminator v;
boolean v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Iterator v;
java.util.List v, v;
org.apache.ibatis.type.JdbcType v;
java.lang.Class v, v, v;
java.lang.Object v;
org.apache.ibatis.parsing.XNode v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.lang.Class;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("column");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("javaType");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("jdbcType");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("typeHandler");
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.type.JdbcType resolveJdbcType(java.lang.String)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List getChildren()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("value");
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.String processNestedResultMappings(org.apache.ibatis.parsing.XNode,java.util.List,java.lang.Class)>(v, v, v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("resultMap", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: org.apache.ibatis.mapping.Discriminator buildDiscriminator(java.lang.Class,java.lang.String,java.lang.Class,org.apache.ibatis.type.JdbcType,java.lang.Class,java.util.Map)>(v, v, v, v, v, v);
return v;
}
private void sqlElement(java.util.List)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.List v;
org.apache.ibatis.session.Configuration v, v;
java.lang.String v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.util.List;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: java.lang.String getDatabaseId()>();
if v == null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: java.lang.String getDatabaseId()>();
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void sqlElement(java.util.List,java.lang.String)>(v, v);
label:
specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void sqlElement(java.util.List,java.lang.String)>(v, null);
return;
}
private void sqlElement(java.util.List, java.lang.String)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Iterator v;
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.util.List v;
java.util.Map v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("databaseId");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("id");
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: java.lang.String applyCurrentNamespace(java.lang.String,boolean)>(v, 0);
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: boolean databaseIdMatchesCurrent(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
if v == 0 goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.util.Map sqlFragments>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return;
}
private boolean databaseIdMatchesCurrent(java.lang.String, java.lang.String, java.lang.String)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.Map v, v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
return v;
label:
if v == null goto label;
return 0;
label:
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.util.Map sqlFragments>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
return 1;
label:
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.util.Map sqlFragments>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("databaseId");
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private org.apache.ibatis.mapping.ResultMapping buildResultMappingFromContext(org.apache.ibatis.parsing.XNode, java.lang.Class, java.util.List)
{
org.apache.ibatis.mapping.ResultFlag v;
org.apache.ibatis.builder.MapperBuilderAssistant v;
java.util.function.Supplier v;
org.apache.ibatis.session.Configuration v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.util.List v;
org.apache.ibatis.mapping.ResultMapping v;
org.apache.ibatis.type.JdbcType v;
java.lang.Class v, v, v;
org.apache.ibatis.parsing.XNode v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.lang.Class;
v := @parameter: java.util.List;
v = <org.apache.ibatis.mapping.ResultFlag: org.apache.ibatis.mapping.ResultFlag CONSTRUCTOR>;
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("name");
goto label;
label:
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("property");
label:
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("column");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("javaType");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("jdbcType");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("select");
v = staticinvoke <org.apache.ibatis.builder.xml.XMLMapperBuilder$lambda_buildResultMappingFromContext_0__14: java.util.function.Supplier bootstrap$(org.apache.ibatis.builder.xml.XMLMapperBuilder,org.apache.ibatis.parsing.XNode,java.lang.Class)>(v, v, v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.util.function.Supplier)>("resultMap", v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("notNullColumn");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("columnPrefix");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("typeHandler");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultSet");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("foreignColumn");
v = "lazy";
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: boolean isLazyLoadingEnabled()>();
if v == 0 goto label;
v = "lazy";
goto label;
label:
v = "eager";
label:
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("fetchType", v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.type.JdbcType resolveJdbcType(java.lang.String)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: org.apache.ibatis.mapping.ResultMapping buildResultMapping(java.lang.Class,java.lang.String,java.lang.String,java.lang.Class,org.apache.ibatis.type.JdbcType,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Class,java.util.List,java.lang.String,java.lang.String,boolean)>(v, v, v, v, v, v, v, v, v, v, v, v, v, v);
return v;
}
private java.lang.String processNestedResultMappings(org.apache.ibatis.parsing.XNode, java.util.List, java.lang.Class)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
java.lang.String[] v;
org.apache.ibatis.mapping.ResultMap v;
java.util.List v, v;
java.lang.Class v;
org.apache.ibatis.parsing.XNode v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.util.List;
v := @parameter: java.lang.Class;
v = newarray (java.lang.String)[3];
v[0] = "association";
v[1] = "collection";
v[2] = "case";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("select");
if v != null goto label;
virtualinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: void validateCollection(org.apache.ibatis.parsing.XNode,java.lang.Class)>(v, v);
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.mapping.ResultMap resultMapElement(org.apache.ibatis.parsing.XNode,java.util.List,java.lang.Class)>(v, v, v);
v = virtualinvoke v.<org.apache.ibatis.mapping.ResultMap: java.lang.String getId()>();
return v;
label:
return null;
}
protected void validateCollection(org.apache.ibatis.parsing.XNode, java.lang.Class)
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.reflection.ReflectorFactory v;
org.apache.ibatis.reflection.MetaClass v;
org.apache.ibatis.builder.BuilderException v;
org.apache.ibatis.session.Configuration v;
java.lang.Class v;
org.apache.ibatis.parsing.XNode v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.lang.Class;
v = "collection";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultMap");
if v != null goto label;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("javaType");
if v != null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.reflection.ReflectorFactory getReflectorFactory()>();
v = staticinvoke <org.apache.ibatis.reflection.MetaClass: org.apache.ibatis.reflection.MetaClass forClass(java.lang.Class,org.apache.ibatis.reflection.ReflectorFactory)>(v, v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("property");
v = virtualinvoke v.<org.apache.ibatis.reflection.MetaClass: boolean hasSetter(java.lang.String)>(v);
if v != 0 goto label;
v = new org.apache.ibatis.builder.BuilderException;
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[])>("Ambiguous collection type for property \'\u0001\'. You must specify \'javaType\' or \'resultMap\'.");
specialinvoke v.<org.apache.ibatis.builder.BuilderException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void bindMapperForNamespace()
{
org.apache.ibatis.builder.xml.XMLMapperBuilder v;
org.apache.ibatis.builder.MapperBuilderAssistant v;
org.apache.ibatis.session.Configuration v, v, v;
java.lang.Class v;
java.lang.ClassNotFoundException v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.ibatis.builder.xml.XMLMapperBuilder;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: java.lang.String getCurrentNamespace()>();
if v == null goto label;
v = null;
label:
v = staticinvoke <org.apache.ibatis.io.Resources: java.lang.Class classForName(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
if v == null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: boolean hasMapper(java.lang.Class)>(v);
if v != 0 goto label;
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
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[])>("namespace:\u0001");
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addLoadedResource(java.lang.String)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLMapperBuilder: org.apache.ibatis.session.Configuration configuration>;
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addMapper(java.lang.Class)>(v);
label:
return;
catch java.lang.ClassNotFoundException from label to label with label;
}
}