diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2015-10-31 16:04:30 +0100 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2015-11-16 22:18:29 +0100 |
commit | cb43dab23574d9c5dae2d3edec65fbdfa21b745f (patch) | |
tree | d3f0147baf658d692a1847887a2264a0d6af0b94 /src/core/lombok/javac/handlers/JavacSingularsRecipes.java | |
parent | 9cfac4131ff33b247652ed3622491cbf8bf76721 (diff) | |
download | lombok-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.java | 6 |
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; } |