[jruby-joni] 87/194: devirtualize getType()
Hideki Yamane
henrich at moszumanska.debian.org
Thu Feb 1 12:04:30 UTC 2018
This is an automated email from the git hooks/post-receive script.
henrich pushed a commit to branch debian/sid
in repository jruby-joni.
commit 69d01f76518dd004ae1780534523601df7fb683d
Author: Marcin Mielzynski <lopx at gazeta.pl>
Date: Tue Jan 2 19:45:57 2018 +0100
devirtualize getType()
---
src/org/joni/ast/AnchorNode.java | 6 +-----
src/org/joni/ast/AnyCharNode.java | 7 ++-----
src/org/joni/ast/BackRefNode.java | 6 +-----
src/org/joni/ast/CClassNode.java | 9 +++------
src/org/joni/ast/CTypeNode.java | 6 +-----
src/org/joni/ast/CallNode.java | 6 +-----
src/org/joni/ast/ConsAltNode.java | 9 +--------
src/org/joni/ast/EncloseNode.java | 6 +-----
src/org/joni/ast/Node.java | 10 ++++++++--
src/org/joni/ast/QuantifierNode.java | 6 +-----
src/org/joni/ast/StateNode.java | 4 ++++
src/org/joni/ast/StringNode.java | 7 ++-----
12 files changed, 26 insertions(+), 56 deletions(-)
diff --git a/src/org/joni/ast/AnchorNode.java b/src/org/joni/ast/AnchorNode.java
index 8651df7..205091e 100644
--- a/src/org/joni/ast/AnchorNode.java
+++ b/src/org/joni/ast/AnchorNode.java
@@ -28,6 +28,7 @@ public final class AnchorNode extends Node {
public int charLength;
public AnchorNode(int type, boolean asciiRange) {
+ super(ANCHOR);
this.type = type;
charLength = -1;
this.asciiRange = asciiRange;
@@ -38,11 +39,6 @@ public final class AnchorNode extends Node {
}
@Override
- public int getType() {
- return ANCHOR;
- }
-
- @Override
protected void setChild(Node newChild) {
target = newChild;
}
diff --git a/src/org/joni/ast/AnyCharNode.java b/src/org/joni/ast/AnyCharNode.java
index 5b4f9b6..33f43c8 100644
--- a/src/org/joni/ast/AnyCharNode.java
+++ b/src/org/joni/ast/AnyCharNode.java
@@ -20,11 +20,8 @@
package org.joni.ast;
public final class AnyCharNode extends Node {
- public AnyCharNode(){}
-
- @Override
- public int getType() {
- return CANY;
+ public AnyCharNode(){
+ super(CANY);
}
@Override
diff --git a/src/org/joni/ast/BackRefNode.java b/src/org/joni/ast/BackRefNode.java
index b434419..76c89a3 100644
--- a/src/org/joni/ast/BackRefNode.java
+++ b/src/org/joni/ast/BackRefNode.java
@@ -30,6 +30,7 @@ public final class BackRefNode extends StateNode {
public int nestLevel;
public BackRefNode(int backNum, int[]backRefs, boolean byName, ScanEnvironment env) {
+ super(BREF);
this.backNum = backNum;
if (byName) setNameRef();
@@ -68,11 +69,6 @@ public final class BackRefNode extends StateNode {
}
@Override
- public int getType() {
- return BREF;
- }
-
- @Override
public String getName() {
return "Back Ref";
}
diff --git a/src/org/joni/ast/CClassNode.java b/src/org/joni/ast/CClassNode.java
index 6930a15..ab18b2e 100644
--- a/src/org/joni/ast/CClassNode.java
+++ b/src/org/joni/ast/CClassNode.java
@@ -39,7 +39,9 @@ public final class CClassNode extends Node {
public CodeRangeBuffer mbuf; /* multi-byte info or NULL */
// node_new_cclass
- public CClassNode() {}
+ public CClassNode() {
+ super(CCLASS);
+ }
public void clear() {
bs.clear();
@@ -48,11 +50,6 @@ public final class CClassNode extends Node {
}
@Override
- public int getType() {
- return CCLASS;
- }
-
- @Override
public String getName() {
return "Character Class";
}
diff --git a/src/org/joni/ast/CTypeNode.java b/src/org/joni/ast/CTypeNode.java
index fec4bf4..fd14de4 100644
--- a/src/org/joni/ast/CTypeNode.java
+++ b/src/org/joni/ast/CTypeNode.java
@@ -25,17 +25,13 @@ public final class CTypeNode extends Node {
public final boolean asciiRange;
public CTypeNode(int type, boolean not, boolean asciiRange) {
+ super(CTYPE);
this.ctype= type;
this.not = not;
this.asciiRange = asciiRange;
}
@Override
- public int getType() {
- return CTYPE;
- }
-
- @Override
public String getName() {
return "Character Type";
}
diff --git a/src/org/joni/ast/CallNode.java b/src/org/joni/ast/CallNode.java
index eeb18ab..19ffc80 100644
--- a/src/org/joni/ast/CallNode.java
+++ b/src/org/joni/ast/CallNode.java
@@ -34,6 +34,7 @@ public final class CallNode extends StateNode {
public UnsetAddrList unsetAddrList;
public CallNode(byte[]name, int nameP, int nameEnd, int gnum) {
+ super(CALL);
this.name = name;
this.nameP = nameP;
this.nameEnd = nameEnd;
@@ -41,11 +42,6 @@ public final class CallNode extends StateNode {
}
@Override
- public int getType() {
- return CALL;
- }
-
- @Override
protected void setChild(Node newChild) {
target = newChild;
}
diff --git a/src/org/joni/ast/ConsAltNode.java b/src/org/joni/ast/ConsAltNode.java
index 4e4d0e8..cb39146 100644
--- a/src/org/joni/ast/ConsAltNode.java
+++ b/src/org/joni/ast/ConsAltNode.java
@@ -28,15 +28,13 @@ import org.joni.exception.InternalException;
public final class ConsAltNode extends Node {
public Node car;
public ConsAltNode cdr;
- private int type; // List or Alt
private ConsAltNode(Node car, ConsAltNode cdr, int type) {
+ super(type);
this.car = car;
if (car != null) car.parent = this;
this.cdr = cdr;
if (cdr != null) cdr.parent = this;
-
- this.type = type;
}
public static ConsAltNode newAltNode(Node left, ConsAltNode right) {
@@ -68,11 +66,6 @@ public final class ConsAltNode extends Node {
}
@Override
- public int getType() {
- return type;
- }
-
- @Override
protected void setChild(Node newChild) {
car = newChild;
}
diff --git a/src/org/joni/ast/EncloseNode.java b/src/org/joni/ast/EncloseNode.java
index d5c5ea3..17646ac 100644
--- a/src/org/joni/ast/EncloseNode.java
+++ b/src/org/joni/ast/EncloseNode.java
@@ -37,6 +37,7 @@ public final class EncloseNode extends StateNode implements EncloseType {
// node_new_enclose / onig_node_new_enclose
public EncloseNode(int type) {
+ super(ENCLOSE);
this.type = type;
callAddr = -1;
}
@@ -55,11 +56,6 @@ public final class EncloseNode extends StateNode implements EncloseType {
}
@Override
- public int getType() {
- return ENCLOSE;
- }
-
- @Override
protected void setChild(Node newChild) {
target = newChild;
}
diff --git a/src/org/joni/ast/Node.java b/src/org/joni/ast/Node.java
index 3644b15..1d727f5 100644
--- a/src/org/joni/ast/Node.java
+++ b/src/org/joni/ast/Node.java
@@ -21,14 +21,20 @@ package org.joni.ast;
import java.util.Set;
-import org.joni.Config;
import org.joni.WarnCallback;
import org.joni.constants.NodeType;
public abstract class Node implements NodeType {
public Node parent;
+ protected int type;
- public abstract int getType();
+ Node(int type) {
+ this.type = type;
+ }
+
+ public final int getType() {
+ return type;
+ }
public final int getType2Bit() {
return 1 << getType();
diff --git a/src/org/joni/ast/QuantifierNode.java b/src/org/joni/ast/QuantifierNode.java
index 3074c74..78fc51e 100644
--- a/src/org/joni/ast/QuantifierNode.java
+++ b/src/org/joni/ast/QuantifierNode.java
@@ -41,6 +41,7 @@ public final class QuantifierNode extends StateNode {
public int combExpCheckNum; /* 1,2,3...: check, 0: no check */
public QuantifierNode(int lower, int upper, boolean byNumber) {
+ super(QTFR);
this.lower = lower;
this.upper = upper;
greedy = true;
@@ -50,11 +51,6 @@ public final class QuantifierNode extends StateNode {
}
@Override
- public int getType() {
- return QTFR;
- }
-
- @Override
protected void setChild(Node newChild) {
target = newChild;
}
diff --git a/src/org/joni/ast/StateNode.java b/src/org/joni/ast/StateNode.java
index be25bec..6642b75 100644
--- a/src/org/joni/ast/StateNode.java
+++ b/src/org/joni/ast/StateNode.java
@@ -24,6 +24,10 @@ import org.joni.constants.NodeStatus;
public abstract class StateNode extends Node implements NodeStatus {
protected int state;
+ StateNode(int type) {
+ super(type);
+ }
+
public boolean isMinFixed() {
return (state & NST_MIN_FIXED) != 0;
}
diff --git a/src/org/joni/ast/StringNode.java b/src/org/joni/ast/StringNode.java
index 9a57f72..5db44b5 100644
--- a/src/org/joni/ast/StringNode.java
+++ b/src/org/joni/ast/StringNode.java
@@ -35,10 +35,12 @@ public final class StringNode extends Node implements StringType {
public int flag;
public StringNode() {
+ super(STR);
this.bytes = new byte[NODE_STR_BUF_SIZE];
}
public StringNode(byte[]bytes, int p, int end) {
+ super(STR);
this.bytes = bytes;
this.p = p;
this.end = end;
@@ -79,11 +81,6 @@ public final class StringNode extends Node implements StringType {
}
@Override
- public int getType() {
- return STR;
- }
-
- @Override
public String getName() {
return "String";
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git
More information about the pkg-java-commits
mailing list