1 19 20 package edu.umd.cs.findbugs.ba.bcp; 21 22 30 public class BindingSet { 31 private final Binding binding; 32 private final BindingSet parent; 33 34 40 public BindingSet(Binding binding, BindingSet parent) { 41 this.binding = binding; 42 this.parent = parent; 43 } 44 45 51 public Binding lookup(String varName) { 52 if (varName.equals(binding.getVarName())) 53 return binding; 54 return parent != null ? parent.lookup(varName) : null; 55 } 56 57 @Override 58 public String toString() { 59 StringBuffer buf = new StringBuffer (); 60 BindingSet cur = this; 61 buf.append('['); 62 while (cur != null) { 63 if (cur != this) 64 buf.append(", "); 65 buf.append(cur.binding.toString()); 66 cur = cur.parent; 67 } 68 buf.append(']'); 69 return buf.toString(); 70 } 71 } 72 73 | Popular Tags |