@Override public String toString() { return String.format("Event %s", getName()); }
public static IEventElement fromDebugSegment(String name, Set<AccessType> accessType, byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int flags = ByteBuffer.wrap(segment, currentPos, Short.BYTES).order(order).getShort(); int returnType = ByteBuffer.wrap(segment, currentPos + 2, Short.BYTES).order(order).getShort(); int parameterCount = ByteBuffer.wrap(segment, currentPos + 4, Short.BYTES).order(order).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos + 12, Integer.BYTES).order(order).getInt(); String name2 = nameOffset == 0 ? name : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int typeNameOffset = ByteBuffer.wrap(segment, currentPos + 16, Integer.BYTES).order(order).getInt(); String returnTypeName = typeNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + typeNameOffset); int delegateNameOffset = ByteBuffer.wrap(segment, currentPos + 20, Integer.BYTES).order(order).getInt(); String delegateName = delegateNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + delegateNameOffset); int currPos = currentPos + 24; IParameter[] parameters = new IParameter[parameterCount]; for (int zz = 0; zz < parameterCount; zz++) { IParameter param = MethodParameterV11.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += param.getSizeInRCode(); parameters[zz] = param; } return new EventElementV11(name2, accessType, flags, returnType, returnTypeName, delegateName, parameters); }
break; case EVENT: IEventElement evt = EventElementV11.fromDebugSegment(name, set, segment, currOffset, textAreaOffset, order); currOffset += evt.getSizeInRCode(); typeInfo.getEvents().add(evt);
public static IEventElement fromDebugSegment(String name, Set<AccessType> accessType, byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int flags = ByteBuffer.wrap(segment, currentPos, Short.BYTES).order(order).getShort(); int returnType = ByteBuffer.wrap(segment, currentPos + 2, Short.BYTES).order(order).getShort(); int parameterCount = ByteBuffer.wrap(segment, currentPos + 4, Short.BYTES).order(order).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos + 12, Integer.BYTES).order(order).getInt(); String name2 = nameOffset == 0 ? name : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int typeNameOffset = ByteBuffer.wrap(segment, currentPos + 16, Integer.BYTES).order(order).getInt(); String returnTypeName = typeNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + typeNameOffset); int delegateNameOffset = ByteBuffer.wrap(segment, currentPos + 20, Integer.BYTES).order(order).getInt(); String delegateName = delegateNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + delegateNameOffset); int currPos = currentPos + 24; IParameter[] parameters = new IParameter[parameterCount]; for (int zz = 0; zz < parameterCount; zz++) { IParameter param = MethodParameterV11.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += param.getSizeInRCode(); parameters[zz] = param; } return new EventElementV11(name2, accessType, flags, returnType, returnTypeName, delegateName, parameters); }
break; case EVENT: IEventElement evt = EventElementV11.fromDebugSegment(name, set, segment, currOffset, textAreaOffset, order); currOffset += evt.getSizeInRCode(); typeInfo.getEvents().add(evt);
@Override public String toString() { return String.format("Event %s", getName()); }
@Override public int hashCode() { return (getName() + "/" + delegateName + "/" + returnType + "/" + Joiner.on('-').join(parameters)).hashCode(); }
@Override public int hashCode() { return (getName() + "/" + delegateName + "/" + returnType + "/" + Joiner.on('-').join(parameters)).hashCode(); }
@Override public boolean equals(Object obj) { if (obj instanceof IEventElement) { IEventElement obj2 = (IEventElement) obj; return getName().equals(obj2.getName()) && delegateName.equals(obj2.getDelegateName()) && (DataType.getDataType(returnType) == obj2.getReturnType()) && Arrays.deepEquals(parameters, obj2.getParameters()); } return false; } }
@Override public boolean equals(Object obj) { if (obj instanceof IEventElement) { IEventElement obj2 = (IEventElement) obj; return getName().equals(obj2.getName()) && delegateName.equals(obj2.getDelegateName()) && (DataType.getDataType(returnType) == obj2.getReturnType()) && Arrays.deepEquals(parameters, obj2.getParameters()); } return false; } }