org.joni.ast
Class CClassNode

java.lang.Object
  extended by org.joni.ast.Node
      extended by org.joni.ast.CClassNode
All Implemented Interfaces:
NodeType

public final class CClassNode
extends Node


Nested Class Summary
static class CClassNode.CCStateArg
           
 
Field Summary
 BitSet bs
           
private  int ctype
           
private  org.jcodings.Encoding enc
           
private static int FLAG_NCCLASS_NOT
           
private static int FLAG_NCCLASS_SHARE
           
(package private)  int flags
           
 CodeRangeBuffer mbuf
           
 
Fields inherited from class org.joni.ast.Node
parent
 
Fields inherited from interface org.joni.constants.NodeType
ALLOWED_IN_LB, ALT, ANCHOR, BIT_ALT, BIT_ANCHOR, BIT_BREF, BIT_CALL, BIT_CANY, BIT_CCLASS, BIT_CTYPE, BIT_ENCLOSE, BIT_LIST, BIT_QTFR, BIT_STR, BREF, CALL, CANY, CCLASS, CTYPE, ENCLOSE, LIST, QTFR, SIMPLE, STR
 
Constructor Summary
CClassNode()
           
CClassNode(boolean not, int sbOut, int[] ranges)
           
CClassNode(int ctype, org.jcodings.Encoding enc, boolean not, int sbOut, int[] ranges)
           
 
Method Summary
 void addAllMultiByteRange(org.jcodings.Encoding enc)
           
 void addCodeRange(ScanEnvironment env, int from, int to)
           
 void addCodeRangeToBuf(int from, int to)
           
 void addCType(int ctype, boolean not, ScanEnvironment env, org.jcodings.IntHolder sbOut)
           
 void addCTypeByRange(int ctype, boolean not, org.jcodings.Encoding enc, int sbOut, int[] mbr)
           
 void and(CClassNode other, org.jcodings.Encoding enc)
           
 void clear()
           
 void clearNot()
           
 void clearNotFlag(org.jcodings.Encoding enc)
           
 void clearShare()
           
 boolean equals(Object other)
           
 String flagsToString()
           
 String getName()
           
 int getType()
           
 int hashCode()
           
 boolean isCodeInCC(org.jcodings.Encoding enc, int code)
           
 boolean isCodeInCCLength(int encLength, int code)
           
 boolean isEmpty()
           
 boolean isNot()
           
 boolean isShare()
           
 void nextStateClass(CClassNode.CCStateArg arg, ScanEnvironment env)
           
 void nextStateValue(CClassNode.CCStateArg arg, ScanEnvironment env)
           
 void or(CClassNode other, org.jcodings.Encoding enc)
           
 void setNot()
           
 void setShare()
           
private  void setupBuffer(int[] ranges)
           
 String toString(int level)
           
 
Methods inherited from class org.joni.ast.Node
getAddressName, getChild, getType2Bit, isAllowedInLookBehind, isInvalidQuantifier, isSimple, pad, setChild, swap, toString, verifyTree
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

FLAG_NCCLASS_NOT

private static final int FLAG_NCCLASS_NOT
See Also:
Constant Field Values

FLAG_NCCLASS_SHARE

private static final int FLAG_NCCLASS_SHARE
See Also:
Constant Field Values

flags

int flags

bs

public final BitSet bs

mbuf

public CodeRangeBuffer mbuf

ctype

private int ctype

enc

private org.jcodings.Encoding enc
Constructor Detail

CClassNode

public CClassNode()

CClassNode

public CClassNode(int ctype,
                  org.jcodings.Encoding enc,
                  boolean not,
                  int sbOut,
                  int[] ranges)

CClassNode

public CClassNode(boolean not,
                  int sbOut,
                  int[] ranges)
Method Detail

clear

public void clear()

getType

public int getType()
Specified by:
getType in class Node

getName

public String getName()
Specified by:
getName in class Node

equals

public boolean equals(Object other)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString(int level)
Specified by:
toString in class Node

flagsToString

public String flagsToString()

setupBuffer

private void setupBuffer(int[] ranges)

isEmpty

public boolean isEmpty()

addCodeRangeToBuf

public void addCodeRangeToBuf(int from,
                              int to)

addCodeRange

public void addCodeRange(ScanEnvironment env,
                         int from,
                         int to)

addAllMultiByteRange

public void addAllMultiByteRange(org.jcodings.Encoding enc)

clearNotFlag

public void clearNotFlag(org.jcodings.Encoding enc)

and

public void and(CClassNode other,
                org.jcodings.Encoding enc)

or

public void or(CClassNode other,
               org.jcodings.Encoding enc)

addCTypeByRange

public void addCTypeByRange(int ctype,
                            boolean not,
                            org.jcodings.Encoding enc,
                            int sbOut,
                            int[] mbr)

addCType

public void addCType(int ctype,
                     boolean not,
                     ScanEnvironment env,
                     org.jcodings.IntHolder sbOut)

nextStateClass

public void nextStateClass(CClassNode.CCStateArg arg,
                           ScanEnvironment env)

nextStateValue

public void nextStateValue(CClassNode.CCStateArg arg,
                           ScanEnvironment env)

isCodeInCCLength

public boolean isCodeInCCLength(int encLength,
                                int code)

isCodeInCC

public boolean isCodeInCC(org.jcodings.Encoding enc,
                          int code)

setNot

public void setNot()

clearNot

public void clearNot()

isNot

public boolean isNot()

setShare

public void setShare()

clearShare

public void clearShare()

isShare

public boolean isShare()


Copyright © 2013. All Rights Reserved.