Skip to content

Commit fa04538

Browse files
author
Johnu George
committed
MNEMONIC-254: Avoid loops in set functions for cyclic structures
1 parent 731bb80 commit fa04538

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

mnemonic-core/src/main/java/org/apache/mnemonic/AnnotatedDurableEntityClass.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,11 +693,15 @@ protected void buildSettersSpecs(TypeSpec.Builder typespecbuilder) throws Annota
693693
holdername, dynfieldinfo.fieldoff, dynfieldinfo.name);
694694
code.beginControlFlow("if (null != $1L)", dynfieldinfo.name);
695695
code.beginControlFlow("if ($1N)", autoreclaimname);
696+
code.beginControlFlow("if (!$1N.autoReclaim())", dynfieldinfo.name);
696697
code.addStatement("$1N.registerAutoReclaim();", dynfieldinfo.name);
698+
code.endControlFlow();
697699
code.nextControlFlow("else");
700+
code.beginControlFlow("if ($1N.autoReclaim())", dynfieldinfo.name);
698701
code.addStatement("$1N.cancelAutoReclaim();", dynfieldinfo.name);
699702
code.endControlFlow();
700703
code.endControlFlow();
704+
code.endControlFlow();
701705
}
702706
}
703707
typespecbuilder.addMethod(methodinfo.specbuilder.addCode(code.build()).build());

0 commit comments

Comments
 (0)