public void Write(EndianBinaryWriter writer) { var modifierValue = (short) ((int) Modifiers & 0xAF); writer.Write(modifierValue); writer.Write(Name); writer.Write(Descriptor); writer.Write((short) Attributes.Count()); foreach (CompileAttribute attr in Attributes) { attr.Write(writer); } }
public void Write(EndianBinaryWriter writer) { var modifierValue = (short) ((int) Modifiers & 0xD3F); writer.Write(modifierValue); writer.Write(Name); writer.Write(Descriptor); writer.Write((short) Attributes.Count()); foreach (CompileAttribute attribute in Attributes) { writer.Write(attribute.NameIndex); writer.Write(attribute.Length); attribute.Write(writer); } }
private static void WriteElementValue(ElementValue value, EndianBinaryWriter writer) { switch ((char)value.Tag) { case 'B': case 'C': case 'D': case 'F': case 'I': case 'J': case 'S': case 'Z': case 's': writer.Write(value.ConstValueIndex); break; case 'e': writer.Write(value.TypeNameIndex); writer.Write(value.ConstNameIndex); break; case 'c': writer.Write(value.ClassInfoIndex); break; case '@': WriteAnnotation(value.AnnotationValue, writer); break; case '[': writer.Write((short)value.Values.Count()); foreach (ElementValue ev in value.Values) { WriteElementValue(ev, writer); } break; } }
public override void Write(EndianBinaryWriter writer) { writer.Write((short)Annotations.Count()); foreach (Annotation annotation in Annotations) { WriteAnnotation(annotation, writer); } }
internal static void WriteAnnotation(Annotation annotation, EndianBinaryWriter writer) { writer.Write(annotation.TypeIndex); writer.Write((short)annotation.ElementValues.Count()); foreach (var value in annotation.ElementValues) { writer.Write(value.Item1); WriteElementValue(value.Item2, writer); } }
public override void Write(EndianBinaryWriter writer) { writer.Write(NameIndex); }
public override void Write(EndianBinaryWriter writer) { writer.Write(DebugExtension); }
public override void Write(EndianBinaryWriter writer) { throw new NotImplementedException(); }
public override void Write(EndianBinaryWriter writer) { writer.Write(StringIndex); }
public override void Write(EndianBinaryWriter writer) { writer.Write(ClassIndex); writer.Write(MethodIndex); }
public override void Write(EndianBinaryWriter writer) { writer.Write((short)ExceptionTable.Count()); foreach (short ex in ExceptionTable) { writer.Write(ex); } }
public override void Write(EndianBinaryWriter writer) { writer.Write(MaxStack); writer.Write(MaxLocals); writer.Write(Code.Length); writer.Write(Code); writer.Write((short)ExceptionTable.Count()); foreach (ExceptionTableEntry ex in ExceptionTable) { writer.Write(ex.StartPC); writer.Write(ex.EndPC); writer.Write(ex.HandlerPC); writer.Write(ex.CatchType); } writer.Write((short)Attributes.Count()); foreach (var attr in Attributes) { writer.Write(attr.NameIndex); writer.Write(attr.Length); attr.Write(writer); } }
public override void Write(EndianBinaryWriter writer) { }
public void Write(EndianBinaryWriter writer) { writer.Write((byte)Tag); if (Tag == VerificationType.Uninitialized || Tag == VerificationType.Object) { writer.Write(Value); } }
public override void Write(EndianBinaryWriter writer) { writer.Write((short)Entries.Count()); foreach (var entry in Entries) { writer.Write(entry.Type); if (entry.Type <= 63) { // SAME } else if (entry.Type >= 64 && entry.Type <= 127) { // SAME_LOCALS_1_STACK_ITEM entry.Stack[0].Write(writer); } else if (entry.Type == 247) { // SAME_LOCALS_1_STACK_ITEM_EXTENDED writer.Write((short)entry.OffsetDelta); entry.Stack[0].Write(writer); } else if (entry.Type >= 248 && entry.Type <= 250) { // CHOP writer.Write((short)entry.OffsetDelta); } else if (entry.Type == 251) { // SAME_FRAME_EXTENDED writer.Write((short)entry.OffsetDelta); } else if (entry.Type >= 252 && entry.Type <= 254) { // APPEND writer.Write((short)entry.OffsetDelta); var type = (short)entry.Type; for (int i = 251; i < type; i++) { entry.Locals[i - 251].Write(writer); if (entry.Locals[i - 251].Tag == VerificationType.Long || entry.Locals[i - 251].Tag == VerificationType.Double) { } } } else if (entry.Type == 255) { // FULL_FRAME writer.Write((short)entry.OffsetDelta); writer.Write((short)entry.Locals.Count()); for (int i = 0; i < entry.Locals.Count(); i++) { entry.Locals[i].Write(writer); } writer.Write((short)entry.Stack.Count()); for (int i = 0; i < entry.Stack.Count(); i++) { entry.Stack[i].Write(writer); } } } }
public override void Write(EndianBinaryWriter writer) { writer.Write(SourceFile); }
public override void Write(EndianBinaryWriter writer) { writer.Write(Value); }
public override void Write(EndianBinaryWriter writer) { writer.Write(Data); }
public override void Write(EndianBinaryWriter writer) { writer.Write(ClassIndex); writer.Write(NameAndTypeIndex); }
public override void Write(EndianBinaryWriter writer) { writer.Write((short)Classes.Count()); foreach (InnerClass c in Classes) { int modifierValue = (short)c.InnerModifier & 0x631; writer.Write(c.InnerClassInfo); writer.Write(c.OuterClassInfo); writer.Write(c.InnerName); writer.Write(modifierValue); } }
public abstract void Write(EndianBinaryWriter writer);
public override void Write(EndianBinaryWriter writer) { writer.Write((byte)ParameterAnnotations.Count()); foreach (var annotations in ParameterAnnotations) { writer.Write((short)annotations.Count()); foreach (var annotation in annotations) { CompileAttributeRuntimeVisibleAnnotations.WriteAnnotation(annotation, writer); } } }
public override void Write(EndianBinaryWriter writer) { writer.Write((short) Value.Length); writer.Write(Value); }
public override void Write(EndianBinaryWriter writer) { writer.Write((short)Variables.Count()); foreach (VariableTypeTableEntry ln in Variables) { writer.Write(ln.StartPC); writer.Write(ln.Length); writer.Write(ln.Name); writer.Write(ln.Signature); writer.Write(ln.Index); } }
public override void Write(EndianBinaryWriter writer) { writer.Write((short)LineNumbers.Count()); foreach (LineNumberTableEntry ln in LineNumbers) { writer.Write(ln.StartPC); writer.Write(ln.LineNumber); } }
public override void Write(EndianBinaryWriter writer) { writer.Write(SignatureIndex); }