From commits-return-8255-archive-asf-public=cust-asf.ponee.io@groovy.apache.org Fri Apr 12 00:28:17 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 2706718065D for ; Fri, 12 Apr 2019 02:28:17 +0200 (CEST) Received: (qmail 55257 invoked by uid 500); 12 Apr 2019 00:28:16 -0000 Mailing-List: contact commits-help@groovy.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@groovy.apache.org Delivered-To: mailing list commits@groovy.apache.org Received: (qmail 55230 invoked by uid 99); 12 Apr 2019 00:28:16 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Apr 2019 00:28:16 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 4787E814C1; Fri, 12 Apr 2019 00:28:16 +0000 (UTC) Date: Fri, 12 Apr 2019 00:28:17 +0000 To: "commits@groovy.apache.org" Subject: [groovy] 01/03: GROOVY-9078: Inefficiency in MethodNode and ConstructorNode MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: paulk@apache.org In-Reply-To: <155502889610.29459.15694925659614651011@gitbox.apache.org> References: <155502889610.29459.15694925659614651011@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: groovy X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Rev: fda625f5a5fa63995a8f973e303c872cc26b16d0 X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20190412002816.4787E814C1@gitbox.apache.org> This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git commit fda625f5a5fa63995a8f973e303c872cc26b16d0 Author: Paul King AuthorDate: Fri Apr 12 10:24:49 2019 +1000 GROOVY-9078: Inefficiency in MethodNode and ConstructorNode remove redundant call --- .../java/org/codehaus/groovy/ast/ConstructorNode.java | 16 ++++------------ src/main/java/org/codehaus/groovy/ast/MethodNode.java | 2 -- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java b/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java index 66fbed4..da9a87f 100644 --- a/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java +++ b/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java @@ -23,27 +23,19 @@ import org.codehaus.groovy.ast.expr.Expression; import org.codehaus.groovy.ast.stmt.ExpressionStatement; import org.codehaus.groovy.ast.stmt.Statement; - /** * Represents a constructor declaration */ public class ConstructorNode extends MethodNode { - + public ConstructorNode(int modifiers, Statement code) { this(modifiers, Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, code); } - + public ConstructorNode(int modifiers, Parameter[] parameters, ClassNode[] exceptions, Statement code) { - super("",modifiers,ClassHelper.VOID_TYPE,parameters,exceptions,code); - - // This variable scope is thrown out and replaced with a different one during semantic analysis. - VariableScope scope = new VariableScope(); - for (int i = 0; i < parameters.length; i++) { - scope.putDeclaredVariable(parameters[i]); - } - this.setVariableScope(scope); + super("", modifiers, ClassHelper.VOID_TYPE, parameters, exceptions, code); } - + public boolean firstStatementIsSpecialConstructorCall() { Statement code = getFirstStatement(); if (!(code instanceof ExpressionStatement)) return false; diff --git a/src/main/java/org/codehaus/groovy/ast/MethodNode.java b/src/main/java/org/codehaus/groovy/ast/MethodNode.java index 25e0aca..37e44ee 100644 --- a/src/main/java/org/codehaus/groovy/ast/MethodNode.java +++ b/src/main/java/org/codehaus/groovy/ast/MethodNode.java @@ -54,8 +54,6 @@ public class MethodNode extends AnnotatedNode implements Opcodes { this.modifiers = modifiers; this.code = code; setReturnType(returnType); - VariableScope scope = new VariableScope(); - setVariableScope(scope); setParameters(parameters); this.hasDefault = false; this.exceptions = exceptions;