org.aspectj.ajdt.internal.core.builder
Class CompactTypeStructureRepresentation

java.lang.Object
  extended by org.aspectj.ajdt.internal.core.builder.CompactTypeStructureRepresentation
All Implemented Interfaces:
org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType, org.aspectj.org.eclipse.jdt.internal.compiler.env.IDependent, org.aspectj.org.eclipse.jdt.internal.compiler.env.IGenericType

public class CompactTypeStructureRepresentation
extends java.lang.Object
implements org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

Used to determine if a type has structurally changed during incremental compilation. At the end of compilation we create one of these objects using the bytes for the class about to be woven. On a subsequent incremental compile we compare the new form of the class with a previously stored CompactTypeStructureRepresentation instance. A structural change will indicate we need to do recompile other dependent types.


Field Summary
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IDependent
JAR_FILE_ENTRY_SEPARATOR
 
Constructor Summary
CompactTypeStructureRepresentation(org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader cfr)
           
 
Method Summary
 org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] getAnnotations()
           
 char[] getEnclosingTypeName()
           
 org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryField[] getFields()
           
 char[] getFileName()
           
 char[] getGenericSignature()
           
 char[][] getInterfaceNames()
           
 org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryNestedType[] getMemberTypes()
           
 org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] getMethods()
           
 int getModifiers()
           
 char[] getName()
           
 char[] getSourceName()
           
 char[] getSuperclassName()
           
 long getTagBits()
           
 boolean isAnonymous()
           
 boolean isBinaryType()
           
 boolean isLocal()
           
 boolean isMember()
           
 char[] sourceFileName()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompactTypeStructureRepresentation

public CompactTypeStructureRepresentation(org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader cfr)
Method Detail

getEnclosingTypeName

public char[] getEnclosingTypeName()
Specified by:
getEnclosingTypeName in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getModifiers

public int getModifiers()
Specified by:
getModifiers in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IGenericType

getGenericSignature

public char[] getGenericSignature()
Specified by:
getGenericSignature in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getInterfaceNames

public char[][] getInterfaceNames()
Specified by:
getInterfaceNames in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

isAnonymous

public boolean isAnonymous()
Specified by:
isAnonymous in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

sourceFileName

public char[] sourceFileName()
Specified by:
sourceFileName in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

isLocal

public boolean isLocal()
Specified by:
isLocal in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

isMember

public boolean isMember()
Specified by:
isMember in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getSuperclassName

public char[] getSuperclassName()
Specified by:
getSuperclassName in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getFileName

public char[] getFileName()
Specified by:
getFileName in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IDependent

getName

public char[] getName()
Specified by:
getName in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getTagBits

public long getTagBits()
Specified by:
getTagBits in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

isBinaryType

public boolean isBinaryType()
Specified by:
isBinaryType in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IGenericType

getFields

public org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryField[] getFields()
Specified by:
getFields in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getMethods

public org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] getMethods()
Specified by:
getMethods in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getMemberTypes

public org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryNestedType[] getMemberTypes()
Specified by:
getMemberTypes in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getAnnotations

public org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] getAnnotations()
Specified by:
getAnnotations in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType

getSourceName

public char[] getSourceName()
Specified by:
getSourceName in interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType