You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2021/09/21 04:33:25 UTC
[groovy] 01/02: Make transformed `record` properties synthetic
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY-10240
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 50aa4bc413eccebb3c540aa833ddffc2202f74e8
Author: Daniel Sun <su...@apache.org>
AuthorDate: Tue Sep 21 12:29:49 2021 +0800
Make transformed `record` properties synthetic
---
src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java b/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
index 7da7598..1065ec9 100644
--- a/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
+++ b/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
@@ -1642,7 +1642,8 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> {
Parameter parameter = parameters[i];
ModifierManager parameterModifierManager = parameter.getNodeMetaData(PARAMETER_MODIFIER_MANAGER);
FormalParameterContext parameterCtx = parameter.getNodeMetaData(PARAMETER_CONTEXT);
- declareProperty(parameterCtx, parameterModifierManager, parameter.getType(), classNode, i, parameter, parameter.getName(), parameter.getModifiers(), parameter.getInitialExpression());
+ PropertyNode propertyNode = declareProperty(parameterCtx, parameterModifierManager, parameter.getType(), classNode, i, parameter, parameter.getName(), parameter.getModifiers(), parameter.getInitialExpression());
+ propertyNode.setSynthetic(true);
}
}
@@ -2268,7 +2269,7 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> {
}
}
- private void declareProperty(final GroovyParserRuleContext ctx, final ModifierManager modifierManager, final ClassNode variableType, final ClassNode classNode, final int i, final ASTNode startNode, final String fieldName, final int modifiers, final Expression initialValue) {
+ private PropertyNode declareProperty(final GroovyParserRuleContext ctx, final ModifierManager modifierManager, final ClassNode variableType, final ClassNode classNode, final int i, final ASTNode startNode, final String fieldName, final int modifiers, final Expression initialValue) {
PropertyNode propertyNode;
FieldNode fieldNode = classNode.getDeclaredField(fieldName);
@@ -2315,6 +2316,7 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> {
} else {
configureAST(propertyNode, startNode, initialValue);
}
+ return propertyNode;
}
private void declareField(final VariableDeclarationContext ctx, final ModifierManager modifierManager, final ClassNode variableType, final ClassNode classNode, final int i, final VariableExpression variableExpression, final String fieldName, final int modifiers, final Expression initialValue) {