Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * Copyright (C) 2015 The Pennsylvania State University and the University of Wisconsin
  * Systems and Internet Infrastructure Security Laboratory
  * Author: Damien Octeau
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
package edu.psu.cse.siis.coal.arguments;
A singleton manager for method return values.
public class MethodReturnValueManager {
      new HashMap<>();
  private static final MethodReturnValueManager instance = new MethodReturnValueManager();
  private MethodReturnValueManager() {
  public static MethodReturnValueManager v() {
    return ;

Registers a method return value analysis.

subSignature A method subsignature (name and argument types).
analysis A MethodReturnValueAnalysis.
  public void registerMethodReturnValueAnalysis(String subSignature,
      MethodReturnValueAnalysis analysis) {

Returns the possible return values for a given method call.

call A method call.
The possible return values for the method call.
  public Set<ObjectgetMethodReturnValues(Call call) {
    Stmt stmt = call.stmt;
    if (!stmt.containsInvokeExpr()) {
      throw new RuntimeException("Statement does not contain invoke expression: " + stmt);
    InvokeExpr invokeExpr = stmt.getInvokeExpr();
    // First consider the registered method return value analyses.
    MethodReturnValueAnalysis analysis =
    if (analysis != null) {
      return analysis.computeMethodReturnValues(call);
    } else if (Model.v().getArgumentsForSource(invokeExpr) != null) {
      // Then consider the declared COAL sources.
    return null;
New to GrepCode? Check out our FAQ X