org.mozilla.classfile.ClassFileWriter.class Maven / Gradle / Ivy
The newest version!
???? 1?
?? ???
? ?? ?? ?? ?? ???
? ??
? ?? ??
? ?? ???
?
?
?
?
??
??
? ?
?
?
?
? ???
#? ????
&
? ? ? ?
? ?
1 ?
?
? ?
? ?
? ? ? ?
?
# ? ? ?
?
K
?
?!
?"? ??#
?$
?%&'()*+
?,
?-
.
/0123
45
6
?7
8
9:
?;
?<
?=??
?>
?
?@A
?B ?C
?C
DEFG
H
?IJ
?K
L
M
N
O
?P
?QRSTUVWX ?YZ???[\
?] ?^_
??`abcde
?f
?g
hi?
j
j
#j
?j???? -
?k
l
m
l
#lno
p
qrstuv ClassFileFormatException InnerClasses
ACC_PUBLIC S
ConstantValue ACC_PRIVATE
ACC_PROTECTED
ACC_STATIC ACC_FINAL ACC_SYNCHRONIZED ACC_VOLATILE @
ACC_TRANSIENT ?
ACC_NATIVE ACC_ABSTRACT LineNumberTableSize I ExceptionTableSize FileHeaderConstant J
DEBUGSTACK Z DEBUGLABELS DEBUGCODE generatedClassName Ljava/lang/String; itsExceptionTable ,[Lorg/mozilla/classfile/ExceptionTableEntry; itsExceptionTableTop itsLineNumberTable [I itsLineNumberTableTop
itsCodeBuffer [B itsCodeBufferTop itsConstantPool $Lorg/mozilla/classfile/ConstantPool; itsCurrentMethod 'Lorg/mozilla/classfile/ClassFileMethod; itsStackTop itsMaxStack itsMaxLocals
itsMethods !Lorg/mozilla/javascript/ObjArray; itsFields
itsInterfaces itsFlags itsThisClassIndex itsSuperClassIndex itsSourceFileNameIndex MIN_LABEL_TABLE_SIZE
itsLabelTable itsLabelTableTop MIN_FIXUP_TABLE_SIZE (
itsFixupTable [J itsFixupTableTop itsVarDescriptors
tmpCharBuffer [C 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V Code LineNumberTable LocalVariableTable this 'Lorg/mozilla/classfile/ClassFileWriter; className superClassName sourceFileName getClassName ()Ljava/lang/String; addInterface (Ljava/lang/String;)V
interfaceName interfaceIndex setFlags (S)V flags getSlashedForm &(Ljava/lang/String;)Ljava/lang/String; name classNameToSignature i
nameLength colonPos buf addField ((Ljava/lang/String;Ljava/lang/String;S)V fieldName type fieldNameIndex typeIndex )(Ljava/lang/String;Ljava/lang/String;SI)V value field &Lorg/mozilla/classfile/ClassFileField; )(Ljava/lang/String;Ljava/lang/String;SJ)V )(Ljava/lang/String;Ljava/lang/String;SD)V D addVariableDescriptor )(Ljava/lang/String;Ljava/lang/String;II)V startPC register nameIndex descriptorIndex chunk startMethod
methodName methodNameIndex
stopMethod ete +Lorg/mozilla/classfile/ExceptionTableEntry; endPC handlerPC catchType lineNumberTableAttrIndex tableAttrLength length variableTableAttrIndex varCount maxLocals lineNumberTableLength variableTableLength
attrLength
codeAttribute index
codeAttrIndex attributeCount add (I)V theOpCode newStack (II)V offset targetPC branchPC
theOperand addLoadConstant k (J)V (F)V F (D)V (III)V theOperand1 theOperand2 (ILjava/lang/String;)V
classIndex :(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V fieldType
fieldTypeChar C fieldSize
fieldRefIndex addInvoke ifMethodRefIndex methodRefIndex
methodType
parameterInfo parameterCount stackDiff addPush (Z)V ik s limit SB cursor isUnderStringSizeLimit (Ljava/lang/String;)Z addIStore local addLStore addFStore addDStore addAStore addILoad addLLoad addFLoad addDLoad addALoad addLoadThis ()V xop shortOp op addTableSwitch (II)I low high
entryCount padSize N switchStart markTableSwitchDefault markTableSwitchCase caseIndex stackTop setTableSwitchJump
caseOffset
jumpTarget acquireLabel ()I tmp top markLabel label (IS)V markHandler theLabel
getLabelPC (I)I
addLabelFixup fixupSite
fixLabelGotos fixup pc
codeBuffer getCurrentCodeOffset getStackTop ()S setStackTop n adjustStackTop delta addToCodeBuffer b addToCodeInt16 addReservedCodeSpace newSize size oldTop newTop addExceptionHandler (IIILjava/lang/String;)V
startLabel endLabel handlerLabel catchClassName catch_type_index newEntry addLineNumberEntry
lineNumber write (Ljava/io/OutputStream;)V oStream Ljava/io/OutputStream; array
Exceptionsw getWriteSize toByteArray ()[B method dataSize data sourceFileAttributeNameIndex putInt64 (J[BI)I badStack sizeOfParameters (Ljava/lang/String;)I semicolon c ok count pString rightParenthesis putInt16 (I[BI)I putInt32 opcodeCount opcode stackChange bytecodeStr (I)Ljava/lang/String; code
getCharBuffer (I)[C minimalSize
SourceFile ClassFileWriter.java ?x ? ? org/mozilla/javascript/ObjArray ? ? ? ? ? ? ? ? ? ? "org/mozilla/classfile/ConstantPool ?x ? ?yz ? ? ? ?{z ? ? ? ? java/lang/Short ?B|}~7?? java/lang/String ?? $org/mozilla/classfile/ClassFileField ?????????? ? ? %org/mozilla/classfile/ClassFileMethod ? ? java/lang/IllegalStateException No method to stop ?
?x ? ? ? ? ? ??? ? ? ? ? >org/mozilla/classfile/ClassFileWriter$ClassFileFormatException 0generated bytecode for method exceeds 64K limit.???? ? ???? ? ?? ???? ?? ?? ? start label not defined end label not defined handler label not defined???? ? ? ? ? ? ??? "java/lang/IllegalArgumentException Unexpected operands???C?C Bad label for branch?C?F out of range byte out of range short out of range index out of range field out of range variable Unexpected opcode for 1 operandBCBF???? out of range increment out of range dimensions Unexpected opcode for 2 operands bad opcode for class reference?? bad opcode for field reference???????? bad opcode for method referenceKCcCKMKP??K
java/lang/StringBufferBT\V?? append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; toString?kyQ java/lang/StringBuilder Bad bounds: E?E?E?G???Q Bad stack index: Bad jump target: Bad case index: + is outside a possible range of tableswitch in already generated code ' is not offset of tableswitch statement Too big case index: ? ? Bad label, no biscuit Bad label Can only mark label once?C ? ? java/lang/RuntimeException (Program too complex: too big jump offset No method to add to Bad startLabel Bad endLabel Bad handlerLabel )org/mozilla/classfile/ExceptionTableEntry ??????????????? Stack underflow: Too big stack: ???} Bad parameter signature: Bad opcode: %org/mozilla/classfile/ClassFileWriter java/lang/Object java/io/IOException *(Lorg/mozilla/classfile/ClassFileWriter;)V addClass (Ljava/lang/String;)S addUtf8 (Ljava/lang/Object;)V replace (CC)Ljava/lang/String; getChars (II[CI)V ([CII)V (SSS)V addConstant
setAttributes (SSSI)V (J)I (D)I java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V
itsStartLabel itsEndLabel itsHandlerLabel itsCatchType get (I)Ljava/lang/Object; setCodeAttribute ([B)V (F)I charAt (I)C addFieldRef 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)S addInterfaceMethodRef addMethodRef getUtfEncodingLimit (Ljava/lang/String;II)I substring (II)Ljava/lang/String; isUnderUtfEncodingLimit -(Ljava/lang/String;)Ljava/lang/StringBuilder; (I)Ljava/lang/StringBuilder; (C)Ljava/lang/StringBuilder; (IIIS)V java/io/OutputStream ([BI)I
shortValue lastIndexOf indexOf ! ? ? + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? K ? ? ? ? u*? * ?? *? Y? ? *? Y? ? *? Y? ? *@?? *+? *?
Y*? ? **? +?
? **? ,?
? -? **? -? ? *? ? : U
#
.
6 V ; W G X S Y _ Z c [ o \ t ] * u u ? u ? u ? ? / *? ? a
? _ *? +?
=*? ? Y? ? ? o p q ? ?
? > *? ?
? ? ? ? 3 *./? ? ? ? ? ? L*? <`=`?N-LU-;U*-? 6? -4.? -/U???? Y-`? ? . ? ? ? ? ? ? ! ? * ? 3 ? 9 ? ? ? 4 $ ? L ? G ? C ? = ? ? ? (*? +? 6*? ,? 6*? ? Y? ? ? ?
? ? ' ? > ( ( ? ( ? ( ?
? ? ? ? E*? +? 6*? ,? 6? Y? :*? ? *? ? ? *? ? ? ?
? ? " ? ; ? D ? R E E ? E ? E ? E ?
; ? 1 ? " # ! " ? ? E*? +? 6*? ,? 6? Y? :*? ? *? ? ? *? ? ? ?
? ? " ? ; ? D ? R E E ? E ? E ? E ?
; ? 1 ? " # ! # ? ? E*? +? 6*? ,? 6? Y? :*? ? *? ? !? *? ? ? ?
? ? " ? ; ? D ? R E E ? E ? E ? E$
; ? 1 ? " # ! %&