org.joni
Class AsmCompiler

java.lang.Object
  extended by org.joni.Compiler
      extended by org.joni.AsmCompilerSupport
          extended by org.joni.AsmCompiler
All Implemented Interfaces:
org.jcodings.exception.ErrorMessages, AsmConstants, org.objectweb.asm.Opcodes

final class AsmCompiler
extends AsmCompilerSupport


Field Summary
 
Fields inherited from class org.joni.AsmCompilerSupport
bitsets, factory, factoryInit, factoryName, machine, machineInit, machineName, match, maxStack, maxVars, ranges, REG_NUM, templates
 
Fields inherited from class org.joni.Compiler
analyser, enc, regex
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7
 
Fields inherited from interface org.joni.constants.AsmConstants
BITSET, BYTES, CODERANGE, END, LAST_INDEX, MSA_BEGIN, MSA_BEST_LEN, MSA_BEST_S, MSA_END, MSA_OPTONS, MSA_START, RANGE, S, SPREV, SSTART, STR, TEMPLATE, THIS
 
Fields inherited from interface org.joni.exception.ErrorMessages
ERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE, ERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE, ERR_CONTROL_CODE_SYNTAX, ERR_DEFAULT_ENCODING_IS_NOT_SETTED, ERR_EMPTY_CHAR_CLASS, ERR_EMPTY_GROUP_NAME, ERR_EMPTY_RANGE_IN_CHAR_CLASS, ERR_END_PATTERN_AT_CONTROL, ERR_END_PATTERN_AT_ESCAPE, ERR_END_PATTERN_AT_LEFT_BRACE, ERR_END_PATTERN_AT_LEFT_BRACKET, ERR_END_PATTERN_AT_META, ERR_END_PATTERN_IN_GROUP, ERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS, ERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY, ERR_INVALID_ARGUMENT, ERR_INVALID_BACKREF, ERR_INVALID_CHAR_IN_GROUP_NAME, ERR_INVALID_COMBINATION_OF_OPTIONS, ERR_INVALID_GROUP_NAME, ERR_INVALID_LOOK_BEHIND_PATTERN, ERR_INVALID_POSIX_BRACKET_TYPE, ERR_INVALID_REPEAT_RANGE_PATTERN, ERR_INVALID_WIDE_CHAR_VALUE, ERR_MATCH_STACK_LIMIT_OVER, ERR_MEMORY, ERR_META_CODE_SYNTAX, ERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE, ERR_MULTIPLEX_DEFINED_NAME, ERR_MULTIPLEX_DEFINITION_NAME_CALL, ERR_NESTED_REPEAT_OPERATOR, ERR_NEVER_ENDING_RECURSION, ERR_NOT_SUPPORTED_ENCODING_COMBINATION, ERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED, ERR_OVER_THREAD_PASS_LIMIT_COUNT, ERR_PARSER_BUG, ERR_PREMATURE_END_OF_CHAR_CLASS, ERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR, ERR_STACK_BUG, ERR_TARGET_OF_REPEAT_OPERATOR_INVALID, ERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED, ERR_TOO_BIG_BACKREF_NUMBER, ERR_TOO_BIG_NUMBER, ERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE, ERR_TOO_BIG_SB_CHAR_VALUE, ERR_TOO_MANY_MULTI_BYTE_RANGES, ERR_TOO_SHORT_MULTI_BYTE_STRING, ERR_TYPE_BUG, ERR_UNDEFINED_BYTECODE, ERR_UNDEFINED_GROUP_OPTION, ERR_UNDEFINED_GROUP_REFERENCE, ERR_UNDEFINED_NAME_REFERENCE, ERR_UNEXPECTED_BYTECODE, ERR_UNMATCHED_CLOSE_PARENTHESIS, ERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS, ERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE, MISMATCH, NO_SUPPORT_CONFIG
 
