Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  
  /* Soot - a J*va Optimization Framework
   * Copyright (C) 2003 Ondrej Lhotak
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
 
 /* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
 
 package soot.options;
 import java.util.*;

Option parser for Array Bound Checker.
 
 public class ABCOptions
 {
     private Map options;
 
     public ABCOptionsMap options ) {
         this. = options;
     }
    
    
Enabled -- .
 
     public boolean enabled() {
         return soot.PhaseOptions.getBoolean"enabled" );
     }
    
    
With All -- . Setting the With All option to true is equivalent to setting each of With CSE, With Array Ref, With Field Ref, With Class Field, and With Rectangular Array to true.
 
     public boolean with_all() {
         return soot.PhaseOptions.getBoolean"with-all" );
     }
    
    
With Common Sub-expressions -- . The analysis will consider common subexpressions. For example, consider the situation where r1 is assigned a*b; later, r2 is assigned a*b, where neither a nor b have changed between the two statements. The analysis can conclude that r2 has the same value as r1. Experiments show that this option can improve the result slightly.
 
     public boolean with_cse() {
         return soot.PhaseOptions.getBoolean"with-cse" );
     }
    
    
With Array References -- . With this option enabled, array references can be considered as common subexpressions; however, we are more conservative when writing into an array, because array objects may be aliased. We also assume that the application is single-threaded or that the array references occur in a synchronized block. That is, we assume that an array element may not be changed by other threads between two array references.
 
     public boolean with_arrayref() {
         return soot.PhaseOptions.getBoolean"with-arrayref" );
     }
    
    
With Field References -- . The analysis treats field references (static and instance) as common subexpressions; however, we are more conservative when writing to a field, because the base of the field reference may be aliased. We also assume that the application is single-threaded or that the field references occur in a synchronized block. That is, we assume that a field may not be changed by other threads between two field references.
 
    public boolean with_fieldref() {
        return soot.PhaseOptions.getBoolean"with-fieldref" );
    }
    
    
With Class Field -- . This option makes the analysis work on the class level. The algorithm analyzes final or private class fields first. It can recognize the fields that hold array objects of constant length. In an application using lots of array fields, this option can improve the analysis results dramatically.
    public boolean with_classfield() {
        return soot.PhaseOptions.getBoolean"with-classfield" );
    }
    
    
With Rectangular Array -- . This option is used together with wjap.ra to make Soot run the whole-program analysis for rectangular array objects. This analysis is based on the call graph, and it usually takes a long time. If the application uses rectangular arrays, these options can improve the analysis result.
    public boolean with_rectarray() {
        return soot.PhaseOptions.getBoolean"with-rectarray" );
    }
    
    
Profiling -- Profile the results of array bounds check analysis.. Profile the results of array bounds check analysis. The inserted profiling code assumes the existence of a MultiCounter class implementing the methods invoked. For details, see the ArrayBoundsChecker source code.
    public boolean profiling() {
        return soot.PhaseOptions.getBoolean"profiling" );
    }
    
    
Add Color Tags -- Add color tags to results of array bound check analysis.. Add color tags to the results of the array bounds check analysis.
    public boolean add_color_tags() {
        return soot.PhaseOptions.getBoolean"add-color-tags" );
    }
    
}
        
New to GrepCode? Check out our FAQ X