当前位置: 首页>>代码示例>>Java>>正文


Java InnerClassesInfo.innerClassConstantAccept方法代码示例

本文整理汇总了Java中proguard.classfile.attribute.InnerClassesInfo.innerClassConstantAccept方法的典型用法代码示例。如果您正苦于以下问题:Java InnerClassesInfo.innerClassConstantAccept方法的具体用法?Java InnerClassesInfo.innerClassConstantAccept怎么用?Java InnerClassesInfo.innerClassConstantAccept使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在proguard.classfile.attribute.InnerClassesInfo的用法示例。


在下文中一共展示了InnerClassesInfo.innerClassConstantAccept方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visitInnerClassesInfo

import proguard.classfile.attribute.InnerClassesInfo; //导入方法依赖的package包/类
public void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
{
    // At this point, we only mark outer classes of this class.
    // Inner class can be marked later, by InnerUsageMarker.
    if (innerClassesInfo.u2innerClassIndex != 0 &&
        clazz.getName().equals(clazz.getClassName(innerClassesInfo.u2innerClassIndex)))
    {
        markAsUsed(innerClassesInfo);

        innerClassesInfo.innerClassConstantAccept(clazz, this);
        innerClassesInfo.outerClassConstantAccept(clazz, this);
        innerClassesInfo.innerNameConstantAccept(clazz, this);
    }
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:15,代码来源:UsageMarker.java

示例2: visitInnerClassesInfo

import proguard.classfile.attribute.InnerClassesInfo; //导入方法依赖的package包/类
public void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
{
    boolean innerClassesInfoUsed = usageMarker.isUsed(innerClassesInfo);

    if (!innerClassesInfoUsed)
    {
        // Check if the inner class (if any) is marked as being used.
        classUsed = true;
        innerClassesInfo.innerClassConstantAccept(clazz, this);
        innerClassesInfoUsed = classUsed;

        // Check if the outer class (if any) is marked as being used.
        classUsed = true;
        innerClassesInfo.outerClassConstantAccept(clazz, this);
        innerClassesInfoUsed &= classUsed;

        // If both the inner class and the outer class are marked as being
        // used, then mark this InnerClassesInfo as well.
        if (innerClassesInfoUsed)
        {
            usageMarker.markAsUsed(innerClassesInfo);

            innerClassesInfo.innerNameConstantAccept(clazz, this);
        }
    }

    // The return value.
    attributeUsed |= innerClassesInfoUsed;
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:30,代码来源:InnerUsageMarker.java

示例3: visitInnerClassesInfo

import proguard.classfile.attribute.InnerClassesInfo; //导入方法依赖的package包/类
public void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
{
    println(visitorInfo(innerClassesInfo) +
            " InnerClassesInfo:");

    indent();
    println("Access flags:  0x" + Integer.toHexString(innerClassesInfo.u2innerClassAccessFlags) + " = " +
            ClassUtil.externalClassAccessFlags(innerClassesInfo.u2innerClassAccessFlags));
    innerClassesInfo.innerClassConstantAccept(clazz, this);
    innerClassesInfo.outerClassConstantAccept(clazz, this);
    innerClassesInfo.innerNameConstantAccept(clazz, this);
    outdent();
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:14,代码来源:ClassPrinter.java

示例4: visitInnerClassesInfo

import proguard.classfile.attribute.InnerClassesInfo; //导入方法依赖的package包/类
public void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
{
    // The current access flags are the default.
    innerClassAccessFlags = innerClassesInfo.u2innerClassAccessFlags;

    // See if we can find new access flags.
    innerClassesInfo.innerClassConstantAccept(clazz, this);

    // Update the access flags.
    innerClassesInfo.u2innerClassAccessFlags = innerClassAccessFlags;
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:12,代码来源:InnerClassesAccessFixer.java

示例5: visitInnerClassesAttribute

import proguard.classfile.attribute.InnerClassesInfo; //导入方法依赖的package包/类
public void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
{
    // Check whether the class itself is retargeted.
    checkTarget(clazz);

    if (!retargeted)
    {
        // Check whether the referenced classes are retargeted.
        innerClassesAttribute.innerClassEntriesAccept(clazz, this);
        int                classesCount = innerClassesAttribute.u2classesCount;
        InnerClassesInfo[] classes      = innerClassesAttribute.classes;

        int newClassesCount = 0;

        // Copy over all non-retargeted attributes.
        for (int index = 0; index < classesCount; index++)
        {
            InnerClassesInfo classInfo = classes[index];

            // Check if the outer class or inner class is a retargeted class.
            retargeted = false;
            classInfo.outerClassConstantAccept(clazz, this);
            classInfo.innerClassConstantAccept(clazz, this);
            if (!retargeted)
            {
                classes[newClassesCount++] = classInfo;
            }
        }

        // Clean up any remaining array elements.
        for (int index = newClassesCount; index < classesCount; index++)
        {
            classes[index] = null;
        }

        // Update the number of classes.
        innerClassesAttribute.u2classesCount = newClassesCount;

        // Remove the attribute altogether if it's empty.
        retargeted = newClassesCount == 0;
    }
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:43,代码来源:RetargetedInnerClassAttributeRemover.java

示例6: visitInnerClassesInfo

import proguard.classfile.attribute.InnerClassesInfo; //导入方法依赖的package包/类
public void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
{
    // Check whether the inner class or the outer class are retargeted.
    innerClassesInfo.innerClassConstantAccept(clazz, this);
    innerClassesInfo.outerClassConstantAccept(clazz, this);
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:7,代码来源:RetargetedInnerClassAttributeRemover.java


注:本文中的proguard.classfile.attribute.InnerClassesInfo.innerClassConstantAccept方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。