本文整理汇总了Java中proguard.optimize.evaluation.StoringInvocationUnit.getMethodParameterValue方法的典型用法代码示例。如果您正苦于以下问题:Java StoringInvocationUnit.getMethodParameterValue方法的具体用法?Java StoringInvocationUnit.getMethodParameterValue怎么用?Java StoringInvocationUnit.getMethodParameterValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类proguard.optimize.evaluation.StoringInvocationUnit
的用法示例。
在下文中一共展示了StoringInvocationUnit.getMethodParameterValue方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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);
}
}
}
示例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.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++;
}
}
}
示例4: 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++;
}
}
}