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


Java Signature.getSignature方法代码示例

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


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

示例1: visit

import org.apache.bcel.classfile.Signature; //导入方法依赖的package包/类
@Override
public void visit(Signature obj) {
    String sig = obj.getSignature();
    for (String s : BAD_SIGNATURES)
        if (sig.indexOf(s) >= 0) {
            if (visitingField())
                bugReporter.reportBug(new BugInstance(this, "DMI_COLLECTION_OF_URLS", HIGH_PRIORITY).addClass(this)
                        .addVisitedField(this));
            else if (visitingMethod())
                bugReporter.reportBug(new BugInstance(this, "DMI_COLLECTION_OF_URLS", HIGH_PRIORITY).addClassAndMethod(this));
            else
                bugReporter.reportBug(new BugInstance(this, "DMI_COLLECTION_OF_URLS", HIGH_PRIORITY).addClass(this).addClass(
                        this));
        }
}
 
开发者ID:ytus,项目名称:findbugs-all-the-bugs,代码行数:16,代码来源:URLProblems.java

示例2: getGenericSignatureIterator

import org.apache.bcel.classfile.Signature; //导入方法依赖的package包/类
/**
 * @param target
 *            the method whose signature is to be parsed
 * @return an iterator over the parameters of the generic signature of
 *         method. Returns null if the generic signature cannot be parsed
 */
public static @CheckForNull
Iterator<String> getGenericSignatureIterator(Method target) {
    try {
        GenericSignatureParser parser = null;
        String genericSignature = null;
        for (Attribute a : target.getAttributes()) {
            if (a instanceof Signature) {

                Signature sig = (Signature) a;
                if (genericSignature != null) {
                    if (!genericSignature.equals(sig.getSignature())) {
                        if (false) {
                            System.out.println("Inconsistent signatures: ");
                            System.out.println(genericSignature);
                            System.out.println(sig.getSignature());
                        }
                        return null; // we've seen two inconsistent
                                     // signatures
                    }
                    continue;
                }

                genericSignature = sig.getSignature();
                if (compareSignatures(target.getSignature(), genericSignature))
                    parser = new GenericSignatureParser(genericSignature);
            }
        }
        Iterator<String> iter = parser == null ? null : parser.parameterSignatureIterator();
        return iter;
    } catch (RuntimeException e) {
    } // degrade gracefully
    return null;
}
 
开发者ID:ytus,项目名称:findbugs-all-the-bugs,代码行数:40,代码来源:GenericSignatureParser.java

示例3: visit

import org.apache.bcel.classfile.Signature; //导入方法依赖的package包/类
@Override
public void visit(Signature obj) {
    if (!isApplicationClass)
        return;

    String sig = obj.getSignature();
    String className = findHashedClassInSignature(sig);
    if (className == null)
        return;
    if (className.startsWith("java.lang"))
        return;
    JavaClass type = null;

    try {
        type = Repository.lookupClass(className);
    } catch (ClassNotFoundException e) {
        AnalysisContext.reportMissingClass(e);
    }
    if (type == null)
        return;

    int priority = NORMAL_PRIORITY;
    if (sig.indexOf("Hash") >= 0)
        priority--;
    if (type.isAbstract() || type.isInterface())
        priority++;
    if (!AnalysisContext.currentAnalysisContext()/* .getSubtypes() */.isApplicationClass(type))
        priority++;

    BugInstance bug = null;

    if (visitingField())
        bug = new BugInstance(this, "HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS", priority).addClass(this)
                .addVisitedField(this).addTypeOfNamedClass(className).describe(TypeAnnotation.UNHASHABLE_ROLE);
    else if (visitingMethod())
        bug = new BugInstance(this, "HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS", priority).addClassAndMethod(this)
                .addTypeOfNamedClass(className).describe(TypeAnnotation.UNHASHABLE_ROLE);
    else
        bug = new BugInstance(this, "HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS", priority).addClass(this)
                .addClass(this).addTypeOfNamedClass(className).describe(TypeAnnotation.UNHASHABLE_ROLE);
    potentialBugs.put(className, bug);
}
 
开发者ID:ytus,项目名称:findbugs-all-the-bugs,代码行数:43,代码来源:FindHEmismatch.java


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