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 2020/06/13 09:47:33 UTC
[groovy] 01/06: minor fix-ups
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit e5f08d8abecfb41096b8bc02a967bcca72718b44
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Tue Jun 2 12:16:59 2020 -0500
minor fix-ups
(cherry picked from commit 49ee146850d866513aa84bc49bf22e06687484d5)
---
.../TimedInterruptibleASTTransformation.groovy | 35 +++++++++++-----------
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/src/main/groovy/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy b/src/main/groovy/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy
index 02b7328..8b64587 100644
--- a/src/main/groovy/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy
+++ b/src/main/groovy/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy
@@ -18,6 +18,7 @@
*/
package org.codehaus.groovy.transform
+import groovy.transform.AutoFinal
import groovy.transform.TimedInterrupt
import org.codehaus.groovy.ast.ASTNode
import org.codehaus.groovy.ast.AnnotatedNode
@@ -35,6 +36,7 @@ import org.codehaus.groovy.ast.expr.Expression
import org.codehaus.groovy.ast.stmt.BlockStatement
import org.codehaus.groovy.ast.stmt.DoWhileStatement
import org.codehaus.groovy.ast.stmt.ForStatement
+import org.codehaus.groovy.ast.stmt.Statement
import org.codehaus.groovy.ast.stmt.WhileStatement
import org.codehaus.groovy.control.CompilePhase
import org.codehaus.groovy.control.SourceUnit
@@ -44,6 +46,7 @@ import java.util.concurrent.TimeoutException
import static org.codehaus.groovy.ast.ClassHelper.make
import static org.codehaus.groovy.ast.tools.GeneralUtils.args
+import static org.codehaus.groovy.ast.tools.GeneralUtils.block
import static org.codehaus.groovy.ast.tools.GeneralUtils.callX
import static org.codehaus.groovy.ast.tools.GeneralUtils.classX
import static org.codehaus.groovy.ast.tools.GeneralUtils.constX
@@ -63,7 +66,7 @@ import static org.codehaus.groovy.ast.tools.GeneralUtils.varX
* @see groovy.transform.ThreadInterrupt
* @since 1.8.0
*/
-@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
+@AutoFinal @GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
private static final ClassNode MY_TYPE = make(TimedInterrupt)
@@ -150,7 +153,7 @@ class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
}
private static class TimedInterruptionVisitor extends ClassCodeVisitorSupport {
- final private SourceUnit source
+ final SourceUnit sourceUnit
final private boolean checkOnMethodStart
final private boolean applyToAllClasses
final private boolean applyToAllMembers
@@ -162,8 +165,8 @@ class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
private final String basename
@SuppressWarnings('ParameterCount')
- TimedInterruptionVisitor(source, checkOnMethodStart, applyToAllClasses, applyToAllMembers, maximum, unit, thrown, hash) {
- this.source = source
+ TimedInterruptionVisitor(SourceUnit source, checkOnMethodStart, applyToAllClasses, applyToAllMembers, maximum, unit, thrown, hash) {
+ this.sourceUnit = source
this.checkOnMethodStart = checkOnMethodStart
this.applyToAllClasses = applyToAllClasses
this.applyToAllMembers = applyToAllMembers
@@ -176,9 +179,8 @@ class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
/**
* @return Returns the interruption check statement.
*/
- final createInterruptStatement() {
+ private Statement createInterruptStatement() {
ifS(
-
ltX(
propX(varX('this'), basename + '$expireTime'),
callX(make(System), 'nanoTime')
@@ -210,10 +212,10 @@ class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
* second one the statement to be wrapped.
*/
private wrapBlock(statement) {
- def stmt = new BlockStatement()
- stmt.addStatement(createInterruptStatement())
- stmt.addStatement(statement)
- stmt
+ block().tap {
+ addStatement(createInterruptStatement())
+ addStatement(statement)
+ }
}
@Override
@@ -234,10 +236,11 @@ class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
)
)
expireTimeField.synthetic = true
+ ClassNode dateClass = make(Date)
startTimeField = node.addField(basename + '$startTime',
ACC_FINAL | ACC_PRIVATE,
- make(Date),
- ctorX(make(Date))
+ dateClass,
+ ctorX(dateClass)
)
startTimeField.synthetic = true
@@ -293,13 +296,13 @@ class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
}
@Override
- void visitDoWhileLoop(final DoWhileStatement doWhileStatement) {
+ void visitDoWhileLoop(DoWhileStatement doWhileStatement) {
visitLoop(doWhileStatement)
super.visitDoWhileLoop(doWhileStatement)
}
@Override
- void visitWhileLoop(final WhileStatement whileStatement) {
+ void visitWhileLoop(WhileStatement whileStatement) {
visitLoop(whileStatement)
super.visitWhileLoop(whileStatement)
}
@@ -314,9 +317,5 @@ class TimedInterruptibleASTTransformation extends AbstractASTTransformation {
super.visitMethod(node)
}
}
-
- protected SourceUnit getSourceUnit() {
- source
- }
}
}