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


Java TypeProtoUtils类代码示例

本文整理汇总了Java中org.jf.dexlib2.analysis.util.TypeProtoUtils的典型用法代码示例。如果您正苦于以下问题:Java TypeProtoUtils类的具体用法?Java TypeProtoUtils怎么用?Java TypeProtoUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TypeProtoUtils类属于org.jf.dexlib2.analysis.util包,在下文中一共展示了TypeProtoUtils类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: canAccess

import org.jf.dexlib2.analysis.util.TypeProtoUtils; //导入依赖的package包/类
public static boolean canAccess( TypeProto type,  Method virtualMethod, boolean checkPackagePrivate,
                                boolean checkProtected, boolean checkClass) {
    if (checkPackagePrivate && MethodUtil.isPackagePrivate(virtualMethod)) {
        String otherPackage = TypeUtils.getPackage(virtualMethod.getDefiningClass());
        String thisPackage = TypeUtils.getPackage(type.getType());
        if (!otherPackage.equals(thisPackage)) {
            return false;
        }
    }

    if (checkProtected && (virtualMethod.getAccessFlags() & AccessFlags.PROTECTED.getValue()) != 0) {
        if (!TypeProtoUtils.extendsFrom(type, virtualMethod.getDefiningClass())) {
            return false;
        }
    }

    if (checkClass) {
        ClassPath classPath = type.getClassPath();
        ClassDef methodClassDef = classPath.getClassDef(virtualMethod.getDefiningClass());
        if (!TypeUtils.canAccessClass(type.getType(), methodClassDef)) {
            return false;
        }
    }

    return true;
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:27,代码来源:AnalyzedMethodUtil.java

示例2: canAccess

import org.jf.dexlib2.analysis.util.TypeProtoUtils; //导入依赖的package包/类
public static boolean canAccess(@Nonnull TypeProto type, @Nonnull Method virtualMethod, boolean checkPackagePrivate,
                                boolean checkProtected, boolean checkClass) {
    if (checkPackagePrivate && MethodUtil.isPackagePrivate(virtualMethod)) {
        String otherPackage = TypeUtils.getPackage(virtualMethod.getDefiningClass());
        String thisPackage = TypeUtils.getPackage(type.getType());
        if (!otherPackage.equals(thisPackage)) {
            return false;
        }
    }

    if (checkProtected && (virtualMethod.getAccessFlags() & AccessFlags.PROTECTED.getValue()) != 0) {
        if (!TypeProtoUtils.extendsFrom(type, virtualMethod.getDefiningClass())) {
            return false;
        }
    }

    if (checkClass) {
        ClassPath classPath = type.getClassPath();
        ClassDef methodClassDef = classPath.getClassDef(virtualMethod.getDefiningClass());
        if (!TypeUtils.canAccessClass(type.getType(), methodClassDef)) {
            return false;
        }
    }

    return true;
}
 
开发者ID:johnlee175,项目名称:dex,代码行数:27,代码来源:AnalyzedMethodUtil.java


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