public class org.apache.ibatis.builder.xml.XMLStatementBuilder extends org.apache.ibatis.builder.BaseBuilder
{
private final org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant;
private final org.apache.ibatis.parsing.XNode context;
private final java.lang.String requiredDatabaseId;
public void <init>(org.apache.ibatis.session.Configuration, org.apache.ibatis.builder.MapperBuilderAssistant, org.apache.ibatis.parsing.XNode)
{
org.apache.ibatis.builder.MapperBuilderAssistant v;
org.apache.ibatis.session.Configuration v;
org.apache.ibatis.parsing.XNode v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: org.apache.ibatis.builder.MapperBuilderAssistant;
v := @parameter: org.apache.ibatis.parsing.XNode;
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, null);
return;
}
public void <init>(org.apache.ibatis.session.Configuration, org.apache.ibatis.builder.MapperBuilderAssistant, org.apache.ibatis.parsing.XNode, java.lang.String)
{
org.apache.ibatis.builder.MapperBuilderAssistant v;
org.apache.ibatis.session.Configuration v;
org.apache.ibatis.parsing.XNode v;
java.lang.String v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: org.apache.ibatis.builder.MapperBuilderAssistant;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.ibatis.builder.BaseBuilder: void <init>(org.apache.ibatis.session.Configuration)>(v);
v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant> = v;
v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context> = v;
v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: java.lang.String requiredDatabaseId> = v;
return;
}
public void parseStatementNode()
{
org.apache.ibatis.builder.MapperBuilderAssistant v, v, v, v;
java.lang.Integer v, v;
org.apache.ibatis.mapping.SqlSource v;
org.apache.ibatis.mapping.StatementType v, v;
org.apache.ibatis.session.Configuration v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
org.apache.ibatis.builder.xml.XMLIncludeTransformer v;
org.apache.ibatis.mapping.SqlCommandType v, v, v;
java.util.Locale v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.ibatis.scripting.LanguageDriver v;
org.apache.ibatis.parsing.XNode v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.ibatis.executor.keygen.KeyGenerator v, v;
org.w3c.dom.Node v, v;
java.lang.Boolean v, v, v, v, v, v, v, v, v, v;
org.apache.ibatis.mapping.ResultSetType v;
java.lang.Class v, v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("id");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("databaseId");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: java.lang.String requiredDatabaseId>;
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: boolean databaseIdMatchesCurrent(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
if v != 0 goto label;
return;
label:
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: org.w3c.dom.Node getNode()>();
v = interfaceinvoke v.<org.w3c.dom.Node: java.lang.String getNodeName()>();
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
v = staticinvoke <org.apache.ibatis.mapping.SqlCommandType: org.apache.ibatis.mapping.SqlCommandType valueOf(java.lang.String)>(v);
v = <org.apache.ibatis.mapping.SqlCommandType: org.apache.ibatis.mapping.SqlCommandType SELECT>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Boolean getBooleanAttribute(java.lang.String,java.lang.Boolean)>("flushCache", v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Boolean getBooleanAttribute(java.lang.String,java.lang.Boolean)>("useCache", v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
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)>("resultOrdered", v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = new org.apache.ibatis.builder.xml.XMLIncludeTransformer;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLIncludeTransformer: void <init>(org.apache.ibatis.session.Configuration,org.apache.ibatis.builder.MapperBuilderAssistant)>(v, v);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: org.w3c.dom.Node getNode()>();
virtualinvoke v.<org.apache.ibatis.builder.xml.XMLIncludeTransformer: void applyIncludes(org.w3c.dom.Node)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("parameterType");
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("lang");
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.scripting.LanguageDriver getLanguageDriver(java.lang.String)>(v);
specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: void processSelectKeyNodes(java.lang.String,java.lang.Class,org.apache.ibatis.scripting.LanguageDriver)>(v, 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[])>("\u0001!selectKey");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: java.lang.String applyCurrentNamespace(java.lang.String,boolean)>(v, 1);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: boolean hasKeyGenerator(java.lang.String)>(v);
if v == 0 goto label;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.executor.keygen.KeyGenerator getKeyGenerator(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: boolean isUseGeneratedKeys()>();
if v == 0 goto label;
v = <org.apache.ibatis.mapping.SqlCommandType: org.apache.ibatis.mapping.SqlCommandType INSERT>;
v = virtualinvoke v.<org.apache.ibatis.mapping.SqlCommandType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Boolean getBooleanAttribute(java.lang.String,java.lang.Boolean)>("useGeneratedKeys", v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = <org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator: org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator INSTANCE>;
goto label;
label:
v = <org.apache.ibatis.executor.keygen.NoKeyGenerator: org.apache.ibatis.executor.keygen.NoKeyGenerator INSTANCE>;
label:
v = v;
label:
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = interfaceinvoke v.<org.apache.ibatis.scripting.LanguageDriver: org.apache.ibatis.mapping.SqlSource createSqlSource(org.apache.ibatis.session.Configuration,org.apache.ibatis.parsing.XNode,java.lang.Class)>(v, v, v);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = <org.apache.ibatis.mapping.StatementType: org.apache.ibatis.mapping.StatementType PREPARED>;
v = virtualinvoke v.<org.apache.ibatis.mapping.StatementType: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("statementType", v);
v = staticinvoke <org.apache.ibatis.mapping.StatementType: org.apache.ibatis.mapping.StatementType valueOf(java.lang.String)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Integer getIntAttribute(java.lang.String)>("fetchSize");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Integer getIntAttribute(java.lang.String)>("timeout");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("parameterMap");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultType");
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultMap");
if v != null goto label;
if v != null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
v = virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: java.lang.String getCurrentNamespace()>();
v = staticinvoke <org.apache.ibatis.builder.'annotation'.MapperAnnotationBuilder: java.lang.Class getMethodReturnType(java.lang.String,java.lang.String)>(v, v);
label:
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultSetType");
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.mapping.ResultSetType resolveResultSetType(java.lang.String)>(v);
if v != null goto label;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.mapping.ResultSetType getDefaultResultSetType()>();
label:
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("keyProperty");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("keyColumn");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultSets");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.Boolean getBooleanAttribute(java.lang.String,java.lang.Boolean)>("affectData", v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: org.apache.ibatis.mapping.MappedStatement addMappedStatement(java.lang.String,org.apache.ibatis.mapping.SqlSource,org.apache.ibatis.mapping.StatementType,org.apache.ibatis.mapping.SqlCommandType,java.lang.Integer,java.lang.Integer,java.lang.String,java.lang.Class,java.lang.String,java.lang.Class,org.apache.ibatis.mapping.ResultSetType,boolean,boolean,boolean,org.apache.ibatis.executor.keygen.KeyGenerator,java.lang.String,java.lang.String,java.lang.String,org.apache.ibatis.scripting.LanguageDriver,java.lang.String,boolean)>(v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v);
return;
}
private void processSelectKeyNodes(java.lang.String, java.lang.Class, org.apache.ibatis.scripting.LanguageDriver)
{
org.apache.ibatis.scripting.LanguageDriver v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
java.util.List v;
org.apache.ibatis.session.Configuration v, v;
java.lang.Class v;
org.apache.ibatis.parsing.XNode v;
java.lang.String v, v, v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
v := @parameter: org.apache.ibatis.scripting.LanguageDriver;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.parsing.XNode context>;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.util.List evalNodes(java.lang.String)>("selectKey");
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: 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.XMLStatementBuilder: 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.XMLStatementBuilder: void parseSelectKeyNodes(java.lang.String,java.util.List,java.lang.Class,org.apache.ibatis.scripting.LanguageDriver,java.lang.String)>(v, v, v, v, v);
label:
specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: void parseSelectKeyNodes(java.lang.String,java.util.List,java.lang.Class,org.apache.ibatis.scripting.LanguageDriver,java.lang.String)>(v, v, v, v, null);
specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: void removeSelectKeyNodes(java.util.List)>(v);
return;
}
private void parseSelectKeyNodes(java.lang.String, java.util.List, java.lang.Class, org.apache.ibatis.scripting.LanguageDriver, java.lang.String)
{
java.util.Iterator v;
org.apache.ibatis.scripting.LanguageDriver v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
java.util.List v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v := @parameter: java.lang.Class;
v := @parameter: org.apache.ibatis.scripting.LanguageDriver;
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 = 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!selectKey");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("databaseId");
v = specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: boolean databaseIdMatchesCurrent(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
if v == 0 goto label;
specialinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: void parseSelectKeyNode(java.lang.String,org.apache.ibatis.parsing.XNode,java.lang.Class,org.apache.ibatis.scripting.LanguageDriver,java.lang.String)>(v, v, v, v, v);
goto label;
label:
return;
}
private void parseSelectKeyNode(java.lang.String, org.apache.ibatis.parsing.XNode, java.lang.Class, org.apache.ibatis.scripting.LanguageDriver, java.lang.String)
{
org.apache.ibatis.mapping.SqlCommandType v;
org.apache.ibatis.builder.MapperBuilderAssistant v, v;
org.apache.ibatis.mapping.StatementType v, v;
org.apache.ibatis.executor.keygen.SelectKeyGenerator v;
org.apache.ibatis.session.Configuration v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
boolean v;
org.apache.ibatis.scripting.LanguageDriver v;
org.apache.ibatis.executor.keygen.NoKeyGenerator v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
org.apache.ibatis.mapping.MappedStatement v;
java.lang.Class v, v;
org.apache.ibatis.mapping.SqlSource v;
org.apache.ibatis.parsing.XNode v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
v := @parameter: java.lang.String;
v := @parameter: org.apache.ibatis.parsing.XNode;
v := @parameter: java.lang.Class;
v := @parameter: org.apache.ibatis.scripting.LanguageDriver;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("resultType");
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
v = <org.apache.ibatis.mapping.StatementType: org.apache.ibatis.mapping.StatementType PREPARED>;
v = virtualinvoke v.<org.apache.ibatis.mapping.StatementType: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("statementType", v);
v = staticinvoke <org.apache.ibatis.mapping.StatementType: org.apache.ibatis.mapping.StatementType valueOf(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("keyProperty");
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String)>("keyColumn");
v = "BEFORE";
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: java.lang.String getStringAttribute(java.lang.String,java.lang.String)>("order", "AFTER");
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
v = <org.apache.ibatis.executor.keygen.NoKeyGenerator: org.apache.ibatis.executor.keygen.NoKeyGenerator INSTANCE>;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = interfaceinvoke v.<org.apache.ibatis.scripting.LanguageDriver: org.apache.ibatis.mapping.SqlSource createSqlSource(org.apache.ibatis.session.Configuration,org.apache.ibatis.parsing.XNode,java.lang.Class)>(v, v, v);
v = <org.apache.ibatis.mapping.SqlCommandType: org.apache.ibatis.mapping.SqlCommandType SELECT>;
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.builder.MapperBuilderAssistant builderAssistant>;
virtualinvoke v.<org.apache.ibatis.builder.MapperBuilderAssistant: org.apache.ibatis.mapping.MappedStatement addMappedStatement(java.lang.String,org.apache.ibatis.mapping.SqlSource,org.apache.ibatis.mapping.StatementType,org.apache.ibatis.mapping.SqlCommandType,java.lang.Integer,java.lang.Integer,java.lang.String,java.lang.Class,java.lang.String,java.lang.Class,org.apache.ibatis.mapping.ResultSetType,boolean,boolean,boolean,org.apache.ibatis.executor.keygen.KeyGenerator,java.lang.String,java.lang.String,java.lang.String,org.apache.ibatis.scripting.LanguageDriver,java.lang.String,boolean)>(v, v, v, v, null, null, null, v, null, v, null, 0, 0, 0, v, v, v, v, v, null, 0);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: 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 = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.mapping.MappedStatement getMappedStatement(java.lang.String,boolean)>(v, 0);
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = new org.apache.ibatis.executor.keygen.SelectKeyGenerator;
specialinvoke v.<org.apache.ibatis.executor.keygen.SelectKeyGenerator: void <init>(org.apache.ibatis.mapping.MappedStatement,boolean)>(v, v);
virtualinvoke v.<org.apache.ibatis.session.Configuration: void addKeyGenerator(java.lang.String,org.apache.ibatis.executor.keygen.KeyGenerator)>(v, v);
return;
}
private void removeSelectKeyNodes(java.util.List)
{
java.util.Iterator v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
java.util.List v;
org.w3c.dom.Node v, v;
java.lang.Object v;
org.apache.ibatis.parsing.XNode v;
boolean v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
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: org.apache.ibatis.parsing.XNode getParent()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: org.w3c.dom.Node getNode()>();
v = virtualinvoke v.<org.apache.ibatis.parsing.XNode: org.w3c.dom.Node getNode()>();
interfaceinvoke v.<org.w3c.dom.Node: org.w3c.dom.Node removeChild(org.w3c.dom.Node)>(v);
goto label;
label:
return;
}
private boolean databaseIdMatchesCurrent(java.lang.String, java.lang.String, java.lang.String)
{
org.apache.ibatis.builder.MapperBuilderAssistant v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
org.apache.ibatis.mapping.MappedStatement v;
org.apache.ibatis.session.Configuration v, v;
java.lang.String v, v, v, v, v;
boolean v, v, v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
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.XMLStatementBuilder: 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 = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: boolean hasStatement(java.lang.String,boolean)>(v, 0);
if v != 0 goto label;
return 1;
label:
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.mapping.MappedStatement getMappedStatement(java.lang.String,boolean)>(v, 0);
v = virtualinvoke v.<org.apache.ibatis.mapping.MappedStatement: java.lang.String getDatabaseId()>();
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private org.apache.ibatis.scripting.LanguageDriver getLanguageDriver(java.lang.String)
{
org.apache.ibatis.scripting.LanguageDriver v;
org.apache.ibatis.session.Configuration v;
java.lang.Class v;
java.lang.String v;
org.apache.ibatis.builder.xml.XMLStatementBuilder v;
v := @this: org.apache.ibatis.builder.xml.XMLStatementBuilder;
v := @parameter: java.lang.String;
v = null;
if v == null goto label;
v = virtualinvoke v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: java.lang.Class resolveClass(java.lang.String)>(v);
label:
v = v.<org.apache.ibatis.builder.xml.XMLStatementBuilder: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.scripting.LanguageDriver getLanguageDriver(java.lang.Class)>(v);
return v;
}
}