Fields inherited from interface org.jcodings.exception.ErrorMessages
ERR_COULD_NOT_REPLICATE, ERR_ENCODING_ALIAS_ALREADY_REGISTERED, ERR_ENCODING_ALREADY_REGISTERED, ERR_ENCODING_CLASS_DEF_NOT_FOUND, ERR_ENCODING_LOAD_ERROR, ERR_ENCODING_REPLICA_ALREADY_REGISTERED, ERR_ILLEGAL_CHARACTER, ERR_INVALID_CHAR_PROPERTY_NAME, ERR_INVALID_CODE_POINT_VALUE, ERR_NO_SUCH_ENCODNG, ERR_TOO_BIG_WIDE_CHAR_VALUE, ERR_TOO_LONG_WIDE_CHAR_VALUE, ERR_TRANSCODER_ALREADY_REGISTERED, ERR_TRANSCODER_CLASS_DEF_NOT_FOUND, ERR_TRANSCODER_LOAD_ERROR
 
Constructor Summary
AsmCompiler(Analyser analyser)
           
 
Method Summary
protected  void addCompileString(byte[] bytes, int p, int mbLength, int strLength, boolean ignoreCase)
           
protected  void compileAltNode(ConsAltNode node)
           
protected  void compileAnchorNode(AnchorNode node)
           
protected  void compileAnyCharNode()
           
protected  void compileBackrefNode(BackRefNode node)
           
protected  void compileCallNode(CallNode node)
           
protected  void compileCClassNode(CClassNode node)
           
protected  void compileCECQuantifierNode(QuantifierNode node)
           
protected  void compileCTypeNode(CTypeNode node)
           
protected  void compileEncloseNode(EncloseNode node)
           
protected  void compileNonCECQuantifierNode(QuantifierNode node)
           
protected  void compileOptionNode(EncloseNode node)
           
protected  void finish()
           
protected  void prepare()
           
 
Methods inherited from class org.joni.AsmCompilerSupport
aload, astore, installBitSet, installCodeRange, installTemplate, load, load, load, loadThis, move, prepareFactory, prepareFactoryInit, prepareMachine, prepareMachineInit, prepareMachineMatch, setupClasses, setupFactoryInit, setupMachineInit, setupMachineMatch, store, store, store
 
Methods inherited from class org.joni.Compiler
compile, compileTree, compileTreeNTimes, newInternalException, newSyntaxException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AsmCompiler

public AsmCompiler(Analyser analyser)
Method Detail

prepare

protected void prepare()
Specified by:
prepare in class Compiler

finish

protected void finish()
Specified by:
finish in class Compiler

compileAltNode

protected void compileAltNode(ConsAltNode node)
Specified by:
compileAltNode in class Compiler

addCompileString

protected void addCompileString(byte[] bytes,
                                int p,
                                int mbLength,
                                int strLength,
                                boolean ignoreCase)
Specified by:
addCompileString in class Compiler

compileCClassNode

protected void compileCClassNode(CClassNode node)
Specified by:
compileCClassNode in class Compiler

compileCTypeNode

protected void compileCTypeNode(CTypeNode node)
Specified by:
compileCTypeNode in class Compiler

compileAnyCharNode

protected void compileAnyCharNode()
Specified by:
compileAnyCharNode in class Compiler

compileBackrefNode

protected void compileBackrefNode(BackRefNode node)
Specified by:
compileBackrefNode in class Compiler

compileCallNode

protected void compileCallNode(CallNode node)
Specified by:
compileCallNode in class Compiler

compileCECQuantifierNode

protected void compileCECQuantifierNode(QuantifierNode node)
Specified by:
compileCECQuantifierNode in class Compiler

compileNonCECQuantifierNode

protected void compileNonCECQuantifierNode(QuantifierNode node)
Specified by:
compileNonCECQuantifierNode in class Compiler

compileOptionNode

protected void compileOptionNode(EncloseNode node)
Specified by:
compileOptionNode in class Compiler

compileEncloseNode

protected void compileEncloseNode(EncloseNode node)
Specified by:
compileEncloseNode in class Compiler

compileAnchorNode

protected void compileAnchorNode(AnchorNode node)
Specified by:
compileAnchorNode in class Compiler


Copyright © 2013. All Rights Reserved.