Package util.demangler
Class GenericDemangledObject
- java.lang.Object
-
- util.demangler.GenericDemangledObject
-
- Direct Known Subclasses:
GenericDemangledAddressTable,GenericDemangledFunction,GenericDemangledString,GenericDemangledVariable
public abstract class GenericDemangledObject extends java.lang.ObjectA class to represent a demangled object.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringATprotected java.lang.StringbasedNameprotected static java.lang.StringEMPTY_STRINGprotected booleanisConstprotected booleanisPointer64protected booleanisRestrictprotected booleanisStaticprotected booleanisStructprotected booleanisThunkprotected booleanisUnalignedprotected booleanisUnsignedprotected booleanisVirtualprotected booleanisVolatileprotected java.lang.StringmemberScopeprotected java.lang.Stringnameprotected GenericDemangledTypenamespaceprotected static java.lang.StringNAMESPACE_SEPARATORprotected java.lang.StringoriginalMangledprotected static java.lang.StringSPACEprotected java.lang.StringspecialMidfixprotected java.lang.StringspecialPrefixprotected java.lang.StringspecialSuffixprotected java.lang.StringstorageClassprotected java.lang.Stringvisibility
-
Constructor Summary
Constructors Constructor Description GenericDemangledObject()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringgeneratePlateComment()java.lang.StringgetBasedName()java.lang.StringgetMemberScope()java.lang.StringgetName()Returns the name of the demangled object.GenericDemangledTypegetNamespace()Returns the namespace containing this demangled object.java.lang.StringgetOriginalMangled()abstract java.lang.StringgetSignature(boolean format)Returns a complete signature for the demangled symbol.java.lang.StringgetSpecialMidfix()java.lang.StringgetSpecialPrefix()java.lang.StringgetSpecialSuffix()java.lang.StringgetStorageClass()java.lang.StringgetVisibility()booleanisConst()booleanisPointer64()booleanisRestrict()booleanisStatic()booleanisThunk()booleanisUnaligned()booleanisVirtual()booleanisVolatile()protected java.lang.Stringpad(int len)voidsetBasedName(java.lang.String basedName)voidsetConst(boolean isConst)voidsetMemberScope(java.lang.String memberScope)voidsetName(java.lang.String name)Sets the name of the demangled objectvoidsetNamespace(GenericDemangledType namespace)voidsetOriginalMangled(java.lang.String mangled)Sets the original mangled namevoidsetPointer64(boolean isPointer64)voidsetRestrict()voidsetSignature(java.lang.String signature)Sets the signature.voidsetSpecialMidfix(java.lang.String chargeType)voidsetSpecialPrefix(java.lang.String special)voidsetSpecialSuffix(java.lang.String specialSuffix)voidsetStatic(boolean isStatic)voidsetStorageClass(java.lang.String storageClass)voidsetStruct()voidsetThunk(boolean isThunk)voidsetUnaligned()voidsetUnsigned()voidsetVirtual(boolean isVirtual)voidsetVisibilty(java.lang.String visibility)voidsetVolatile(boolean isVolatile)java.lang.StringtoString()
-
-
-
Field Detail
-
NAMESPACE_SEPARATOR
protected static final java.lang.String NAMESPACE_SEPARATOR
- See Also:
- Constant Field Values
-
AT
protected static final java.lang.String AT
- See Also:
- Constant Field Values
-
EMPTY_STRING
protected static final java.lang.String EMPTY_STRING
- See Also:
- Constant Field Values
-
SPACE
protected static final java.lang.String SPACE
- See Also:
- Constant Field Values
-
originalMangled
protected java.lang.String originalMangled
-
specialPrefix
protected java.lang.String specialPrefix
-
specialMidfix
protected java.lang.String specialMidfix
-
specialSuffix
protected java.lang.String specialSuffix
-
namespace
protected GenericDemangledType namespace
-
visibility
protected java.lang.String visibility
-
storageClass
protected java.lang.String storageClass
-
name
protected java.lang.String name
-
isConst
protected boolean isConst
-
isVolatile
protected boolean isVolatile
-
isStatic
protected boolean isStatic
-
isVirtual
protected boolean isVirtual
-
isThunk
protected boolean isThunk
-
isPointer64
protected boolean isPointer64
-
isStruct
protected boolean isStruct
-
isUnsigned
protected boolean isUnsigned
-
isUnaligned
protected boolean isUnaligned
-
isRestrict
protected boolean isRestrict
-
basedName
protected java.lang.String basedName
-
memberScope
protected java.lang.String memberScope
-
-
Method Detail
-
getName
public java.lang.String getName()
Returns the name of the demangled object.- Returns:
- the name of the demangled object
-
isConst
public boolean isConst()
-
setConst
public void setConst(boolean isConst)
-
isVolatile
public boolean isVolatile()
-
setVolatile
public void setVolatile(boolean isVolatile)
-
isStatic
public boolean isStatic()
-
setStatic
public void setStatic(boolean isStatic)
-
isVirtual
public boolean isVirtual()
-
setVirtual
public void setVirtual(boolean isVirtual)
-
isThunk
public boolean isThunk()
-
setThunk
public void setThunk(boolean isThunk)
-
isPointer64
public boolean isPointer64()
-
setPointer64
public void setPointer64(boolean isPointer64)
-
setUnsigned
public void setUnsigned()
-
setStruct
public void setStruct()
-
setUnaligned
public void setUnaligned()
-
isUnaligned
public boolean isUnaligned()
-
setRestrict
public void setRestrict()
-
isRestrict
public boolean isRestrict()
-
getBasedName
public java.lang.String getBasedName()
-
setBasedName
public void setBasedName(java.lang.String basedName)
-
getMemberScope
public java.lang.String getMemberScope()
-
setMemberScope
public void setMemberScope(java.lang.String memberScope)
-
setName
public void setName(java.lang.String name)
Sets the name of the demangled object- Parameters:
name- the new name
-
setOriginalMangled
public void setOriginalMangled(java.lang.String mangled)
Sets the original mangled name- Parameters:
mangled- the original mangled name
-
getOriginalMangled
public java.lang.String getOriginalMangled()
-
getNamespace
public GenericDemangledType getNamespace()
Returns the namespace containing this demangled object.- Returns:
- the namespace containing this demangled object
-
setNamespace
public void setNamespace(GenericDemangledType namespace)
- Parameters:
namespace-
-
getVisibility
public java.lang.String getVisibility()
-
setVisibilty
public void setVisibilty(java.lang.String visibility)
-
getStorageClass
public java.lang.String getStorageClass()
-
setStorageClass
public void setStorageClass(java.lang.String storageClass)
-
getSpecialPrefix
public java.lang.String getSpecialPrefix()
-
setSpecialPrefix
public void setSpecialPrefix(java.lang.String special)
-
getSpecialMidfix
public java.lang.String getSpecialMidfix()
-
setSpecialMidfix
public void setSpecialMidfix(java.lang.String chargeType)
-
getSpecialSuffix
public java.lang.String getSpecialSuffix()
-
setSpecialSuffix
public void setSpecialSuffix(java.lang.String specialSuffix)
-
getSignature
public abstract java.lang.String getSignature(boolean format)
Returns a complete signature for the demangled symbol. For example: "unsigned long foo" "unsigned char * ClassA::getFoo(float, short *)" "void * getBar(int **, MyStruct &)" Note: based on the underlying mangling scheme, the return type may or may not be specified in the signature.- Parameters:
format- true if signature should be pretty printed- Returns:
- a complete signature for the demangled symbol
-
setSignature
public void setSignature(java.lang.String signature)
Sets the signature. Calling this method will override the auto-generated signature.- Parameters:
signature- the signature
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
generatePlateComment
protected java.lang.String generatePlateComment()
-
pad
protected java.lang.String pad(int len)
-
-