mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-18 17:15:02 +00:00
HHH-13600 Avoid capturing lambdas in ParameterTranslationsImpl
This commit is contained in:
parent
c8a36cd961
commit
40b30fa099
@ -48,10 +48,7 @@ public class ParameterTranslationsImpl implements ParameterTranslations {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final PositionalParameterSpecification ordinalSpecification = (PositionalParameterSpecification) specification;
|
final PositionalParameterSpecification ordinalSpecification = (PositionalParameterSpecification) specification;
|
||||||
final PositionalParameterInformationImpl info = ordinalParameters.computeIfAbsent(
|
final PositionalParameterInformationImpl info = getPositionalParameterInfo( ordinalParameters, ordinalSpecification );
|
||||||
ordinalSpecification.getLabel(),
|
|
||||||
k -> new PositionalParameterInformationImpl( k, ordinalSpecification.getExpectedType() )
|
|
||||||
);
|
|
||||||
info.addSourceLocation( i++ );
|
info.addSourceLocation( i++ );
|
||||||
}
|
}
|
||||||
else if ( NamedParameterSpecification.class.isInstance( specification ) ) {
|
else if ( NamedParameterSpecification.class.isInstance( specification ) ) {
|
||||||
@ -60,10 +57,7 @@ else if ( NamedParameterSpecification.class.isInstance( specification ) ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final NamedParameterSpecification namedSpecification = (NamedParameterSpecification) specification;
|
final NamedParameterSpecification namedSpecification = (NamedParameterSpecification) specification;
|
||||||
final NamedParameterInformationImpl info = namedParameters.computeIfAbsent(
|
final NamedParameterInformationImpl info = getNamedParameterInfo( namedParameters, namedSpecification );
|
||||||
namedSpecification.getName(),
|
|
||||||
k -> new NamedParameterInformationImpl( k, namedSpecification.getExpectedType() )
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
If a previous reference to the NamedParameter already exists with expected type null and the new
|
If a previous reference to the NamedParameter already exists with expected type null and the new
|
||||||
@ -96,6 +90,30 @@ else if ( NamedParameterSpecification.class.isInstance( specification ) ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private NamedParameterInformationImpl getNamedParameterInfo(
|
||||||
|
Map<String, NamedParameterInformationImpl> namedParameters,
|
||||||
|
NamedParameterSpecification namedSpecification) {
|
||||||
|
final String name = namedSpecification.getName();
|
||||||
|
NamedParameterInformationImpl namedParameterInformation = namedParameters.get( name );
|
||||||
|
if ( namedParameterInformation == null ) {
|
||||||
|
namedParameterInformation = new NamedParameterInformationImpl( name, namedSpecification.getExpectedType() );
|
||||||
|
namedParameters.put( name, namedParameterInformation );
|
||||||
|
}
|
||||||
|
return namedParameterInformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static PositionalParameterInformationImpl getPositionalParameterInfo(
|
||||||
|
Map<Integer, PositionalParameterInformationImpl> ordinalParameters,
|
||||||
|
PositionalParameterSpecification ordinalSpecification) {
|
||||||
|
final Integer label = Integer.valueOf( ordinalSpecification.getLabel() );
|
||||||
|
PositionalParameterInformationImpl positionalParameterInformation = ordinalParameters.get( label );
|
||||||
|
if ( positionalParameterInformation == null ) {
|
||||||
|
positionalParameterInformation = new PositionalParameterInformationImpl( label, ordinalSpecification.getExpectedType() );
|
||||||
|
ordinalParameters.put( label, positionalParameterInformation );
|
||||||
|
}
|
||||||
|
return positionalParameterInformation;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public Map getNamedParameterInformationMap() {
|
public Map getNamedParameterInformationMap() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user