Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* Soot - a J*va Optimization Framework
   * Copyright (C) 1997-1999 Raja Vallee-Rai
   * 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
  * 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.
  * Modified by the Sable Research Group and others 1997-1999.  
  * See the 'credits' file distributed with Soot for the complete list of
  * contributors.  (Soot is distributed at
 package soot.tagkit;
 import java.util.List;
 // extended by SootClass, SootField, SootMethod, Scene
This class is the reference implementation for the Host interface, which allows arbitrary taggable data to be stored with Soot objects.
 public  class AbstractHost implements Host 
     // avoid creating an empty list for each element, when it is not used
     // use lazy instantiation (in addTag) instead
     private final static List<TagemptyList = Collections.emptyList();
     private List<TagmTagList = ;
get the list of tags. This list should not be modified!
     public List<TaggetTags()
         return ;

remove the tag named aName
     public void removeTag(String aName)
         int tagIndex;
         if((tagIndex = searchForTag(aName)) != -1) {

search for tag named aName
     private int searchForTag(String aName
         int i = 0;
         Iterator<Tagit = .iterator();
         while(it.hasNext()) {
             Tag tag =;
                 return i;
         return -1;

get the Tag object named aName
    public Tag getTag(String aName)
         int tagIndex;
         if((tagIndex = searchForTag(aName)) != -1) {
             return .get(tagIndex);
 				return null;

look if this host has a tag named aName
     public boolean hasTag(String aName)
         return (searchForTag(aName) != -1);
add tag t to this host
     public void addTag(Tag t)
         if ( == 
              = new ArrayList<Tag>(1);

Removes all the tags from this host.
    public void removeAllTags() {
         = ;

Adds all the tags from h to this host.
    public void addAllTagsOfHost h ) {
        forIterator<TagtIt = h.getTags().iterator(); tIt.hasNext(); ) {
            final Tag t =;
            addTagt );
New to GrepCode? Check out our FAQ X