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
ThisConstant
represents a string constant in the constant pool.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description Clazz
javaLangStringClass
An extra field pointing to the java.lang.String Clazz object.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.Member
referencedMember
An extra field pointing to the referenced Member object, if this string is being used in Class.getDeclaredField/Method constructs.ResourceFile
referencedResourceFile
An extra field pointing to the referenced resource file, if this string references one.int
referencedResourceId
An extra field pointing to the referenced resource ID, if this string references an Android resource.int
u2stringIndex
-
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 void
accept(Clazz clazz, ConstantVisitor constantVisitor)
Accepts the given visitor.boolean
equals(java.lang.Object object)
java.lang.String
getString(Clazz clazz)
Returns the string value.int
getTag()
Returns the constant pool info tag that specifies the entry type.int
hashCode()
boolean
isCategory2()
Returns whether the constant is of category 2.void
referencedClassAccept(ClassVisitor classVisitor)
Lets the referenced class accept the given visitor.void
referencedMemberAccept(MemberVisitor memberVisitor)
Lets the referenced member accept the given visitor.void
referencedResourceFileAccept(ResourceFileVisitor resourceFileVisitor)
Lets the referenced resource file accept the given visitor.java.lang.String
toString()
-
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 the
or 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 theDynamicMemberReferenceInitializer
-
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:Constant
Returns the constant pool info tag that specifies the entry type.
-
isCategory2
public boolean isCategory2()
Description copied from class:Constant
Returns 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:
isCategory2
in classConstant
-
accept
public void accept(Clazz clazz, ConstantVisitor constantVisitor)
Description copied from class:Constant
Accepts 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:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-