Package proguard.classfile.constant
Class StringConstant
- java.lang.Object
-
- proguard.util.SimpleProcessable
-
- proguard.classfile.constant.Constant
-
- proguard.classfile.constant.StringConstant
-
- All Implemented Interfaces:
java.io.Serializable,Processable
public class StringConstant extends Constant
ThisConstantrepresents a string constant in the constant pool.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description ClazzjavaLangStringClassAn extra field pointing to the java.lang.String Clazz object.ClazzreferencedClassAn extra field pointing to the referenced Clazz object, if this string is being used in Class.forName(), .class, or Class.getDeclaredField/Method constructs.MemberreferencedMemberAn extra field pointing to the referenced Member object, if this string is being used in Class.getDeclaredField/Method constructs.ResourceFilereferencedResourceFileAn extra field pointing to the referenced resource file, if this string references one.intreferencedResourceIdAn extra field pointing to the referenced resource ID, if this string references an Android resource.intu2stringIndex-
Fields inherited from class proguard.classfile.constant.Constant
CLASS, DOUBLE, DYNAMIC, FIELDREF, FLOAT, INTEGER, INTERFACE_METHODREF, INVOKE_DYNAMIC, LONG, METHOD_HANDLE, METHOD_TYPE, METHODREF, MODULE, NAME_AND_TYPE, PACKAGE, PRIMITIVE_ARRAY, STRING, UTF8
-
Fields inherited from class proguard.util.SimpleProcessable
processingFlags, processingInfo
-
-
Constructor Summary
Constructors Constructor Description StringConstant()Creates an uninitialized StringConstant.StringConstant(int u2stringIndex, Clazz referencedClass, Member referencedMember)Creates a new StringConstant with the given string index.StringConstant(int u2stringIndex, Clazz referencedClass, Member referencedMember, int referencedResourceId, ResourceFile referencedResourceFile)Creates a new StringConstant with the given string index.StringConstant(int u2stringIndex, ResourceFile referencedResourceFile)Creates a new StringConstant with the given string index.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Clazz clazz, ConstantVisitor constantVisitor)Accepts the given visitor.booleanequals(java.lang.Object object)java.lang.StringgetString(Clazz clazz)Returns the string value.intgetTag()Returns the constant pool info tag that specifies the entry type.inthashCode()booleanisCategory2()Returns whether the constant is of category 2.voidreferencedClassAccept(ClassVisitor classVisitor)Lets the referenced class accept the given visitor.voidreferencedMemberAccept(MemberVisitor memberVisitor)Lets the referenced member accept the given visitor.voidreferencedResourceFileAccept(ResourceFileVisitor resourceFileVisitor)Lets the referenced resource file accept the given visitor.java.lang.StringtoString()-
Methods inherited from class proguard.util.SimpleProcessable
addProcessingFlags, getProcessingFlags, getProcessingInfo, hasProcessingFlags, removeProcessingFlags, setProcessingFlags, setProcessingInfo
-
-
-
-
Field Detail
-
u2stringIndex
public int u2stringIndex
-
referencedClass
public Clazz referencedClass
An extra field pointing to the referenced Clazz object, if this string is being used in Class.forName(), .class, or Class.getDeclaredField/Method constructs. This field is typically filled out by theor by theDynamicClassReferenceInitializer.DynamicMemberReferenceInitializer
-
referencedMember
public Member referencedMember
An extra field pointing to the referenced Member object, if this string is being used in Class.getDeclaredField/Method constructs. This field is typically filled out by the.DynamicMemberReferenceInitializer
-
javaLangStringClass
public Clazz javaLangStringClass
An extra field pointing to the java.lang.String Clazz object. This field is typically filled out by the..ClassReferenceInitializer
-
referencedResourceId
public int referencedResourceId
An extra field pointing to the referenced resource ID, if this string references an Android resource. Limitation: a String may point to multiple resources with the same name but a different type - only one can be cached.
-
referencedResourceFile
public ResourceFile referencedResourceFile
An extra field pointing to the referenced resource file, if this string references one.
-
-
Constructor Detail
-
StringConstant
public StringConstant()
Creates an uninitialized StringConstant.
-
StringConstant
public StringConstant(int u2stringIndex, Clazz referencedClass, Member referencedMember)Creates a new StringConstant with the given string index.- Parameters:
u2stringIndex- the index of the string in the constant pool.referencedClass- the referenced class, if any.referencedMember- the referenced class member, if any.
-
StringConstant
public StringConstant(int u2stringIndex, ResourceFile referencedResourceFile)Creates a new StringConstant with the given string index.- Parameters:
u2stringIndex- the index of the string in the constant pool.referencedResourceFile- the referenced resource filename, if any.
-
StringConstant
public StringConstant(int u2stringIndex, Clazz referencedClass, Member referencedMember, int referencedResourceId, ResourceFile referencedResourceFile)Creates a new StringConstant with the given string index.- Parameters:
u2stringIndex- the index of the string in the constant pool.referencedClass- the referenced class, if any.referencedMember- the referenced class member, if any.referencedResourceId- the referenced resource id, if any, 0 otherwise.referencedResourceFile- the referenced resource filename, if any.
-
-
Method Detail
-
getString
public java.lang.String getString(Clazz clazz)
Returns the string value.
-
getTag
public int getTag()
Description copied from class:ConstantReturns the constant pool info tag that specifies the entry type.
-
isCategory2
public boolean isCategory2()
Description copied from class:ConstantReturns whether the constant is of category 2. This means that it takes up the space of two category 1 types in the constant pool or on the stack, for instance.- Specified by:
isCategory2in classConstant
-
accept
public void accept(Clazz clazz, ConstantVisitor constantVisitor)
Description copied from class:ConstantAccepts the given visitor.
-
referencedClassAccept
public void referencedClassAccept(ClassVisitor classVisitor)
Lets the referenced class accept the given visitor.
-
referencedMemberAccept
public void referencedMemberAccept(MemberVisitor memberVisitor)
Lets the referenced member accept the given visitor.
-
referencedResourceFileAccept
public void referencedResourceFileAccept(ResourceFileVisitor resourceFileVisitor)
Lets the referenced resource file accept the given visitor.
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-