org.joni
Class AsmCompilerSupport

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

abstract class AsmCompilerSupport
extends Compiler
implements org.objectweb.asm.Opcodes, AsmConstants


Nested Class Summary
private static class AsmCompilerSupport.DummyClassLoader
           
 
Field Summary
protected  int bitsets
           
protected  org.objectweb.asm.ClassWriter factory
           
protected  org.objectweb.asm.MethodVisitor factoryInit
           
protected  String factoryName
           
private static AsmCompilerSupport.DummyClassLoader loader
           
protected  org.objectweb.asm.ClassWriter machine
           
protected  org.objectweb.asm.MethodVisitor machineInit
           
protected  String machineName
           
protected  org.objectweb.asm.MethodVisitor match
           
protected  int maxStack
           
protected  int maxVars
           
protected  int ranges
           
(package private) static int REG_NUM
           
protected  int 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
AsmCompilerSupport(Analyser analyser)
           
 
Method Summary
protected  void aload(int var)
           
protected  void astore(int var)
           
private  void buildArray(int index, int value, int type)
           
private  void installArray(String name, byte[] arr, int p, int length)
           
private  void installArray(String name, int[] arr)
           
protected  String installBitSet(int[] arr)
           
protected  String installCodeRange(int[] arr)
           
protected  String installTemplate(byte[] arr, int p, int length)
           
protected  void load(int var)
           
protected  void load(String field)
           
protected  void load(String field, String singature)
           
private  void loadInt(org.objectweb.asm.MethodVisitor mv, int value)
           
protected  void loadThis()
           
protected  void move(int to, int from)
           
protected  void prepareFactory()
           
protected  void prepareFactoryInit()
           
protected  void prepareMachine()
           
protected  void prepareMachineInit()
           
protected  void prepareMachineMatch()
           
protected  void setupClasses()
           
protected  void setupFactoryInit()
           
protected  void setupMachineInit()
           
protected  void setupMachineMatch()
           
protected  void store(int var)
           
protected  void store(String field)
           
protected  void store(String field, String singature)
           
 
Methods inherited from class org.joni.Compiler
addCompileString, compile, compileAltNode, compileAnchorNode, compileAnyCharNode, compileBackrefNode, compileCallNode, compileCClassNode, compileCECQuantifierNode, compileCTypeNode, compileEncloseNode, compileNonCECQuantifierNode, compileOptionNode, compileTree, compileTreeNTimes, finish, newInternalException, newSyntaxException, prepare
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

factory

protected org.objectweb.asm.ClassWriter factory

factoryInit

protected org.objectweb.asm.MethodVisitor factoryInit

factoryName

protected String factoryName

machine

protected org.objectweb.asm.ClassWriter machine

machineInit

protected org.objectweb.asm.MethodVisitor machineInit

match

protected org.objectweb.asm.MethodVisitor match

machineName

protected String machineName

maxStack

protected int maxStack

maxVars

protected int maxVars

bitsets

protected int bitsets

ranges

protected int ranges

templates

protected int templates

REG_NUM

static int REG_NUM

loader

private static final AsmCompilerSupport.DummyClassLoader loader
Constructor Detail

AsmCompilerSupport

AsmCompilerSupport(Analyser analyser)
Method Detail

prepareFactory

protected final void prepareFactory()

prepareFactoryInit

protected final void prepareFactoryInit()

setupFactoryInit

protected final void setupFactoryInit()

prepareMachine

protected final void prepareMachine()

prepareMachineInit

protected final void prepareMachineInit()

setupMachineInit

protected final void setupMachineInit()

prepareMachineMatch

protected final void prepareMachineMatch()

setupMachineMatch

protected final void setupMachineMatch()

setupClasses

protected final void setupClasses()

aload

protected final void aload(int var)

astore

protected final void astore(int var)

loadThis

protected final void loadThis()

load

protected final void load(int var)

store

protected final void store(int var)

move

protected final void move(int to,
                          int from)

load

protected final void load(String field,
                          String singature)

load

protected final void load(String field)

store

protected final void store(String field,
                           String singature)

store

protected final void store(String field)

installTemplate

protected final String installTemplate(byte[] arr,
                                       int p,
                                       int length)

installCodeRange

protected final String installCodeRange(int[] arr)

installBitSet

protected final String installBitSet(int[] arr)

installArray

private void installArray(String name,
                          int[] arr)

installArray

private void installArray(String name,
                          byte[] arr,
                          int p,
                          int length)

buildArray

private void buildArray(int index,
                        int value,
                        int type)

loadInt

private void loadInt(org.objectweb.asm.MethodVisitor mv,
                     int value)


Copyright © 2013. All Rights Reserved.