| Modifier and Type | Class and Description |
|---|---|
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private Set | |
| pack-priv int | |
| private static final int | |
| private static byte[] | |
| private static final byte[] | |
| private boolean | |
| private boolean | |
| private static final byte | |
| private static final byte | |
| private static final byte | |
| private boolean | |
| private static boolean | |
| private static boolean | |
| private boolean | |
| private static boolean | |
| private List | |
| private static final int | |
| private byte[] | |
| private boolean | |
| private static final int |
| Access | Constructor and Description |
|---|---|
| private | |
| public | |
| private | WeaverStateInfo(List<WeaverStateInfo.
|
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | |
| public void | |
| pack-priv byte[] | |
| private void | |
| private static final byte[] | |
| private static final boolean | |
| private static final int | |
| pack-priv byte[] | |
| public Set | |
| public List | |
| public byte[] | |
| public byte[] | |
| private static final byte[] | |
| public boolean | Returns: true if the supplied aspect is already in the list of those affecting this type
|
| public boolean | |
| public boolean | |
| public void | markOverweavingInUse()
If the weaver is ever invoked in over weaving mode, we should not include the key when writing out, it won't be replaced later. |
| public static final WeaverStateInfo | |
| private static void | |
| private static final int | |
| public byte[] | |
| private byte[] | |
| public void | |
| public static void | |
| public void | |
| public String | |
| public void | |
| private static void |
| aspectsAffectingType | back to summary |
|---|---|
| private Set<String> aspectsAffectingType | |
| compressionEnabled | back to summary |
|---|---|
| pack-priv int compressionEnabled | |
| EXTENDED | back to summary |
|---|---|
| private static final int EXTENDED | |
| key | back to summary |
|---|---|
| private static byte[] key | |
| NO_BYTES | back to summary |
|---|---|
| private static final byte[] NO_BYTES | |
| oldStyle | back to summary |
|---|---|
| private boolean oldStyle | |
| reweavable | back to summary |
|---|---|
| private boolean reweavable | |
| REWEAVABLE_BIT | back to summary |
|---|---|
| private static final byte REWEAVABLE_BIT | |
| REWEAVABLE_COMPRESSION_BIT | back to summary |
|---|---|
| private static final byte REWEAVABLE_COMPRESSION_BIT | |
| REWEAVABLE_DIFF_BIT | back to summary |
|---|---|
| private static final byte REWEAVABLE_DIFF_BIT | |
| reweavableCompressedMode | back to summary |
|---|---|
| private boolean reweavableCompressedMode | |
| reweavableCompressedModeDefault | back to summary |
|---|---|
| private static boolean reweavableCompressedModeDefault | |
| reweavableDefault | back to summary |
|---|---|
| private static boolean reweavableDefault | |
| reweavableDiffMode | back to summary |
|---|---|
| private boolean reweavableDiffMode | |
| reweavableDiffModeDefault | back to summary |
|---|---|
| private static boolean reweavableDiffModeDefault | |
| typeMungers | back to summary |
|---|---|
| private List<WeaverStateInfo. | |
| UNTOUCHED | back to summary |
|---|---|
| private static final int UNTOUCHED | |
| unwovenClassFile | back to summary |
|---|---|
| private byte[] unwovenClassFile | |
| unwovenClassFileIsADiff | back to summary |
|---|---|
| private boolean unwovenClassFileIsADiff | |
| WOVEN | back to summary |
|---|---|
| private static final int WOVEN | |
| WeaverStateInfo | back to summary |
|---|---|
| private WeaverStateInfo() | |
| WeaverStateInfo | back to summary |
|---|---|
| public WeaverStateInfo(boolean reweavable) | |
| WeaverStateInfo | back to summary |
|---|---|
| private WeaverStateInfo(List<WeaverStateInfo. | |
| addAspectAffectingType | back to summary |
|---|---|
| public void addAspectAffectingType(String aspectSignature) | |
| addAspectsAffectingType | back to summary |
|---|---|
| public void addAspectsAffectingType(Collection<String> aspects) | |
| addConcreteMunger | back to summary |
|---|---|
| public void addConcreteMunger(ConcreteTypeMunger munger) | |
| applyDiff | back to summary |
|---|---|
| pack-priv byte[] applyDiff(byte[] wovenClassFile, byte[] diff) | |
| checkCompressionEnabled | back to summary |
|---|---|
| private void checkCompressionEnabled() | |
| deleteInArray | back to summary |
|---|---|
| private static final byte[] deleteInArray(byte[] a, int start, int end) | |
| endOfKeyHere | back to summary |
|---|---|
| private static final boolean endOfKeyHere(byte[] lookIn, int i) | |
| findEndOfKey | back to summary |
|---|---|
| private static final int findEndOfKey(byte[] wovenClassFile) | |
| generateDiff | back to summary |
|---|---|
| pack-priv byte[] generateDiff(byte[] wovenClassFile, byte[] unWovenClassFile) | |
| getAspectsAffectingType | back to summary |
|---|---|
| public Set | |
| getTypeMungers | back to summary |
|---|---|
| public List | |
| getUnwovenClassFileData | back to summary |
|---|---|
| public byte[] getUnwovenClassFileData() | |
| getUnwovenClassFileData | back to summary |
|---|---|
| public byte[] getUnwovenClassFileData(byte[] wovenClassFile) | |
| insertArray | back to summary |
|---|---|
| private static final byte[] insertArray(byte[] toInsert, byte[] original, int offset) | |
| isAspectAlreadyApplied | back to summary |
|---|---|
public boolean isAspectAlreadyApplied(ResolvedType someAspect)
| |
| isOldStyle | back to summary |
|---|---|
| public boolean isOldStyle() | |
| isReweavable | back to summary |
|---|---|
| public boolean isReweavable() | |
| markOverweavingInUse | back to summary |
|---|---|
| public void markOverweavingInUse() If the weaver is ever invoked in over weaving mode, we should not include the key when writing out, it won't be replaced later. If we turn off the reweaving flag that unfortunately removes the 'what aspects have been woven into this type' list which we want to keep as it helps overweaving avoid weaving an aspect in twice. | |
| read | back to summary |
|---|---|
| public static final WeaverStateInfo read(VersionedDataInputStream s, ISourceContext context) throws IOException See comments on write() | |
| readAnyReweavableData | back to summary |
|---|---|
| private static void readAnyReweavableData(WeaverStateInfo wsi, VersionedDataInputStream s, boolean compressed) throws IOException | |
| readInt | back to summary |
|---|---|
| private static final int readInt(byte[] a, int offset) | |
| replaceKeyWithDiff | back to summary |
|---|---|
| public byte[] replaceKeyWithDiff(byte[] wovenClassFile) Here is the cleverness for reweavable diff mode. The class file on disk contains, inside the weaverstateinfo attribute, a diff that can be applied to 'itself' to recover the original class - which can then be rewoven. | |
| serializeInt | back to summary |
|---|---|
| private byte[] serializeInt(int i) | |
| setReweavable | back to summary |
|---|---|
| public void setReweavable(boolean rw) | |
| setReweavableModeDefaults | back to summary |
|---|---|
| public static void setReweavableModeDefaults(boolean mode, boolean compress, boolean diff) | |
| setUnwovenClassFileData | back to summary |
|---|---|
| public void setUnwovenClassFileData(byte[] data) | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
| |
| write | back to summary |
|---|---|
| public void write(CompressingDataOutputStream s) throws IOException Serialize the WeaverStateInfo. Various bits are set within the 'kind' flag to indicate the structure of the attribute. In reweavable diff mode a 'marker' is inserted at the start of the attribute to indicate where the final calculated diff should be inserted. When the key is replaced with the diff, the 'kind' byte moves to the front of the attribute - thats why in the read logic you'll see it expecting the kind as the first byte. | |
| writeAnyReweavableData | back to summary |
|---|---|
| private static void writeAnyReweavableData(WeaverStateInfo wsi, CompressingDataOutputStream s, boolean compress) throws IOException | |
| Modifier and Type | Field and Description |
|---|---|
| public UnresolvedType | |
| public ResolvedTypeMunger |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public String |
| aspectType | back to summary |
|---|---|
| public UnresolvedType aspectType | |
| typeMunger | back to summary |
|---|---|
| public ResolvedTypeMunger typeMunger | |
| Entry | back to summary |
|---|---|
| public Entry(UnresolvedType aspectType, ResolvedTypeMunger typeMunger) | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
| |