aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/javac/handlers/JavacSingularsRecipes.java
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2015-10-31 16:04:30 +0100
committerReinier Zwitserloot <reinier@zwitserloot.com>2015-11-16 22:18:29 +0100
commitcb43dab23574d9c5dae2d3edec65fbdfa21b745f (patch)
treed3f0147baf658d692a1847887a2264a0d6af0b94 /src/core/lombok/javac/handlers/JavacSingularsRecipes.java
parent9cfac4131ff33b247652ed3622491cbf8bf76721 (diff)
downloadlombok-cb43dab23574d9c5dae2d3edec65fbdfa21b745f.tar.gz
lombok-cb43dab23574d9c5dae2d3edec65fbdfa21b745f.tar.bz2
lombok-cb43dab23574d9c5dae2d3edec65fbdfa21b745f.zip
Generate JCParens nodes in the appropriate places (the pretty printer picked this up for delombok and javac doesn’t care, so it technically doesn’t matter, but lets generate node structures that match what would be parsed if written out in hand).
Diffstat (limited to 'src/core/lombok/javac/handlers/JavacSingularsRecipes.java')
-rw-r--r--src/core/lombok/javac/handlers/JavacSingularsRecipes.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/lombok/javac/handlers/JavacSingularsRecipes.java b/src/core/lombok/javac/handlers/JavacSingularsRecipes.java
index 7fca01ae..c6d601bd 100644
--- a/src/core/lombok/javac/handlers/JavacSingularsRecipes.java
+++ b/src/core/lombok/javac/handlers/JavacSingularsRecipes.java
@@ -267,13 +267,15 @@ public class JavacSingularsRecipes {
}
/** Generates 'this.<em>name</em>.size()' as an expression; if nullGuard is true, it's this.name == null ? 0 : this.name.size(). */
- protected JCExpression getSize(JavacTreeMaker maker, JavacNode builderType, Name name, boolean nullGuard) {
+ protected JCExpression getSize(JavacTreeMaker maker, JavacNode builderType, Name name, boolean nullGuard, boolean parens) {
Name thisName = builderType.toName("this");
JCExpression fn = maker.Select(maker.Select(maker.Ident(thisName), name), builderType.toName("size"));
JCExpression sizeInvoke = maker.Apply(List.<JCExpression>nil(), fn, List.<JCExpression>nil());
if (nullGuard) {
JCExpression isNull = maker.Binary(CTC_EQUAL, maker.Select(maker.Ident(thisName), name), maker.Literal(CTC_BOT, 0));
- return maker.Conditional(isNull, maker.Literal(CTC_INT, 0), sizeInvoke);
+ JCExpression out = maker.Conditional(isNull, maker.Literal(CTC_INT, 0), sizeInvoke);
+ if (parens) return maker.Parens(out);
+ return out;
}
return sizeInvoke;
}