@Override public @CheckForNull AnnotatedObject getContainingScope() { try { return Global.getAnalysisCache().getClassAnalysis(XClass.class, getClassDescriptor()); } catch (CheckedAnalysisException e) { return null; } }
@Override public ElementType getElementType() { if (Const.CONSTRUCTOR_NAME.equals(getName())) { return ElementType.CONSTRUCTOR; } return ElementType.METHOD; }
@Override public boolean isReturnTypeReferenceType() { SignatureParser parser = new SignatureParser(getSignature()); String returnTypeSig = parser.getReturnTypeSignature(); return SignatureParser.isReferenceType(returnTypeSig); }
assert true; UnresolvedXMethod xmethod = new UnresolvedXMethod(originalDescriptor); && !xmethod.getClassName().startsWith("java")) { boolean methodHasCloseInName = false; String methodName = xmethod.getName(); SplitCamelCaseIdentifier splitter = new SplitCamelCaseIdentifier(methodName); methodHasCloseInName = splitter.split().contains("close"); Obligation[] paramObligationTypes = database.getFactory().getParameterObligationTypes(xmethod); for (int i = 0; i < xmethod.getNumParams(); i++) { Obligation obligationType = paramObligationTypes[i]; if (obligationType == null) { if (Const.CONSTRUCTOR_NAME.equals(methodName) || methodName.startsWith("access$") || xmethod.isStatic() || methodName.toLowerCase().indexOf("close") >= 0 || xmethod.getSignature().toLowerCase().indexOf("Closeable") >= 0) { ObligationPolicyDatabaseEntry entry = database.addParameterDeletesObligationDatabaseEntry(xmethod, obligationType, ObligationPolicyDatabaseEntryType.WEAK);
assert true; UnresolvedXMethod xmethod = new UnresolvedXMethod(originalDescriptor); && !xmethod.getClassName().startsWith("java")) { boolean methodHasCloseInName = false; String methodName = xmethod.getName(); SplitCamelCaseIdentifier splitter = new SplitCamelCaseIdentifier(methodName); methodHasCloseInName = splitter.split().contains("close"); Obligation[] paramObligationTypes = database.getFactory().getParameterObligationTypes(xmethod); for (int i = 0; i < xmethod.getNumParams(); i++) { Obligation obligationType = paramObligationTypes[i]; if (obligationType == null) { if ("<init>".equals(methodName) || methodName.startsWith("access$") || xmethod.isStatic() || methodName.toLowerCase().indexOf("close") >= 0 || xmethod.getSignature().toLowerCase().indexOf("Closeable") >= 0) { ObligationPolicyDatabaseEntry entry = database.addParameterDeletesObligationDatabaseEntry(xmethod, obligationType, ObligationPolicyDatabaseEntryType.WEAK);
@Override public boolean isReturnTypeReferenceType() { SignatureParser parser = new SignatureParser(getSignature()); String returnTypeSig = parser.getReturnTypeSignature(); return SignatureParser.isReferenceType(returnTypeSig); }
@Override public ElementType getElementType() { if ("<init>".equals(getName())) { return ElementType.CONSTRUCTOR; } return ElementType.METHOD; }
@Override public @CheckForNull AnnotatedObject getContainingScope() { try { return Global.getAnalysisCache().getClassAnalysis(XClass.class, getClassDescriptor()); } catch (CheckedAnalysisException e) { return null; } }