本文整理汇总了Java中proguard.optimize.evaluation.StoringInvocationUnit类的典型用法代码示例。如果您正苦于以下问题:Java StoringInvocationUnit类的具体用法?Java StoringInvocationUnit怎么用?Java StoringInvocationUnit使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
StoringInvocationUnit类属于proguard.optimize.evaluation包,在下文中一共展示了StoringInvocationUnit类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visitProgramMethod
import proguard.optimize.evaluation.StoringInvocationUnit; //导入依赖的package包/类
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
{
// All parameters of non-static methods are shifted by one in the local
// variable frame.
int firstParameterIndex =
(programMethod.getAccessFlags() & ClassConstants.INTERNAL_ACC_STATIC) != 0 ?
0 : 1;
int parameterCount =
ClassUtil.internalMethodParameterCount(programMethod.getDescriptor(programClass));
for (int index = firstParameterIndex; index < parameterCount; index++)
{
Value value = StoringInvocationUnit.getMethodParameterValue(programMethod, index);
if (value != null &&
value.isParticular())
{
constantParameterVisitor.visitProgramMethod(programClass, programMethod);
}
}
}
示例2: visitProgramField
import proguard.optimize.evaluation.StoringInvocationUnit; //导入依赖的package包/类
public void visitProgramField(ProgramClass programClass, ProgramField programField)
{
Value parameterValue = StoringInvocationUnit.getFieldValue(programField);
if (parameterValue.computationalType() == Value.TYPE_REFERENCE)
{
Clazz referencedClass = parameterValue.referenceValue().getReferencedClass();
if (programField.referencedClass != referencedClass)
{
if (DEBUG)
{
System.out.println("MemberDescriptorSpecializer: "+programClass.getName()+"."+programField.getName(programClass)+" "+programField.getDescriptor(programClass));
System.out.println(" "+programField.referencedClass.getName()+" -> "+referencedClass.getName());
}
programField.referencedClass = referencedClass;
// Visit the field, if required.
if (extraParameterMemberVisitor != null)
{
extraParameterMemberVisitor.visitProgramField(programClass, programField);
}
}
}
}
示例3: visitProgramMethod
import proguard.optimize.evaluation.StoringInvocationUnit; //导入依赖的package包/类
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
{
// All parameters of non-static methods are shifted by one in the local
// variable frame.
int firstParameterIndex =
(programMethod.getAccessFlags() & ClassConstants.ACC_STATIC) != 0 ?
0 : 1;
int parameterCount =
ClassUtil.internalMethodParameterCount(programMethod.getDescriptor(programClass));
for (int index = firstParameterIndex; index < parameterCount; index++)
{
Value value = StoringInvocationUnit.getMethodParameterValue(programMethod, index);
if (value != null &&
value.isParticular())
{
constantParameterVisitor.visitProgramMethod(programClass, programMethod);
}
}
}
示例4: visitProgramField
import proguard.optimize.evaluation.StoringInvocationUnit; //导入依赖的package包/类
public void visitProgramField(ProgramClass programClass, ProgramField programField)
{
Value value = StoringInvocationUnit.getFieldValue(programField);
if (value != null &&
value.isParticular())
{
constantMemberVisitor.visitProgramField(programClass, programField);
}
}
示例5: visitProgramMethod
import proguard.optimize.evaluation.StoringInvocationUnit; //导入依赖的package包/类
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
{
Value value = StoringInvocationUnit.getMethodReturnValue(programMethod);
if (value != null &&
value.isParticular())
{
constantMemberVisitor.visitProgramMethod(programClass, programMethod);
}
}
示例6: visitProgramMethod
import proguard.optimize.evaluation.StoringInvocationUnit; //导入依赖的package包/类
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
{
// All parameters of non-static methods are shifted by one in the local
// variable frame.
int firstParameterIndex =
(programMethod.getAccessFlags() & ClassConstants.INTERNAL_ACC_STATIC) != 0 ?
0 : 1;
int parameterCount =
ClassUtil.internalMethodParameterCount(programMethod.getDescriptor(programClass));
int classIndex = 0;
// Go over the parameters.
for (int parameterIndex = firstParameterIndex; parameterIndex < parameterCount; parameterIndex++)
{
Value parameterValue = StoringInvocationUnit.getMethodParameterValue(programMethod, parameterIndex);
if (parameterValue.computationalType() == Value.TYPE_REFERENCE)
{
Clazz referencedClass = parameterValue.referenceValue().getReferencedClass();
if (programMethod.referencedClasses[classIndex] != referencedClass)
{
if (DEBUG)
{
System.out.println("MemberDescriptorSpecializer: "+programClass.getName()+"."+programMethod.getName(programClass)+programMethod.getDescriptor(programClass));
System.out.println(" "+programMethod.referencedClasses[classIndex].getName()+" -> "+referencedClass.getName());
}
programMethod.referencedClasses[classIndex] = referencedClass;
// Visit the method, if required.
if (extraParameterMemberVisitor != null)
{
extraParameterMemberVisitor.visitProgramMethod(programClass, programMethod);
}
}
classIndex++;
}
}
}
示例7: visitProgramMethod
import proguard.optimize.evaluation.StoringInvocationUnit; //导入依赖的package包/类
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
{
// All parameters of non-static methods are shifted by one in the local
// variable frame.
int firstParameterIndex =
(programMethod.getAccessFlags() & ClassConstants.ACC_STATIC) != 0 ?
0 : 1;
int parameterCount =
ClassUtil.internalMethodParameterCount(programMethod.getDescriptor(programClass));
int classIndex = 0;
// Go over the parameters.
for (int parameterIndex = firstParameterIndex; parameterIndex < parameterCount; parameterIndex++)
{
Value parameterValue = StoringInvocationUnit.getMethodParameterValue(programMethod, parameterIndex);
if (parameterValue.computationalType() == Value.TYPE_REFERENCE)
{
Clazz referencedClass = parameterValue.referenceValue().getReferencedClass();
if (programMethod.referencedClasses[classIndex] != referencedClass)
{
if (DEBUG)
{
System.out.println("MemberDescriptorSpecializer: "+programClass.getName()+"."+programMethod.getName(programClass)+programMethod.getDescriptor(programClass));
System.out.println(" "+programMethod.referencedClasses[classIndex].getName()+" -> "+referencedClass.getName());
}
programMethod.referencedClasses[classIndex] = referencedClass;
// Visit the method, if required.
if (extraParameterMemberVisitor != null)
{
extraParameterMemberVisitor.visitProgramMethod(programClass, programMethod);
}
}
classIndex++;
}
}
}