Files
openide/java/java-impl/resources/com/intellij/codeInsight/generation/equalsHelper.vm
Leonid Shalupov 40795fe787 IJI-2422: community/java: move resources under resources root
GitOrigin-RevId: 8b2b63fc6db476ca0c2cfe5cadd84db6c4236d0f
2025-02-05 04:43:28 +00:00

60 lines
1.8 KiB
Plaintext

#set($classInstanceName = $helper.getUniqueLocalVarName($instanceBaseName, $fields, $settings))
#set($paramName = $helper.getUniqueLocalVarName($baseParamName, $fields, $settings))
#set($superParamName = $helper.getUniqueLocalVarName($superParamName, $fields, $settings))
#macro(addClassInstance)
#if ($settings.generateFinalLocals)
final ##
#end
#set($wildcards = "#generateWildcards()")
$classname$wildcards $classInstanceName = ($classname$wildcards)$paramName;
#end
##
#macro(generateWildcards)
#if ($class.typeParams > 0)
<##
#set( $arr = [1..$class.typeParams] )
#foreach( $i in $arr )
#if ($i > 1)
, ##
#end
?##
#end
>##
#end
#end
##
#macro(addEqualsPrologue)
#addInstanceOfToText()
#if ($superHasEquals)
if(!super.equals($paramName)) return false;
#end
#end
##
#macro(addInstanceOfToText)
#if ($checkParameterWithInstanceof)
if(!($paramName instanceof $classname)) return false;
#else
if($paramName == null || getClass() != ${paramName}.getClass()) return false;
#end
#end
#macro(addPrimitiveFieldComparisonCondition $field)
$field.accessor != ${classInstanceName}.$field.accessor ##
#end
#macro(addDoubleFieldComparisonCondition $field)
#if ($field.double)
java.lang.Double.compare($field.accessor,${classInstanceName}.$field.accessor) != 0 ##
#else
java.lang.Float.compare($field.accessor,${classInstanceName}.$field.accessor) != 0 ##
#end
#end
#macro(addPrimitiveFieldComparisonConditionDirect $field)
$field.accessor == ${classInstanceName}.$field.accessor ##
#end
#macro(addDoubleFieldComparisonConditionDirect $field)
#if ($field.double)
java.lang.Double.compare($field.accessor,${classInstanceName}.$field.accessor) == 0 ##
#else
java.lang.Float.compare($field.accessor,${classInstanceName}.$field.accessor) == 0 ##
#end
#end