home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / util / TreeMap.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  9.8 KB  |  825 lines

  1. package java.util;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.io.ObjectOutputStream;
  6. import java.io.Serializable;
  7.  
  8. public class TreeMap extends AbstractMap implements SortedMap, Cloneable, Serializable {
  9.    private Comparator comparator = null;
  10.    private transient Entry root = null;
  11.    private transient int size = 0;
  12.    private transient int modCount = 0;
  13.    private transient Set keySet = null;
  14.    private transient Set entrySet = null;
  15.    private transient Collection values = null;
  16.    private static final int KEYS = 0;
  17.    private static final int VALUES = 1;
  18.    private static final int ENTRIES = 2;
  19.    private static final boolean RED = false;
  20.    private static final boolean BLACK = true;
  21.    private static final long serialVersionUID = 919286545866124006L;
  22.  
  23.    private void incrementSize() {
  24.       ++this.modCount;
  25.       ++this.size;
  26.    }
  27.  
  28.    private void decrementSize() {
  29.       ++this.modCount;
  30.       --this.size;
  31.    }
  32.  
  33.    public TreeMap() {
  34.    }
  35.  
  36.    public TreeMap(Comparator var1) {
  37.       this.comparator = var1;
  38.    }
  39.  
  40.    public TreeMap(Map var1) {
  41.       this.putAll(var1);
  42.    }
  43.  
  44.    public TreeMap(SortedMap var1) {
  45.       this.comparator = var1.comparator();
  46.  
  47.       try {
  48.          this.buildFromSorted(var1.size(), var1.entrySet().iterator(), (ObjectInputStream)null, (Object)null);
  49.       } catch (IOException var4) {
  50.       } catch (ClassNotFoundException var5) {
  51.       }
  52.  
  53.    }
  54.  
  55.    public int size() {
  56.       return this.size;
  57.    }
  58.  
  59.    public boolean containsKey(Object var1) {
  60.       return this.getEntry(var1) != null;
  61.    }
  62.  
  63.    public boolean containsValue(Object var1) {
  64.       return this.root == null ? false : (var1 == null ? this.valueSearchNull(this.root) : this.valueSearchNonNull(this.root, var1));
  65.    }
  66.  
  67.    private boolean valueSearchNull(Entry var1) {
  68.       if (var1.value == null) {
  69.          return true;
  70.       } else {
  71.          return var1.left != null && this.valueSearchNull(var1.left) || var1.right != null && this.valueSearchNull(var1.right);
  72.       }
  73.    }
  74.  
  75.    private boolean valueSearchNonNull(Entry var1, Object var2) {
  76.       if (var2.equals(var1.value)) {
  77.          return true;
  78.       } else {
  79.          return var1.left != null && this.valueSearchNonNull(var1.left, var2) || var1.right != null && this.valueSearchNonNull(var1.right, var2);
  80.       }
  81.    }
  82.  
  83.    public Object get(Object var1) {
  84.       Entry var2 = this.getEntry(var1);
  85.       return var2 == null ? null : var2.value;
  86.    }
  87.  
  88.    public Comparator comparator() {
  89.       return this.comparator;
  90.    }
  91.  
  92.    public Object firstKey() {
  93.       return key(this.firstEntry());
  94.    }
  95.  
  96.    public Object lastKey() {
  97.       return key(this.lastEntry());
  98.    }
  99.  
  100.    public void putAll(Map var1) {
  101.       int var2 = var1.size();
  102.       if (this.size == 0 && var2 != 0 && var1 instanceof SortedMap) {
  103.          Comparator var3 = ((SortedMap)var1).comparator();
  104.          if (var3 == this.comparator || var3 != null && var3.equals(this.comparator)) {
  105.             ++this.modCount;
  106.  
  107.             try {
  108.                this.buildFromSorted(var2, var1.entrySet().iterator(), (ObjectInputStream)null, (Object)null);
  109.             } catch (IOException var6) {
  110.             } catch (ClassNotFoundException var7) {
  111.             }
  112.  
  113.             return;
  114.          }
  115.       }
  116.  
  117.       super.putAll(var1);
  118.    }
  119.  
  120.    private Entry getEntry(Object var1) {
  121.       Entry var2 = this.root;
  122.  
  123.       while(var2 != null) {
  124.          int var3 = this.compare(var1, var2.key);
  125.          if (var3 == 0) {
  126.             return var2;
  127.          }
  128.  
  129.          if (var3 < 0) {
  130.             var2 = var2.left;
  131.          } else {
  132.             var2 = var2.right;
  133.          }
  134.       }
  135.  
  136.       return null;
  137.    }
  138.  
  139.    private Entry getCeilEntry(Object var1) {
  140.       Entry var2 = this.root;
  141.       if (var2 == null) {
  142.          return null;
  143.       } else {
  144.          while(true) {
  145.             int var3 = this.compare(var1, var2.key);
  146.             if (var3 == 0) {
  147.                return var2;
  148.             }
  149.  
  150.             if (var3 < 0) {
  151.                if (var2.left == null) {
  152.                   return var2;
  153.                }
  154.  
  155.                var2 = var2.left;
  156.             } else {
  157.                if (var2.right == null) {
  158.                   Entry var4 = var2.parent;
  159.  
  160.                   for(Entry var5 = var2; var4 != null && var5 == var4.right; var4 = var4.parent) {
  161.                      var5 = var4;
  162.                   }
  163.  
  164.                   return var4;
  165.                }
  166.  
  167.                var2 = var2.right;
  168.             }
  169.          }
  170.       }
  171.    }
  172.  
  173.    private Entry getPrecedingEntry(Object var1) {
  174.       Entry var2 = this.root;
  175.       if (var2 == null) {
  176.          return null;
  177.       } else {
  178.          while(true) {
  179.             int var3 = this.compare(var1, var2.key);
  180.             if (var3 > 0) {
  181.                if (var2.right == null) {
  182.                   return var2;
  183.                }
  184.  
  185.                var2 = var2.right;
  186.             } else {
  187.                if (var2.left == null) {
  188.                   Entry var4 = var2.parent;
  189.  
  190.                   for(Entry var5 = var2; var4 != null && var5 == var4.left; var4 = var4.parent) {
  191.                      var5 = var4;
  192.                   }
  193.  
  194.                   return var4;
  195.                }
  196.  
  197.                var2 = var2.left;
  198.             }
  199.          }
  200.       }
  201.    }
  202.  
  203.    private static Object key(Entry var0) {
  204.       if (var0 == null) {
  205.          throw new NoSuchElementException();
  206.       } else {
  207.          return var0.key;
  208.       }
  209.    }
  210.  
  211.    public Object put(Object var1, Object var2) {
  212.       Entry var3 = this.root;
  213.       if (var3 == null) {
  214.          this.incrementSize();
  215.          this.root = new Entry(var1, var2, (Entry)null);
  216.          return null;
  217.       } else {
  218.          while(true) {
  219.             int var4 = this.compare(var1, var3.key);
  220.             if (var4 == 0) {
  221.                return var3.setValue(var2);
  222.             }
  223.  
  224.             if (var4 < 0) {
  225.                if (var3.left == null) {
  226.                   this.incrementSize();
  227.                   var3.left = new Entry(var1, var2, var3);
  228.                   this.fixAfterInsertion(var3.left);
  229.                   return null;
  230.                }
  231.  
  232.                var3 = var3.left;
  233.             } else {
  234.                if (var3.right == null) {
  235.                   this.incrementSize();
  236.                   var3.right = new Entry(var1, var2, var3);
  237.                   this.fixAfterInsertion(var3.right);
  238.                   return null;
  239.                }
  240.  
  241.                var3 = var3.right;
  242.             }
  243.          }
  244.       }
  245.    }
  246.  
  247.    public Object remove(Object var1) {
  248.       Entry var2 = this.getEntry(var1);
  249.       if (var2 == null) {
  250.          return null;
  251.       } else {
  252.          Object var3 = var2.value;
  253.          this.deleteEntry(var2);
  254.          return var3;
  255.       }
  256.    }
  257.  
  258.    public void clear() {
  259.       ++this.modCount;
  260.       this.size = 0;
  261.       this.root = null;
  262.    }
  263.  
  264.    public Object clone() {
  265.       Object var1 = null;
  266.  
  267.       try {
  268.          var7 = (TreeMap)super.clone();
  269.       } catch (CloneNotSupportedException var6) {
  270.          throw new InternalError();
  271.       }
  272.  
  273.       var7.root = null;
  274.       var7.size = 0;
  275.       var7.modCount = 0;
  276.       var7.keySet = var7.entrySet = null;
  277.       var7.values = null;
  278.  
  279.       try {
  280.          var7.buildFromSorted(this.size, this.entrySet().iterator(), (ObjectInputStream)null, (Object)null);
  281.       } catch (IOException var4) {
  282.       } catch (ClassNotFoundException var5) {
  283.       }
  284.  
  285.       return var7;
  286.    }
  287.  
  288.    public Set keySet() {
  289.       if (this.keySet == null) {
  290.          this.keySet = new 1(this);
  291.       }
  292.  
  293.       return this.keySet;
  294.    }
  295.  
  296.    public Collection values() {
  297.       if (this.values == null) {
  298.          this.values = new 2(this);
  299.       }
  300.  
  301.       return this.values;
  302.    }
  303.  
  304.    public Set entrySet() {
  305.       if (this.entrySet == null) {
  306.          this.entrySet = new 3(this);
  307.       }
  308.  
  309.       return this.entrySet;
  310.    }
  311.  
  312.    public SortedMap subMap(Object var1, Object var2) {
  313.       return new SubMap(this, var1, var2);
  314.    }
  315.  
  316.    public SortedMap headMap(Object var1) {
  317.       return new SubMap(this, var1, true);
  318.    }
  319.  
  320.    public SortedMap tailMap(Object var1) {
  321.       return new SubMap(this, var1, false);
  322.    }
  323.  
  324.    private int compare(Object var1, Object var2) {
  325.       return this.comparator == null ? ((Comparable)var1).compareTo(var2) : this.comparator.compare(var1, var2);
  326.    }
  327.  
  328.    private static boolean valEquals(Object var0, Object var1) {
  329.       return var0 == null ? var1 == null : var0.equals(var1);
  330.    }
  331.  
  332.    private Entry firstEntry() {
  333.       Entry var1 = this.root;
  334.       if (var1 != null) {
  335.          while(var1.left != null) {
  336.             var1 = var1.left;
  337.          }
  338.       }
  339.  
  340.       return var1;
  341.    }
  342.  
  343.    private Entry lastEntry() {
  344.       Entry var1 = this.root;
  345.       if (var1 != null) {
  346.          while(var1.right != null) {
  347.             var1 = var1.right;
  348.          }
  349.       }
  350.  
  351.       return var1;
  352.    }
  353.  
  354.    private Entry successor(Entry var1) {
  355.       if (var1 == null) {
  356.          return null;
  357.       } else if (var1.right != null) {
  358.          Entry var4;
  359.          for(var4 = var1.right; var4.left != null; var4 = var4.left) {
  360.          }
  361.  
  362.          return var4;
  363.       } else {
  364.          Entry var2 = var1.parent;
  365.  
  366.          for(Entry var3 = var1; var2 != null && var3 == var2.right; var2 = var2.parent) {
  367.             var3 = var2;
  368.          }
  369.  
  370.          return var2;
  371.       }
  372.    }
  373.  
  374.    private static boolean colorOf(Entry var0) {
  375.       return var0 == null ? true : var0.color;
  376.    }
  377.  
  378.    private static Entry parentOf(Entry var0) {
  379.       return var0 == null ? null : var0.parent;
  380.    }
  381.  
  382.    private static void setColor(Entry var0, boolean var1) {
  383.       if (var0 != null) {
  384.          var0.color = var1;
  385.       }
  386.  
  387.    }
  388.  
  389.    private static Entry leftOf(Entry var0) {
  390.       return var0 == null ? null : var0.left;
  391.    }
  392.  
  393.    private static Entry rightOf(Entry var0) {
  394.       return var0 == null ? null : var0.right;
  395.    }
  396.  
  397.    private void rotateLeft(Entry var1) {
  398.       Entry var2 = var1.right;
  399.       var1.right = var2.left;
  400.       if (var2.left != null) {
  401.          var2.left.parent = var1;
  402.       }
  403.  
  404.       var2.parent = var1.parent;
  405.       if (var1.parent == null) {
  406.          this.root = var2;
  407.       } else if (var1.parent.left == var1) {
  408.          var1.parent.left = var2;
  409.       } else {
  410.          var1.parent.right = var2;
  411.       }
  412.  
  413.       var2.left = var1;
  414.       var1.parent = var2;
  415.    }
  416.  
  417.    private void rotateRight(Entry var1) {
  418.       Entry var2 = var1.left;
  419.       var1.left = var2.right;
  420.       if (var2.right != null) {
  421.          var2.right.parent = var1;
  422.       }
  423.  
  424.       var2.parent = var1.parent;
  425.       if (var1.parent == null) {
  426.          this.root = var2;
  427.       } else if (var1.parent.right == var1) {
  428.          var1.parent.right = var2;
  429.       } else {
  430.          var1.parent.left = var2;
  431.       }
  432.  
  433.       var2.right = var1;
  434.       var1.parent = var2;
  435.    }
  436.  
  437.    private void fixAfterInsertion(Entry var1) {
  438.       var1.color = false;
  439.  
  440.       while(var1 != null && var1 != this.root && !var1.parent.color) {
  441.          if (parentOf(var1) == leftOf(parentOf(parentOf(var1)))) {
  442.             Entry var2 = rightOf(parentOf(parentOf(var1)));
  443.             if (!colorOf(var2)) {
  444.                setColor(parentOf(var1), true);
  445.                setColor(var2, true);
  446.                setColor(parentOf(parentOf(var1)), false);
  447.                var1 = parentOf(parentOf(var1));
  448.             } else {
  449.                if (var1 == rightOf(parentOf(var1))) {
  450.                   var1 = parentOf(var1);
  451.                   this.rotateLeft(var1);
  452.                }
  453.  
  454.                setColor(parentOf(var1), true);
  455.                setColor(parentOf(parentOf(var1)), false);
  456.                if (parentOf(parentOf(var1)) != null) {
  457.                   this.rotateRight(parentOf(parentOf(var1)));
  458.                }
  459.             }
  460.          } else {
  461.             Entry var3 = leftOf(parentOf(parentOf(var1)));
  462.             if (!colorOf(var3)) {
  463.                setColor(parentOf(var1), true);
  464.                setColor(var3, true);
  465.                setColor(parentOf(parentOf(var1)), false);
  466.                var1 = parentOf(parentOf(var1));
  467.             } else {
  468.                if (var1 == leftOf(parentOf(var1))) {
  469.                   var1 = parentOf(var1);
  470.                   this.rotateRight(var1);
  471.                }
  472.  
  473.                setColor(parentOf(var1), true);
  474.                setColor(parentOf(parentOf(var1)), false);
  475.                if (parentOf(parentOf(var1)) != null) {
  476.                   this.rotateLeft(parentOf(parentOf(var1)));
  477.                }
  478.             }
  479.          }
  480.       }
  481.  
  482.       this.root.color = true;
  483.    }
  484.  
  485.    private void deleteEntry(Entry var1) {
  486.       this.decrementSize();
  487.       if (var1.left != null && var1.right != null) {
  488.          Entry var2 = this.successor(var1);
  489.          this.swapPosition(var2, var1);
  490.       }
  491.  
  492.       Entry var3 = var1.left != null ? var1.left : var1.right;
  493.       if (var3 != null) {
  494.          var3.parent = var1.parent;
  495.          if (var1.parent == null) {
  496.             this.root = var3;
  497.          } else if (var1 == var1.parent.left) {
  498.             var1.parent.left = var3;
  499.          } else {
  500.             var1.parent.right = var3;
  501.          }
  502.  
  503.          var1.left = var1.right = var1.parent = null;
  504.          if (var1.color) {
  505.             this.fixAfterDeletion(var3);
  506.          }
  507.       } else if (var1.parent == null) {
  508.          this.root = null;
  509.       } else {
  510.          if (var1.color) {
  511.             this.fixAfterDeletion(var1);
  512.          }
  513.  
  514.          if (var1.parent != null) {
  515.             if (var1 == var1.parent.left) {
  516.                var1.parent.left = null;
  517.             } else if (var1 == var1.parent.right) {
  518.                var1.parent.right = null;
  519.             }
  520.  
  521.             var1.parent = null;
  522.          }
  523.       }
  524.  
  525.    }
  526.  
  527.    private void fixAfterDeletion(Entry var1) {
  528.       while(var1 != this.root && colorOf(var1)) {
  529.          if (var1 == leftOf(parentOf(var1))) {
  530.             Entry var3 = rightOf(parentOf(var1));
  531.             if (!colorOf(var3)) {
  532.                setColor(var3, true);
  533.                setColor(parentOf(var1), false);
  534.                this.rotateLeft(parentOf(var1));
  535.                var3 = rightOf(parentOf(var1));
  536.             }
  537.  
  538.             if (colorOf(leftOf(var3)) && colorOf(rightOf(var3))) {
  539.                setColor(var3, false);
  540.                var1 = parentOf(var1);
  541.             } else {
  542.                if (colorOf(rightOf(var3))) {
  543.                   setColor(leftOf(var3), true);
  544.                   setColor(var3, false);
  545.                   this.rotateRight(var3);
  546.                   var3 = rightOf(parentOf(var1));
  547.                }
  548.  
  549.                setColor(var3, colorOf(parentOf(var1)));
  550.                setColor(parentOf(var1), true);
  551.                setColor(rightOf(var3), true);
  552.                this.rotateLeft(parentOf(var1));
  553.                var1 = this.root;
  554.             }
  555.          } else {
  556.             Entry var2 = leftOf(parentOf(var1));
  557.             if (!colorOf(var2)) {
  558.                setColor(var2, true);
  559.                setColor(parentOf(var1), false);
  560.                this.rotateRight(parentOf(var1));
  561.                var2 = leftOf(parentOf(var1));
  562.             }
  563.  
  564.             if (colorOf(rightOf(var2)) && colorOf(leftOf(var2))) {
  565.                setColor(var2, false);
  566.                var1 = parentOf(var1);
  567.             } else {
  568.                if (colorOf(leftOf(var2))) {
  569.                   setColor(rightOf(var2), true);
  570.                   setColor(var2, false);
  571.                   this.rotateLeft(var2);
  572.                   var2 = leftOf(parentOf(var1));
  573.                }
  574.  
  575.                setColor(var2, colorOf(parentOf(var1)));
  576.                setColor(parentOf(var1), true);
  577.                setColor(leftOf(var2), true);
  578.                this.rotateRight(parentOf(var1));
  579.                var1 = this.root;
  580.             }
  581.          }
  582.       }
  583.  
  584.       setColor(var1, true);
  585.    }
  586.  
  587.    private void swapPosition(Entry var1, Entry var2) {
  588.       Entry var3 = var1.parent;
  589.       Entry var4 = var1.left;
  590.       Entry var5 = var1.right;
  591.       Entry var6 = var2.parent;
  592.       Entry var7 = var2.left;
  593.       Entry var8 = var2.right;
  594.       boolean var9 = var3 != null && var1 == var3.left;
  595.       boolean var10 = var6 != null && var2 == var6.left;
  596.       if (var1 == var6) {
  597.          var1.parent = var2;
  598.          if (var10) {
  599.             var2.left = var1;
  600.             var2.right = var5;
  601.          } else {
  602.             var2.right = var1;
  603.             var2.left = var4;
  604.          }
  605.       } else {
  606.          var1.parent = var6;
  607.          if (var6 != null) {
  608.             if (var10) {
  609.                var6.left = var1;
  610.             } else {
  611.                var6.right = var1;
  612.             }
  613.          }
  614.  
  615.          var2.left = var4;
  616.          var2.right = var5;
  617.       }
  618.  
  619.       if (var2 == var3) {
  620.          var2.parent = var1;
  621.          if (var9) {
  622.             var1.left = var2;
  623.             var1.right = var8;
  624.          } else {
  625.             var1.right = var2;
  626.             var1.left = var7;
  627.          }
  628.       } else {
  629.          var2.parent = var3;
  630.          if (var3 != null) {
  631.             if (var9) {
  632.                var3.left = var2;
  633.             } else {
  634.                var3.right = var2;
  635.             }
  636.          }
  637.  
  638.          var1.left = var7;
  639.          var1.right = var8;
  640.       }
  641.  
  642.       if (var1.left != null) {
  643.          var1.left.parent = var1;
  644.       }
  645.  
  646.       if (var1.right != null) {
  647.          var1.right.parent = var1;
  648.       }
  649.  
  650.       if (var2.left != null) {
  651.          var2.left.parent = var2;
  652.       }
  653.  
  654.       if (var2.right != null) {
  655.          var2.right.parent = var2;
  656.       }
  657.  
  658.       boolean var11 = var1.color;
  659.       var1.color = var2.color;
  660.       var2.color = var11;
  661.       if (this.root == var1) {
  662.          this.root = var2;
  663.       } else if (this.root == var2) {
  664.          this.root = var1;
  665.       }
  666.  
  667.    }
  668.  
  669.    private void writeObject(ObjectOutputStream var1) throws IOException {
  670.       var1.defaultWriteObject();
  671.       var1.writeInt(this.size);
  672.  
  673.       for(Entry var3 : this.entrySet()) {
  674.          var1.writeObject(var3.key);
  675.          var1.writeObject(var3.value);
  676.       }
  677.  
  678.    }
  679.  
  680.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  681.       var1.defaultReadObject();
  682.       int var2 = var1.readInt();
  683.       this.buildFromSorted(var2, (java.util.Iterator)null, var1, (Object)null);
  684.    }
  685.  
  686.    void readTreeSet(int var1, ObjectInputStream var2, Object var3) throws IOException, ClassNotFoundException {
  687.       this.buildFromSorted(var1, (java.util.Iterator)null, var2, var3);
  688.    }
  689.  
  690.    void addAllForTreeSet(SortedSet var1, Object var2) {
  691.       try {
  692.          this.buildFromSorted(var1.size(), var1.iterator(), (ObjectInputStream)null, var2);
  693.       } catch (IOException var5) {
  694.       } catch (ClassNotFoundException var6) {
  695.       }
  696.  
  697.    }
  698.  
  699.    private void buildFromSorted(int var1, java.util.Iterator var2, ObjectInputStream var3, Object var4) throws IOException, ClassNotFoundException {
  700.       this.size = var1;
  701.       this.root = buildFromSorted(0, 0, var1 - 1, computeRedLevel(var1), var2, var3, var4);
  702.    }
  703.  
  704.    private static Entry buildFromSorted(int var0, int var1, int var2, int var3, java.util.Iterator var4, ObjectInputStream var5, Object var6) throws IOException, ClassNotFoundException {
  705.       if (var2 < var1) {
  706.          return null;
  707.       } else {
  708.          int var7 = (var1 + var2) / 2;
  709.          Entry var8 = null;
  710.          if (var1 < var7) {
  711.             var8 = buildFromSorted(var0 + 1, var1, var7 - 1, var3, var4, var5, var6);
  712.          }
  713.  
  714.          Object var9;
  715.          Object var10;
  716.          if (var4 != null) {
  717.             if (var6 == null) {
  718.                Map.Entry var11 = (Map.Entry)var4.next();
  719.                var9 = var11.getKey();
  720.                var10 = var11.getValue();
  721.             } else {
  722.                var9 = var4.next();
  723.                var10 = var6;
  724.             }
  725.          } else {
  726.             var9 = var5.readObject();
  727.             var10 = var6 != null ? var6 : var5.readObject();
  728.          }
  729.  
  730.          Entry var13 = new Entry(var9, var10, (Entry)null);
  731.          if (var0 == var3) {
  732.             var13.color = false;
  733.          }
  734.  
  735.          if (var8 != null) {
  736.             var13.left = var8;
  737.             var8.parent = var13;
  738.          }
  739.  
  740.          if (var7 < var2) {
  741.             Entry var12 = buildFromSorted(var0 + 1, var7 + 1, var2, var3, var4, var5, var6);
  742.             var13.right = var12;
  743.             var12.parent = var13;
  744.          }
  745.  
  746.          return var13;
  747.       }
  748.    }
  749.  
  750.    private static int computeRedLevel(int var0) {
  751.       int var1 = 0;
  752.  
  753.       for(int var2 = var0 - 1; var2 >= 0; var2 = var2 / 2 - 1) {
  754.          ++var1;
  755.       }
  756.  
  757.       return var1;
  758.    }
  759.  
  760.    // $FF: synthetic method
  761.    static int access$000(TreeMap var0) {
  762.       return var0.size;
  763.    }
  764.  
  765.    // $FF: synthetic method
  766.    static Entry access$100(TreeMap var0) {
  767.       return var0.firstEntry();
  768.    }
  769.  
  770.    // $FF: synthetic method
  771.    static Entry access$200(TreeMap var0, Entry var1) {
  772.       return var0.successor(var1);
  773.    }
  774.  
  775.    // $FF: synthetic method
  776.    static boolean access$300(Object var0, Object var1) {
  777.       return valEquals(var0, var1);
  778.    }
  779.  
  780.    // $FF: synthetic method
  781.    static void access$400(TreeMap var0, Entry var1) {
  782.       var0.deleteEntry(var1);
  783.    }
  784.  
  785.    // $FF: synthetic method
  786.    static Entry access$500(TreeMap var0, Object var1) {
  787.       return var0.getEntry(var1);
  788.    }
  789.  
  790.    // $FF: synthetic method
  791.    static int access$600(TreeMap var0, Object var1, Object var2) {
  792.       return var0.compare(var1, var2);
  793.    }
  794.  
  795.    // $FF: synthetic method
  796.    static Comparator access$700(TreeMap var0) {
  797.       return var0.comparator;
  798.    }
  799.  
  800.    // $FF: synthetic method
  801.    static Entry access$800(TreeMap var0, Object var1) {
  802.       return var0.getCeilEntry(var1);
  803.    }
  804.  
  805.    // $FF: synthetic method
  806.    static Object access$900(Entry var0) {
  807.       return key(var0);
  808.    }
  809.  
  810.    // $FF: synthetic method
  811.    static Entry access$1000(TreeMap var0) {
  812.       return var0.lastEntry();
  813.    }
  814.  
  815.    // $FF: synthetic method
  816.    static Entry access$1100(TreeMap var0, Object var1) {
  817.       return var0.getPrecedingEntry(var1);
  818.    }
  819.  
  820.    // $FF: synthetic method
  821.    static int access$1400(TreeMap var0) {
  822.       return var0.modCount;
  823.    }
  824. }
  825.