ordercheck passes.


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@29 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeAbstract.java b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeAbstract.java
index 5400aa8..da10327 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeAbstract.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeAbstract.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeFinal.java b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeFinal.java
index 106220d..50b8684 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeFinal.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeFinal.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeNative.java b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeNative.java
index 19ad6c1..8159851 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeNative.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeNative.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeSetFinal.java b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeSetFinal.java
index 54b3d2b..d2808f4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeSetFinal.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeSetFinal.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public interface CanBeSetFinal {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeStatic.java b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeStatic.java
index 87eb82e..1fd1da2 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeStatic.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/CanBeStatic.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingMethod.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingMethod.java
index c704fb5..e83f6c2 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingMethod.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingMethod.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingType.java
index 30e6c31..c21d4b8 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasEnclosingType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasInitializer.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasInitializer.java
index bf4e46d..8f6ee9b 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasInitializer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasInitializer.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasInstance.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasInstance.java
index 61c2802..6e4caee 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasInstance.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasInstance.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public interface HasInstance {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java
index 49f6d9a..c6f305a 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasSettableType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasSettableType.java
index 8a2ce67..b9f600c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasSettableType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasSettableType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public interface HasSettableType extends HasType {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasType.java
index f3ef140..5af868a 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/Holder.java b/dev/core/src/com/google/gwt/dev/jjs/ast/Holder.java
index 14d7600..c39f39c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/Holder.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/Holder.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public class Holder extends Mutator implements JVisitable {
@@ -12,6 +26,10 @@
     this.value = value;
   }
 
+  public JExpression get() {
+    return value;
+  }
+
   public void insertAfter(JExpression node) {
     throw new UnsupportedOperationException();
   }
@@ -24,10 +42,6 @@
     throw new UnsupportedOperationException();
   }
 
-  public JExpression get() {
-    return value;
-  }
-
   public JExpression set(JExpression value) {
     return this.value = value;
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HolderList.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HolderList.java
index 391c9c4..b2571ad 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HolderList.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HolderList.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import java.util.ArrayList;
@@ -7,14 +21,20 @@
 import java.util.List;
 import java.util.ListIterator;
 
-public class HolderList/*<T extends JNode>*/ implements List/*<T>*/, JVisitable {
+public class HolderList/* <T extends JNode> */implements List/* <T> */,
+    JVisitable {
 
-  private final class ListIt implements ListIterator/*<T>*/ {
+  private final class ListIt implements ListIterator/* <T> */ {
 
-    private ListIt(ListIterator/*<Mutator<T>>*/ itImpl, ListIterator/*<T>*/ itPeer) {
+    private final ListIterator/* <Mutator<T>> */itImpl;
+    private final ListIterator/* <T> */itPeer;
+
+    private ListIt(ListIterator/* <Mutator<T>> */itImpl,
+        ListIterator/* <T> */itPeer) {
       this.itImpl = itImpl;
       this.itPeer = itPeer;
     }
+
     public void add(Object o) {
       itImpl.add(new MutatorImpl());
       itPeer.add(o);
@@ -54,10 +74,6 @@
     public void set(Object o) {
       itPeer.set(o);
     }
-
-    private final ListIterator/*<Mutator<T>>*/ itImpl;
-
-    private final ListIterator/*<T>*/ itPeer;
   }
 
   private class MutatorImpl extends Mutator {
@@ -103,18 +119,22 @@
     }
   }
 
+  private final ArrayList/* <Mutator<T>> */impl = new ArrayList/* <Mutator<T>> */();
+  private final ArrayList/* <T> */peer = new ArrayList/* <T> */();
+
   public void add(int index, Object element) {
     impl.add(index, new MutatorImpl());
     peer.add(index, element);
   }
+
   public boolean add(Object o) {
     impl.add(new MutatorImpl());
     return peer.add(o);
   }
-  
-  public boolean addAll(Collection/*<? extends T>*/ c) {
+
+  public boolean addAll(Collection/* <? extends T> */c) {
     boolean result = false;
-    for (Iterator it = c.iterator(); it.hasNext(); ) {
+    for (Iterator it = c.iterator(); it.hasNext();) {
       JNode item = (JNode) it.next();
       this.add(item);
       result = true;
@@ -122,9 +142,9 @@
     return result;
   }
 
-  public boolean addAll(int index, Collection/*<? extends T>*/ c) {
+  public boolean addAll(int index, Collection/* <? extends T> */c) {
     boolean result = false;
-    for (Iterator it = c.iterator(); it.hasNext(); ) {
+    for (Iterator it = c.iterator(); it.hasNext();) {
       JNode item = (JNode) it.next();
       this.add(index++, item);
       result = true;
@@ -141,7 +161,7 @@
     return peer.contains(o);
   }
 
-  public boolean containsAll(Collection/*<?>*/ c) {
+  public boolean containsAll(Collection/* <?> */c) {
     throw new UnsupportedOperationException();
   }
 
@@ -157,7 +177,7 @@
     return (Mutator) impl.get(index);
   }
 
-  public List/*<Mutator<T>>*/ getMutators() {
+  public List/* <Mutator<T>> */getMutators() {
     return impl;
   }
 
@@ -169,7 +189,7 @@
     return peer.isEmpty();
   }
 
-  public Iterator/*<T>*/ iterator() {
+  public Iterator/* <T> */iterator() {
     return new ListIt(impl.listIterator(), peer.listIterator());
   }
 
@@ -177,11 +197,11 @@
     return peer.lastIndexOf(o);
   }
 
-  public ListIterator/*<T>*/ listIterator() {
+  public ListIterator/* <T> */listIterator() {
     return new ListIt(impl.listIterator(), peer.listIterator());
   }
 
-  public ListIterator/*<T>*/ listIterator(int index) {
+  public ListIterator/* <T> */listIterator(int index) {
     return new ListIt(impl.listIterator(index), peer.listIterator(index));
   }
 
@@ -200,11 +220,11 @@
     return true;
   }
 
-  public boolean removeAll(Collection/*<?>*/ c) {
+  public boolean removeAll(Collection/* <?> */c) {
     throw new UnsupportedOperationException();
   }
 
-  public boolean retainAll(Collection/*<?>*/ c) {
+  public boolean retainAll(Collection/* <?> */c) {
     throw new UnsupportedOperationException();
   }
 
@@ -216,7 +236,7 @@
     return peer.size();
   }
 
-  public List/*<T>*/ subList(int fromIndex, int toIndex) {
+  public List/* <T> */subList(int fromIndex, int toIndex) {
     throw new UnsupportedOperationException();
   }
 
@@ -224,19 +244,15 @@
     return peer.toArray();
   }
 
-  public /*<T>*/ Object[] toArray(Object[] a) {
+  public/* <T> */Object[] toArray(Object[] a) {
     return peer.toArray(a);
   }
 
   public void traverse(JVisitor visitor) {
     for (int i = 0, c = impl.size(); i < c; ++i) {
       JExpression value = (JExpression) peer.get(i);
-        value.traverse(visitor, (Mutator) impl.get(i));
+      value.traverse(visitor, (Mutator) impl.get(i));
     }
   }
 
-  private final ArrayList/*<Mutator<T>>*/ impl = new ArrayList/*<Mutator<T>>*/();
-
-  private final ArrayList/*<T>*/ peer = new ArrayList/*<T>*/();
-
 }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java
index 418e875..ff215fa 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public class JAbsentArrayDimension extends JLiteral {
@@ -11,7 +25,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypeVoid();
+    return program.getTypeVoid();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java
index a241779..bae50f1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -15,27 +29,27 @@
     this.indexExpr.set(indexExpr);
   }
 
-  public JExpression getInstance() {
-    return instance.get();
-  }
-
   public JExpression getIndexExpr() {
     return indexExpr.get();
   }
 
-  public boolean hasSideEffects() {
-    return instance.get().hasSideEffects() || indexExpr.get().hasSideEffects();
+  public JExpression getInstance() {
+    return instance.get();
   }
 
   public JType getType() {
     JType type = instance.get().getType();
-    if (type == fProgram.getTypeNull()) {
+    if (type == program.getTypeNull()) {
       return type;
     }
     JArrayType arrayType = (JArrayType) type;
     return arrayType.getElementType();
   }
 
+  public boolean hasSideEffects() {
+    return instance.get().hasSideEffects() || indexExpr.get().hasSideEffects();
+  }
+
   public void traverse(JVisitor visitor) {
     traverse(visitor, null);
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java
index 6606587..4c4e244 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -6,7 +20,16 @@
  */
 public class JArrayType extends JClassType {
 
+  private static String calcName(JType leafType, int dims) {
+    String name = leafType.getName();
+    for (int i = 0; i < dims; ++i) {
+      name = name + "[]";
+    }
+    return name;
+  }
+
   public JType leafType;
+
   public int dims;
 
   /**
@@ -18,14 +41,6 @@
     this.dims = dims;
   }
 
-  private static String calcName(JType leafType, int dims) {
-    String name = leafType.getName();
-    for (int i = 0; i < dims; ++i) {
-      name = name + "[]";
-    }
-    return name;
-  }
-
   public int getDims() {
     return dims;
   }
@@ -34,11 +49,7 @@
     if (dims == 1) {
       return leafType;
     }
-    return fProgram.getTypeArray(leafType, dims - 1);
-  }
-
-  public JType getLeafType() {
-    return leafType;
+    return program.getTypeArray(leafType, dims - 1);
   }
 
   public String getJavahSignatureName() {
@@ -57,6 +68,10 @@
     return s;
   }
 
+  public JType getLeafType() {
+    return leafType;
+  }
+
   public boolean isAbstract() {
     return false;
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java
index 524e192..c8448ae 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java
index bbe0a5a..3beeb72 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java
@@ -1,15 +1,29 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
- * Binary operator expression. 
+ * Binary operator expression.
  */
 public class JBinaryOperation extends JExpression implements HasSettableType {
 
   public JBinaryOperator op;
-  private JType type;
   public final Holder lhs = new Holder();
   public final Holder rhs = new Holder();
+  private JType type;
 
   public JBinaryOperation(JProgram program, JType type, JBinaryOperator op,
       JExpression lhs, JExpression rhs) {
@@ -20,10 +34,6 @@
     this.rhs.set(rhs);
   }
 
-  public boolean isAssignment() {
-    return op.isAssignment();
-  }
-
   public JExpression getLhs() {
     return lhs.get();
   }
@@ -45,13 +55,17 @@
     }
   }
 
-  public void setType(JType newType) {
-    type = newType;
-  }
-
   public boolean hasSideEffects() {
     return op.isAssignment() || getLhs().hasSideEffects()
-      || getRhs().hasSideEffects();
+        || getRhs().hasSideEffects();
+  }
+
+  public boolean isAssignment() {
+    return op.isAssignment();
+  }
+
+  public void setType(JType newType) {
+    type = newType;
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperator.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperator.java
index b3eda94..cc8932a 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperator.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperator.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -46,24 +60,26 @@
   public static final JBinaryOperator ASG_SHL = new JBinaryOperator("<<=", 14);
   public static final JBinaryOperator ASG_SHR = new JBinaryOperator(">>=", 14);
   public static final JBinaryOperator ASG_SHRU = new JBinaryOperator(">>>=", 14);
-  public static final JBinaryOperator ASG_BIT_AND = new JBinaryOperator("&=", 14);
+  public static final JBinaryOperator ASG_BIT_AND = new JBinaryOperator("&=",
+      14);
   public static final JBinaryOperator ASG_BIT_OR = new JBinaryOperator("|=", 14);
-  public static final JBinaryOperator ASG_BIT_XOR = new JBinaryOperator("^=", 14);
+  public static final JBinaryOperator ASG_BIT_XOR = new JBinaryOperator("^=",
+      14);
 
-  private final char[] fSymbol;
-  private final int fPrecedence;
+  private final char[] symbol;
+  private final int precedence;
 
   private JBinaryOperator(String symbol, int precedence) {
-    fSymbol = symbol.toCharArray();
-    fPrecedence = precedence;
-  }
-
-  public char[] getSymbol() {
-    return fSymbol;
+    this.symbol = symbol.toCharArray();
+    this.precedence = precedence;
   }
 
   public int getPrecedence() {
-    return fPrecedence;
+    return precedence;
+  }
+
+  public char[] getSymbol() {
+    return symbol;
   }
 
   public boolean isAssignment() {
@@ -71,7 +87,7 @@
      * Beware, flaky! Maybe I should have added Yet Another Field to
      * BinaryOperator?
      */
-    return (fPrecedence == ASG.getPrecedence());
+    return (precedence == ASG.getPrecedence());
   }
 
   public String toString() {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java
index 3cb4fd6..21de0a8 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import java.util.ArrayList;
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java
index 84c9e5a..c710210 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypePrimitiveBoolean();
+    return program.getTypePrimitiveBoolean();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java
index bc2dfd0..0d6dc16 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java
index 6fe548a..4677505 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java
index dd2a1bd..b5d1eb3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java
index e9810e8..35b40b0 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypePrimitiveChar();
+    return program.getTypePrimitiveChar();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java
index 4f79768..7f78e2c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypeJavaLangClass();
+    return program.getTypeJavaLangClass();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java
index 1da6ca0..b82d908 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java
index 560a323..fc8bc37 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java
@@ -1,15 +1,29 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
- * Conditional expression. 
+ * Conditional expression.
  */
 public class JConditional extends JExpression {
 
-  private final JType type;
-  private final Holder ifTest = new Holder();
   public final Holder thenExpr = new Holder();
   public final Holder elseExpr = new Holder();
+  private final JType type;
+  private final Holder ifTest = new Holder();
 
   public JConditional(JProgram program, JType type, JExpression ifTest,
       JExpression thenExpr, JExpression elseExpr) {
@@ -20,15 +34,8 @@
     this.elseExpr.set(elseExpr);
   }
 
-  public JType getType() {
-    // TODO(later): allow multiple types for Type Flow?
-    if (type instanceof JReferenceType) {
-      return fProgram.generalizeTypes(
-        (JReferenceType) thenExpr.get().getType(), (JReferenceType) elseExpr
-          .get().getType());
-    } else {
-      return type;
-    }
+  public JExpression getElseExpr() {
+    return elseExpr.get();
   }
 
   public JExpression getIfTest() {
@@ -39,13 +46,20 @@
     return thenExpr.get();
   }
 
-  public JExpression getElseExpr() {
-    return elseExpr.get();
+  public JType getType() {
+    // TODO(later): allow multiple types for Type Flow?
+    if (type instanceof JReferenceType) {
+      return program.generalizeTypes(
+          (JReferenceType) thenExpr.get().getType(),
+          (JReferenceType) elseExpr.get().getType());
+    } else {
+      return type;
+    }
   }
 
   public boolean hasSideEffects() {
     return ifTest.get().hasSideEffects() || thenExpr.get().hasSideEffects()
-      || elseExpr.get().hasSideEffects();
+        || elseExpr.get().hasSideEffects();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java
index 0ae268f..395f31e 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java
index 747c3ea..76282d2 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java
index 626d55a..5d8f4fb 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypePrimitiveDouble();
+    return program.getTypePrimitiveDouble();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JExpression.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JExpression.java
index d6c9b1d..9be3120 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JExpression.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JExpression.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java
index 953dc62..dd7ff8a 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public class JExpressionStatement extends JStatement {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
index 5e7e8ec..3b768ee 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java
index 013e4e8..6806db7 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -47,7 +61,7 @@
       && (!field.isFinal() || field.constInitializer == null)) {
       JReferenceType fieldEncloser = field.getEnclosingType();
       if (enclosingType != fieldEncloser
-        && fProgram.typeOracle.hasClinit(fieldEncloser)) {
+        && program.typeOracle.hasClinit(fieldEncloser)) {
         // Therefore, we have side effects
         return true;
       }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java
index 34b9b8d..da647c3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypePrimitiveFloat();
+    return program.getTypePrimitiveFloat();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JForStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JForStatement.java
index 7782c0b..4a63f35 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JForStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JForStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import java.util.List;
@@ -8,10 +22,10 @@
  */
 public class JForStatement extends JStatement {
 
+  public final JStatement body;
   private final List/* <JStatement> */initializers;
   private final Holder testExpr = new Holder();
   private final List/* <JExpressionStatement> */increments;
-  public final JStatement body;
 
   public JForStatement(JProgram program, List/* <JStatement> */initializers,
       JExpression testExpr, List/* <JExpressionStatement> */increments,
@@ -23,6 +37,10 @@
     this.body = body;
   }
 
+  public List/* <JExpressionStatement> */getIncrements() {
+    return increments;
+  }
+
   public List/* <JStatement> */getInitializers() {
     return initializers;
   }
@@ -31,10 +49,6 @@
     return testExpr.get();
   }
 
-  public List/* <JExpressionStatement> */getIncrements() {
-    return increments;
-  }
-
   public void traverse(JVisitor visitor) {
     if (visitor.visit(this)) {
       for (int i = 0; i < initializers.size(); ++i) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java
index 5586c6f..ea03bed 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
index 0bee813..d9d4fd6 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -21,7 +35,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypePrimitiveBoolean();
+    return program.getTypePrimitiveBoolean();
   }
 
   public boolean hasSideEffects() {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java
index bddffa5..f6d3599 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypePrimitiveInt();
+    return program.getTypePrimitiveInt();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java
index 7cd4a3c..6b18f58 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java
index 60dc811..76c20cb 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java
index 70b63c8..0b77a29 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLiteral.java
index 9a8e70b..837b14f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
index b47dfb8..c5d10ec 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalDeclarationStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalDeclarationStatement.java
index fc7058d..90d7df4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalDeclarationStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalDeclarationStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -6,23 +20,24 @@
  */
 public class JLocalDeclarationStatement extends JStatement {
 
-  private final Holder/*<JLocalRef>*/ localRef = new Holder/*<JLocalRef>*/();
   public final Holder initializer = new Holder();
+  private final Holder/* <JLocalRef> */localRef = new Holder/* <JLocalRef> */();
 
-  public JLocalDeclarationStatement(JProgram program, JLocalRef localRef, JExpression intializer) {
+  public JLocalDeclarationStatement(JProgram program, JLocalRef localRef,
+      JExpression intializer) {
     super(program);
     this.localRef.set(localRef);
     this.initializer.set(intializer);
   }
 
-  public JLocalRef getLocalRef() {
-    return (JLocalRef) localRef.get();
-  }
-  
   public JExpression getInitializer() {
     return initializer.get();
   }
 
+  public JLocalRef getLocalRef() {
+    return (JLocalRef) localRef.get();
+  }
+
   public void traverse(JVisitor visitor) {
     if (visitor.visit(this)) {
       localRef.traverse(visitor);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java
index c10efe8..2222746 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java
index 2c3311a..03df222 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypePrimitiveLong();
+    return program.getTypePrimitiveLong();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
index 757579e..4637c7c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import com.google.gwt.dev.jjs.impl.InternalCompilerException;
@@ -13,6 +27,11 @@
     HasType, HasSettableType, CanBeAbstract, CanBeFinal, CanBeSetFinal,
     CanBeNative, CanBeStatic {
 
+  public final List/* <JMethod> */overrides = new ArrayList/* <JMethod> */();
+  public final ArrayList/* <JClassType> */thrownExceptions = new ArrayList/* <JClassType> */();
+  public final ArrayList/* <JParameter> */params = new ArrayList/* <JParameter> */();
+  public final ArrayList/* <JLocal> */locals = new ArrayList/* <JLocal> */();
+  public final JBlock body;
   /**
    * If this method overrides another methods, references to the declarations it
    * overrides. This should be an EXHAUSTIVE list, that is, if A->B->C, then C's
@@ -21,11 +40,6 @@
   private JType returnType;
   private final JReferenceType enclosingType;
   private final String name;
-  public final List/* <JMethod> */overrides = new ArrayList/* <JMethod> */();
-  public final ArrayList/* <JClassType> */thrownExceptions = new ArrayList/* <JClassType> */();
-  public final ArrayList/* <JParameter> */params = new ArrayList/* <JParameter> */();
-  public final ArrayList/* <JLocal> */locals = new ArrayList/* <JLocal> */();
-  public final JBlock body;
   private ArrayList/* <JType> */originalParamTypes;
   private final boolean isAbstract;
   private final boolean isStatic;
@@ -64,6 +78,10 @@
     return enclosingType;
   }
 
+  public String getName() {
+    return name;
+  }
+
   public List/* <JType> */getOriginalParamTypes() {
     if (originalParamTypes == null) {
       return null;
@@ -71,18 +89,10 @@
     return originalParamTypes;
   }
 
-  public String getName() {
-    return name;
-  }
-
   public JType getType() {
     return returnType;
   }
 
-  public void setType(JType newType) {
-    returnType = newType;
-  }
-
   public boolean isAbstract() {
     return isAbstract;
   }
@@ -95,18 +105,22 @@
     return false;
   }
 
-  public boolean isStatic() {
-    return isStatic;
-  }
-
   public boolean isPrivate() {
     return isPrivate;
   }
 
+  public boolean isStatic() {
+    return isStatic;
+  }
+
   public void setFinal(boolean b) {
     isFinal = b;
   }
 
+  public void setType(JType newType) {
+    returnType = newType;
+  }
+
   public void traverse(JVisitor visitor) {
     if (visitor.visit(this)) {
       for (int i = 0; i < params.size(); ++i) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java
index a5a87dc..ef19cf0 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -6,11 +20,11 @@
  */
 public class JMethodCall extends JExpression {
 
+  public final Holder instance = new Holder();
+  public HolderList args = new HolderList();
   private final JMethod method;
   private final JType overrideReturnType;
   private boolean canBePolymorphic;
-  public final Holder instance = new Holder();
-  public HolderList args = new HolderList();
 
   public JMethodCall(JProgram program, JExpression instance, JMethod method) {
     super(program);
@@ -41,6 +55,10 @@
     this.overrideReturnType = overrideReturnType;
   }
 
+  public boolean canBePolymorphic() {
+    return canBePolymorphic && !method.isFinal() && !method.isStatic();
+  }
+
   public JExpression getInstance() {
     return instance.get();
   }
@@ -62,10 +80,6 @@
     return true;
   }
 
-  public boolean canBePolymorphic() {
-    return canBePolymorphic && !method.isFinal() && !method.isStatic();
-  }
-
   public void setCanBePolymorphic(boolean canBePolymorphic) {
     this.canBePolymorphic = canBePolymorphic;
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java
index 70e172f..f415e30 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -6,10 +20,10 @@
  */
 public class JNewArray extends JExpression implements HasSettableType {
 
-  private JArrayType arrayType;
   public HolderList dims = null;
   public HolderList initializers = null;
-  
+  private JArrayType arrayType;
+
   public JNewArray(JProgram program, JArrayType arrayType) {
     super(program);
     this.arrayType = arrayType;
@@ -18,19 +32,19 @@
   public JArrayType getArrayType() {
     return arrayType;
   }
-  
+
   public JType getType() {
     return arrayType;
   }
 
-  public void setType(JType arrayType) {
-    this.arrayType = (JArrayType) arrayType;
-  }
-  
   public boolean hasSideEffects() {
     return true;
   }
 
+  public void setType(JType arrayType) {
+    this.arrayType = (JArrayType) arrayType;
+  }
+
   public void traverse(JVisitor visitor) {
     traverse(visitor, null);
   }
@@ -38,11 +52,11 @@
   public void traverse(JVisitor visitor, Mutator mutator) {
     if (visitor.visit(this, mutator)) {
       assert ((dims != null) ^ (initializers != null));
-      
+
       if (dims != null) {
         dims.traverse(visitor);
       }
-      
+
       if (initializers != null) {
         initializers.traverse(visitor);
       }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNewInstance.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNewInstance.java
index 39156ec..e8387b6 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNewInstance.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNewInstance.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -7,17 +21,17 @@
 public class JNewInstance extends JExpression {
 
   private final JClassType classType;
-  
+
   public JNewInstance(JProgram program, JClassType classType) {
     super(program);
     this.classType = classType;
   }
 
-  public JType getType() {
+  public JClassType getClassType() {
     return classType;
   }
 
-  public JClassType getClassType() {
+  public JType getType() {
     return classType;
   }
 
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java
index fe8e2ba..4dc4152 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import com.google.gwt.dev.jjs.impl.ToStringGenerationVisitor;
@@ -12,14 +26,14 @@
    * The current visitor pattern uses reflection, but it could be 
    * replaced by direct code for better performance.
    */
-  protected final JProgram fProgram;
+  protected final JProgram program;
 
   protected JNode(JProgram program) {
     if (program == null) {
       assert (this instanceof JProgram);
-      fProgram = (JProgram) this;
+      this.program = (JProgram) this;
     } else {
-      fProgram = program;
+      this.program = program;
     }
   }
 
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java
index 2051261..f70d3a3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -14,7 +28,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypeNull();
+    return program.getTypeNull();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java
index 16e5eda..69c29a5 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java
index a6a6a20..1e09853 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java
index 4bb5a1d..d6334d0 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JPostfixOperation.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JPostfixOperation.java
index 5ecc885..cde0eec 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JPostfixOperation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JPostfixOperation.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JPrefixOperation.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JPrefixOperation.java
index 5670b84..e228190 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JPrefixOperation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JPrefixOperation.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java
index a1fa414..f43dece 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
index 2e9b531..4df85d9 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import com.google.gwt.core.ext.TreeLogger;
@@ -32,12 +46,12 @@
     if (method1.isStatic() || method2.isStatic()) {
       return false;
     }
-    
+
     // names must be identical
     if (!method1.getName().equals(method2.getName())) {
       return false;
     }
-    
+
     // original parameter types must be identical
     List/* <JType> */params1 = method1.getOriginalParamTypes();
     List/* <JType> */params2 = method2.getOriginalParamTypes();
@@ -45,7 +59,7 @@
     if (params1size != params2.size()) {
       return false;
     }
-    
+
     for (int i = 0; i < params1size; ++i) {
       if (params1.get(i) != params2.get(i)) {
         return false;
@@ -60,12 +74,134 @@
       if (i > 0) {
         result.append('.');
       }
-      
+
       result.append(name[i]);
     }
     return result.toString();
   }
 
+  public final List/* <JMethod> */entryMethods = new ArrayList/* <JMethod> */();
+
+  public final Map/* <String, HasEnclosingType> */jsniMap = new HashMap/*
+                                                                         * <String,
+                                                                         * HasEnclosingType>
+                                                                         */();
+
+  public final List/* <JClassType> */specialTypes = new ArrayList/* <JClassType> */();
+
+  public final JTypeOracle typeOracle = new JTypeOracle(this);
+
+  private final List/* <JArrayType> */allArrayTypes = new ArrayList/* <JArrayType> */();
+
+  private final List/* <JReferenceType> */allTypes = new ArrayList/* <JReferenceType> */();
+
+  /**
+   * Each entry is a HashMap(JType => JArrayType), arranged such that the number
+   * of dimensions is that index (plus one) at which the JArrayTypes having that
+   * number of dimensions resides.
+   */
+  private final ArrayList/* <HashMap<JType, JArrayType>> */dimensions = new ArrayList/*
+                                                                                       * <HashMap<JType,
+                                                                                       * JArrayType>>
+                                                                                       */();
+
+  private final JAbsentArrayDimension literalAbsentArrayDim = new JAbsentArrayDimension(
+      this);
+
+  private final JBooleanLiteral literalFalse = new JBooleanLiteral(this, false);
+
+  private final JIntLiteral literalIntNegOne = new JIntLiteral(this, -1);
+
+  private final JIntLiteral literalIntOne = new JIntLiteral(this, 1);
+
+  private final JIntLiteral literalIntZero = new JIntLiteral(this, 0);
+
+  private final JNullLiteral literalNull = new JNullLiteral(this);
+
+  private final JBooleanLiteral literalTrue = new JBooleanLiteral(this, true);
+
+  private JField nullField;
+
+  private JMethod nullMethod;
+
+  private JMethod rebindCreateMethod;
+
+  private final JPrimitiveType typeBoolean = new JPrimitiveType(this,
+      "boolean", "Z", literalFalse);
+
+  private final JPrimitiveType typeByte = new JPrimitiveType(this, "byte", "B",
+      literalIntZero);
+
+  private final JPrimitiveType typeChar = new JPrimitiveType(this, "char", "C",
+      getLiteralChar((char) 0));
+
+  private JClassType typeClass;
+
+  private final JPrimitiveType typeDouble = new JPrimitiveType(this, "double",
+      "D", getLiteralDouble(0));
+
+  private final JPrimitiveType typeFloat = new JPrimitiveType(this, "float",
+      "F", getLiteralFloat(0));
+
+  private Map/* <JClassType, Integer> */typeIdMap = new HashMap/*
+                                                                 * <JClassType,
+                                                                 * Integer>
+                                                                 */();
+
+  private final JPrimitiveType typeInt = new JPrimitiveType(this, "int", "I",
+      literalIntZero);
+
+  private JClassType typeJavaLangObject;
+
+  private final JPrimitiveType typeLong = new JPrimitiveType(this, "long", "J",
+      getLiteralLong(0));
+
+  private final Map/* <String, JReferenceType> */typeNameMap = new HashMap/*
+                                                                           * <String,
+                                                                           * JReferenceType>
+                                                                           */();
+
+  private final JNullType typeNull = new JNullType(this);
+
+  private final JPrimitiveType typeShort = new JPrimitiveType(this, "short",
+      "S", literalIntZero);
+
+  private JClassType typeSpecialArray;
+
+  private JClassType typeSpecialCast;
+
+  private JClassType typeSpecialExceptions;
+
+  private JClassType typeSpecialJavaScriptObject;
+
+  private JClassType typeString;
+
+  private final JPrimitiveType typeVoid = new JPrimitiveType(this, "void", "V",
+      null);
+
+  private final Map/* <JMethod, JMethod> */instanceToStaticMap = new IdentityHashMap/*
+                                                                                     * <JMethod,
+                                                                                     * JMethod>
+                                                                                     */();
+
+  private List/* <JsonObject> */jsonTypeTable;
+
+  private final TreeLogger logger;
+
+  private Map/* <JReferenceType, Integer> */queryIds;
+
+  private final RebindOracle rebindOracle;
+
+  private final Map/* <String, JField> */specialFields = new HashMap/*
+                                                                     * <String,
+                                                                     * JField>
+                                                                     */();
+
+  private final Map/* <String, JMethod> */specialMethods = new HashMap/*
+                                                                       * <String,
+                                                                       * JMethod>
+                                                                       */();
+
   public JProgram(TreeLogger logger, RebindOracle rebindOracle) {
     super(null);
     this.logger = logger;
@@ -84,7 +220,7 @@
   public JExpressionStatement createAssignmentStmt(JExpression lhs,
       JExpression rhs) {
     JBinaryOperation assign = new JBinaryOperation(this, lhs.getType(),
-      JBinaryOperator.ASG, lhs, rhs);
+        JBinaryOperator.ASG, lhs, rhs);
     return new JExpressionStatement(this, assign);
   }
 
@@ -97,22 +233,22 @@
     putIntoTypeMap(sname, x);
 
     if (sname.equals("java.lang.Object")) {
-      fTypeJavaLangObject = x;
+      typeJavaLangObject = x;
       specialTypes.add(x);
     } else if (sname.equals("java.lang.String")) {
-      fTypeString = x;
+      typeString = x;
     } else if (sname.equals("java.lang.Class")) {
-      fTypeClass = x;
+      typeClass = x;
     } else if (sname.equals("com.google.gwt.core.client.JavaScriptObject")) {
-      fTypeSpecialJavaScriptObject = x;
+      typeSpecialJavaScriptObject = x;
     } else if (sname.equals("com.google.gwt.lang.Array")) {
-      fTypeSpecialArray = x;
+      typeSpecialArray = x;
       specialTypes.add(x);
     } else if (sname.equals("com.google.gwt.lang.Cast")) {
-      fTypeSpecialCast = x;
+      typeSpecialCast = x;
       specialTypes.add(x);
     } else if (sname.equals("com.google.gwt.lang.Exceptions")) {
-      fTypeSpecialExceptions = x;
+      typeSpecialExceptions = x;
       specialTypes.add(x);
     }
 
@@ -134,15 +270,15 @@
     if (isSpecialField) {
       hasInitializer = true;
     }
-    
+
     String sname = String.valueOf(name);
     JField x = new JField(this, sname, enclosingType, type, isStatic, isFinal,
-      hasInitializer);
+        hasInitializer);
 
     if (isSpecialField) {
       specialFields.put(enclosingType.getShortName() + '.' + sname, x);
     }
-    
+
     enclosingType.fields.add(x);
 
     return x;
@@ -165,7 +301,7 @@
     assert (enclosingMethod != null);
 
     JLocal x = new JLocal(this, String.valueOf(name), type, isFinal,
-      enclosingMethod);
+        enclosingMethod);
 
     enclosingMethod.locals.add(x);
 
@@ -183,16 +319,16 @@
     String sname = String.valueOf(name);
     if (isNative) {
       x = new JsniMethod(this, sname, enclosingType, returnType, isStatic,
-        isFinal, isPrivate);
+          isFinal, isPrivate);
     } else {
       x = new JMethod(this, sname, enclosingType, returnType, isAbstract,
-        isStatic, isFinal, isPrivate);
+          isStatic, isFinal, isPrivate);
     }
 
     if (sname.equals(FindDeferredBindingSitesVisitor.REBIND_MAGIC_METHOD)
-      && enclosingType.getName().equals(
-        FindDeferredBindingSitesVisitor.REBIND_MAGIC_CLASS)) {
-      fRebindCreateMethod = x;
+        && enclosingType.getName().equals(
+            FindDeferredBindingSitesVisitor.REBIND_MAGIC_CLASS)) {
+      rebindCreateMethod = x;
     } else if (!isPrivate && specialTypes.contains(enclosingType)) {
       specialMethods.put(enclosingType.getShortName() + '.' + sname, x);
     }
@@ -200,7 +336,7 @@
     if (enclosingType != null) {
       enclosingType.methods.add(x);
     }
-    
+
     return x;
   }
 
@@ -211,7 +347,7 @@
     assert (enclosingMethod != null);
 
     JParameter x = new JParameter(this, String.valueOf(name), type, isFinal,
-      enclosingMethod);
+        enclosingMethod);
 
     enclosingMethod.params.add(x);
 
@@ -243,7 +379,7 @@
 
   public JReferenceType getFromTypeMap(String qualifiedBinaryOrSourceName) {
     String srcTypeName = qualifiedBinaryOrSourceName.replace('$', '.');
-    return (JReferenceType) fTypeNameMap.get(srcTypeName);
+    return (JReferenceType) typeNameMap.get(srcTypeName);
   }
 
   public List/* <JsonObject> */getJsonTypeTable() {
@@ -251,11 +387,11 @@
   }
 
   public JAbsentArrayDimension getLiteralAbsentArrayDimension() {
-    return fLiteralAbsentArrayDim;
+    return literalAbsentArrayDim;
   }
 
   public JBooleanLiteral getLiteralBoolean(boolean z) {
-    return z ? fLiteralTrue : fLiteralFalse;
+    return z ? literalTrue : literalFalse;
   }
 
   public JCharLiteral getLiteralChar(char c) {
@@ -286,11 +422,11 @@
   public JIntLiteral getLiteralInt(int i) {
     switch (i) {
       case -1:
-        return fLiteralIntNegOne;
+        return literalIntNegOne;
       case 0:
-        return fLiteralIntZero;
+        return literalIntZero;
       case 1:
-        return fLiteralIntOne;
+        return literalIntOne;
       default:
         // could be interned
         return new JIntLiteral(this, i);
@@ -302,7 +438,7 @@
   }
 
   public JNullLiteral getLiteralNull() {
-    return fLiteralNull;
+    return literalNull;
   }
 
   public JStringLiteral getLiteralString(char[] s) {
@@ -311,18 +447,19 @@
   }
 
   public JField getNullField() {
-    if (fNullField == null) {
-      fNullField = new JField(this, "nullField", null, fTypeNull, false, true, true);
+    if (nullField == null) {
+      nullField = new JField(this, "nullField", null, typeNull, false, true,
+          true);
     }
-    return fNullField;
+    return nullField;
   }
 
   public JMethod getNullMethod() {
-    if (fNullMethod == null) {
-      fNullMethod = new JsniMethod(this, "nullMethod", null, fTypeNull, false,
-        true, true);
+    if (nullMethod == null) {
+      nullMethod = new JsniMethod(this, "nullMethod", null, typeNull, false,
+          true, true);
     }
-    return fNullMethod;
+    return nullMethod;
   }
 
   public int getQueryId(JReferenceType elementType) {
@@ -330,24 +467,24 @@
     if (integer == null) {
       return 0;
     }
-    
+
     return integer.intValue();
   }
 
   public JMethod getRebindCreateMethod() {
-    return fRebindCreateMethod;
+    return rebindCreateMethod;
   }
 
   public JClassType getSpecialArray() {
-    return fTypeSpecialArray;
+    return typeSpecialArray;
   }
 
   public JClassType getSpecialCast() {
-    return fTypeSpecialCast;
+    return typeSpecialCast;
   }
 
   public JClassType getSpecialExceptions() {
-    return fTypeSpecialExceptions;
+    return typeSpecialExceptions;
   }
 
   public JField getSpecialField(String string) {
@@ -355,7 +492,7 @@
   }
 
   public JClassType getSpecialJavaScriptObject() {
-    return fTypeSpecialJavaScriptObject;
+    return typeSpecialJavaScriptObject;
   }
 
   public JMethod getSpecialMethod(String string) {
@@ -371,20 +508,20 @@
 
     // Create typeToArrayType maps for index slots that don't exist yet.
     //
-    for (int i = fDimensions.size(); i < dimensions; ++i) {
+    for (int i = this.dimensions.size(); i < dimensions; ++i) {
       typeToArrayType = new HashMap();
-      fDimensions.add(typeToArrayType);
+      this.dimensions.add(typeToArrayType);
     }
 
     // Get the map for array having this number of dimensions (biased by one
     // since we don't store non-arrays in there -- thus index 0 => 1 dim).
     //
-    typeToArrayType = (HashMap) fDimensions.get(dimensions - 1);
+    typeToArrayType = (HashMap) this.dimensions.get(dimensions - 1);
 
     JArrayType arrayType = (JArrayType) typeToArrayType.get(leafType);
     if (arrayType == null) {
       arrayType = new JArrayType(this, leafType, dimensions);
-      arrayType.extnds = fTypeJavaLangObject;
+      arrayType.extnds = typeJavaLangObject;
       allArrayTypes.add(arrayType);
 
       /*
@@ -400,70 +537,70 @@
   }
 
   public int getTypeId(JClassType classType) {
-    Integer integer = (Integer) fTypeIdMap.get(classType);
+    Integer integer = (Integer) typeIdMap.get(classType);
     if (integer == null) {
       return 0;
     }
-    
+
     return integer.intValue();
   }
 
   public JClassType getTypeJavaLangClass() {
-    return fTypeClass;
+    return typeClass;
   }
 
   public JClassType getTypeJavaLangObject() {
-    return fTypeJavaLangObject;
+    return typeJavaLangObject;
   }
 
   public JClassType getTypeJavaLangString() {
-    return fTypeString;
+    return typeString;
   }
 
   public JNullType getTypeNull() {
-    return fTypeNull;
+    return typeNull;
   }
 
   public JPrimitiveType getTypePrimitiveBoolean() {
-    return fTypeBoolean;
+    return typeBoolean;
   }
 
   public JPrimitiveType getTypePrimitiveByte() {
-    return fTypeByte;
+    return typeByte;
   }
 
   public JPrimitiveType getTypePrimitiveChar() {
-    return fTypeChar;
+    return typeChar;
   }
 
   public JPrimitiveType getTypePrimitiveDouble() {
-    return fTypeDouble;
+    return typeDouble;
   }
 
   public JPrimitiveType getTypePrimitiveFloat() {
-    return fTypeFloat;
+    return typeFloat;
   }
 
   public JPrimitiveType getTypePrimitiveInt() {
-    return fTypeInt;
+    return typeInt;
   }
 
   public JPrimitiveType getTypePrimitiveLong() {
-    return fTypeLong;
+    return typeLong;
   }
 
   public JPrimitiveType getTypePrimitiveShort() {
-    return fTypeShort;
+    return typeShort;
   }
 
   public JType getTypeVoid() {
-    return fTypeVoid;
+    return typeVoid;
   }
 
   public void initTypeInfo(List/* <JClassType> */classes,
       List/* <JsonObject> */jsonObjects) {
     for (int i = 0, c = classes.size(); i < c; ++i) {
-      fTypeIdMap.put(classes.get(i), new Integer(i));
+      typeIdMap.put(classes.get(i), new Integer(i));
     }
     this.jsonTypeTable = jsonObjects;
   }
@@ -471,7 +608,7 @@
   public boolean isJavaScriptObject(JType type) {
     if (type instanceof JClassType) {
       return typeOracle.canTriviallyCast((JClassType) type,
-        fTypeSpecialJavaScriptObject);
+          typeSpecialJavaScriptObject);
     }
     return false;
   }
@@ -484,7 +621,7 @@
     // Make it into a source type name.
     //
     String srcTypeName = qualifiedBinaryName.replace('$', '.');
-    fTypeNameMap.put(srcTypeName, type);
+    typeNameMap.put(srcTypeName, type);
   }
 
   public void putStaticImpl(JMethod method, JMethod staticImpl) {
@@ -503,7 +640,7 @@
       // compiling should prevent this case from ever happening in real life.
       //
       throw new IllegalStateException("Unexpected failure to rebind '"
-        + reqType + "'");
+          + reqType + "'");
     }
     if (reboundClassName != null) {
       result = getFromTypeMap(reboundClassName);
@@ -521,7 +658,7 @@
     if (type1 == type2) {
       return type1;
     }
-    
+
     if (typeOracle.canTriviallyCast(type1, type2)) {
       return type1;
     }
@@ -553,7 +690,7 @@
     if (type1 == type2) {
       return type1;
     }
-    
+
     int classify1 = classifyType(type1);
     int classify2 = classifyType(type2);
 
@@ -573,13 +710,13 @@
         if (typeOracle.canTriviallyCast(type1, type2)) {
           return type2;
         }
-        
+
         if (typeOracle.canTriviallyCast(type2, type1)) {
           return type1;
         }
-        
+
         // unrelated
-        return fTypeJavaLangObject;
+        return typeJavaLangObject;
 
       } else if (classify1 == IS_ARRAY) {
 
@@ -597,11 +734,11 @@
          */
         JReferenceType minimalGeneralType;
         if (minDims > 1) {
-          minimalGeneralType = getTypeArray(fTypeJavaLangObject, minDims - 1);
+          minimalGeneralType = getTypeArray(typeJavaLangObject, minDims - 1);
         } else {
-          minimalGeneralType = fTypeJavaLangObject;
+          minimalGeneralType = typeJavaLangObject;
         }
-        
+
         if (dims1 == dims2) {
 
           // Try to generalize by leaf types
@@ -609,7 +746,7 @@
           JType leafType2 = aType2.getLeafType();
 
           if (!(leafType1 instanceof JReferenceType)
-            || !(leafType2 instanceof JReferenceType)) {
+              || !(leafType2 instanceof JReferenceType)) {
             return minimalGeneralType;
           }
 
@@ -622,7 +759,7 @@
           JReferenceType leafRefType1 = (JReferenceType) leafType1;
           JReferenceType leafRefType2 = (JReferenceType) leafType2;
           JReferenceType leafGeneralization = generalizeTypes(leafRefType1,
-            leafRefType2);
+              leafRefType2);
           return getTypeArray(leafGeneralization, dims1);
 
         } else {
@@ -631,7 +768,7 @@
 
           // int[][] and Object[] generalize to Object[]
           JArrayType lesser = dims1 < dims2 ? aType1 : aType2;
-          if (lesser.getLeafType() == fTypeJavaLangObject) {
+          if (lesser.getLeafType() == typeJavaLangObject) {
             return lesser;
           }
 
@@ -653,11 +790,11 @@
         for (; distance1 > distance2; --distance1) {
           type1 = type1.extnds;
         }
-        
+
         for (; distance1 < distance2; --distance2) {
           type2 = type2.extnds;
         }
-        
+
         while (type1 != type2) {
           type1 = type1.extnds;
           type2 = type2.extnds;
@@ -682,13 +819,13 @@
         }
 
         // unrelated
-        return fTypeJavaLangObject;
+        return typeJavaLangObject;
 
       } else {
 
         // unrelated: the best commonality between an interface and array, or
         // between an array and a class is Object
-        return fTypeJavaLangObject;
+        return typeJavaLangObject;
       }
     }
   }
@@ -724,124 +861,4 @@
     return count;
   }
 
-  public final List/* <JMethod> */entryMethods = new ArrayList/* <JMethod> */();
-
-  public final Map/* <String, HasEnclosingType> */jsniMap = new HashMap/*
-                                                                         * <String,
-                                                                         * HasEnclosingType>
-                                                                         */();
-
-  public final List/* <JClassType> */specialTypes = new ArrayList/* <JClassType> */();
-
-  public final JTypeOracle typeOracle = new JTypeOracle(this);
-
-  private final List/* <JArrayType> */allArrayTypes = new ArrayList/* <JArrayType> */();
-
-  private final List/* <JReferenceType> */allTypes = new ArrayList/* <JReferenceType> */();
-
-  /**
-   * Each entry is a HashMap(JType => JArrayType), arranged such that the number
-   * of dimensions is that index (plus one) at which the JArrayTypes having that
-   * number of dimensions resides.
-   */
-  private final ArrayList/* <HashMap<JType, JArrayType>> */fDimensions = new ArrayList/*
-                                                                                       * <HashMap<JType,
-                                                                                       * JArrayType>>
-                                                                                       */();
-
-  private final JAbsentArrayDimension fLiteralAbsentArrayDim = new JAbsentArrayDimension(
-    this);
-
-  private final JBooleanLiteral fLiteralFalse = new JBooleanLiteral(this, false);
-
-  private final JIntLiteral fLiteralIntNegOne = new JIntLiteral(this, -1);
-
-  private final JIntLiteral fLiteralIntOne = new JIntLiteral(this, 1);
-
-  private final JIntLiteral fLiteralIntZero = new JIntLiteral(this, 0);
-
-  private final JNullLiteral fLiteralNull = new JNullLiteral(this);
-
-  private final JBooleanLiteral fLiteralTrue = new JBooleanLiteral(this, true);
-
-  private JField fNullField;
-
-  private JMethod fNullMethod;
-
-  private JMethod fRebindCreateMethod;
-
-  private final JPrimitiveType fTypeBoolean = new JPrimitiveType(this,
-    "boolean", "Z", fLiteralFalse);
-
-  private final JPrimitiveType fTypeByte = new JPrimitiveType(this, "byte",
-    "B", fLiteralIntZero);
-
-  private final JPrimitiveType fTypeChar = new JPrimitiveType(this, "char",
-    "C", getLiteralChar((char) 0));
-
-  private JClassType fTypeClass;
-  private final JPrimitiveType fTypeDouble = new JPrimitiveType(this, "double",
-    "D", getLiteralDouble(0));
-  private final JPrimitiveType fTypeFloat = new JPrimitiveType(this, "float",
-    "F", getLiteralFloat(0));
-
-  private Map/* <JClassType, Integer> */fTypeIdMap = new HashMap/*
-                                                                 * <JClassType,
-                                                                 * Integer>
-                                                                 */();
-
-  private final JPrimitiveType fTypeInt = new JPrimitiveType(this, "int", "I",
-    fLiteralIntZero);
-
-  private JClassType fTypeJavaLangObject;
-
-  private final JPrimitiveType fTypeLong = new JPrimitiveType(this, "long",
-    "J", getLiteralLong(0));
-
-  private final Map/* <String, JReferenceType> */fTypeNameMap = new HashMap/*
-                                                                             * <String,
-                                                                             * JReferenceType>
-                                                                             */();
-
-  private final JNullType fTypeNull = new JNullType(this);
-
-  private final JPrimitiveType fTypeShort = new JPrimitiveType(this, "short",
-    "S", fLiteralIntZero);
-
-  private JClassType fTypeSpecialArray;
-
-  private JClassType fTypeSpecialCast;
-
-  private JClassType fTypeSpecialExceptions;
-
-  private JClassType fTypeSpecialJavaScriptObject;
-
-  private JClassType fTypeString;
-
-  private final JPrimitiveType fTypeVoid = new JPrimitiveType(this, "void",
-    "V", null);
-
-  private final Map/* <JMethod, JMethod> */instanceToStaticMap = new IdentityHashMap/*
-                                                                                     * <JMethod,
-                                                                                     * JMethod>
-                                                                                     */();
-
-  private List/* <JsonObject> */jsonTypeTable;
-
-  private final TreeLogger logger;
-
-  private Map/* <JReferenceType, Integer> */queryIds;
-
-  private final RebindOracle rebindOracle;
-
-  private final Map/* <String, JField> */specialFields = new HashMap/*
-                                                                     * <String,
-                                                                     * JField>
-                                                                     */();
-
-  private final Map/* <String, JMethod> */specialMethods = new HashMap/*
-                                                                       * <String,
-                                                                       * JMethod>
-                                                                       */();
-
 }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JReferenceType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JReferenceType.java
index 7fc2981..11b60fd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JReferenceType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JReferenceType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import java.util.ArrayList;
@@ -28,7 +42,7 @@
   }
 
   public JProgram getProgram() {
-    return fProgram;
+    return program;
   }
 
   public String getShortName() {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java
index 5833def..0b84cb1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JStatement.java
index 5802d61..48f6afd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java
index 83fecf9..9e57356 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -17,7 +31,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypeJavaLangString();
+    return program.getTypeJavaLangString();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java
index adc59e5..f408c12 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java
index 06d2d17..ce0181d 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java
index 950cd18..83230b6 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java
index 64f9488..8c174bb 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import java.util.List;
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JType.java
index b1ddd22..6b864bd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JType.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -15,16 +29,16 @@
     this.defaultValue = defaultValue;
   }
 
-  public String getName() {
-    return name;
-  }
-  
-  public abstract String getJavahSignatureName();
-  
-  public abstract String getJsniSignatureName();
-
   public JLiteral getDefaultValue() {
     return defaultValue;
   }
 
+  public abstract String getJavahSignatureName();
+
+  public abstract String getJsniSignatureName();
+
+  public String getName() {
+    return name;
+  }
+
 }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java
index 9823463..9b76274 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import java.util.ArrayList;
@@ -11,10 +25,36 @@
 import java.util.Set;
 
 /**
- * Oracle that can answer questions regarding the types in a program. 
+ * Oracle that can answer questions regarding the types in a program.
  */
 public class JTypeOracle {
 
+  private final Map/* <JInterfaceType, Set<JClassType>> */couldBeImplementedMap = new IdentityHashMap();
+
+  private final Map/* <JClassType, Set<JInterfaceType>> */couldImplementMap = new IdentityHashMap();
+
+  private JClassType javaLangObject = null;
+
+  private final Set/* <JReferenceType> */hasClinitSet = new HashSet();
+
+  private final Map/* <JClassType, Set<JInterfaceType>> */implementsMap = new IdentityHashMap();
+
+  private final Set/* <JReferenceType> */instantiatedTypes = new HashSet();
+
+  private final Map/* <JInterfaceType, Set<JClassType>> */isImplementedMap = new IdentityHashMap();
+
+  private final JProgram program;
+
+  private final Map/* <JClassType, Set<JClassType>> */subClassMap = new IdentityHashMap();
+
+  private final Map/* <JInterfaceType, Set<JInterfaceType>> */subInterfaceMap = new IdentityHashMap();
+
+  private final Map/* <JClassType, Set<JClassType>> */superClassMap = new IdentityHashMap();
+
+  private final Map/* <JInterfaceType, Set<JInterfaceType>> */superInterfaceMap = new IdentityHashMap();
+
+  private final Map/* <JMethod, Map<JClassType, Set<JMethod>>> */virtualUpRefMap = new IdentityHashMap();
+
   public JTypeOracle(JProgram program) {
     this.program = program;
   }
@@ -41,15 +81,15 @@
 
         // null[] or Object[] -> int[][] might work, other combos won't
         if (dims < qDims && leafType != program.getTypeJavaLangObject()
-          && !(leafType instanceof JNullType)) {
+            && !(leafType instanceof JNullType)) {
           return false;
         }
 
         if (dims == qDims) {
           if (leafType instanceof JReferenceType
-            && qLeafType instanceof JReferenceType) {
+              && qLeafType instanceof JReferenceType) {
             return canTheoreticallyCast((JReferenceType) leafType,
-              (JReferenceType) qLeafType);
+                (JReferenceType) qLeafType);
           }
         }
       }
@@ -79,7 +119,7 @@
     if (type == qType || qType == jlo) {
       return true;
     }
-    
+
     if (type instanceof JArrayType) {
 
       JArrayType aType = (JArrayType) type;
@@ -92,15 +132,15 @@
 
         // int[][] -> Object[] or null[] trivially true
         if (dims > qDims
-          && (qLeafType == jlo || qLeafType instanceof JNullType)) {
+            && (qLeafType == jlo || qLeafType instanceof JNullType)) {
           return true;
         }
-        
+
         if (dims == qDims) {
           if (leafType instanceof JReferenceType
-            && qLeafType instanceof JReferenceType) {
+              && qLeafType instanceof JReferenceType) {
             return canTriviallyCast((JReferenceType) leafType,
-              (JReferenceType) qLeafType);
+                (JReferenceType) qLeafType);
           }
         }
       }
@@ -135,7 +175,7 @@
   }
 
   public void computeBeforeAST() {
-    fJavaLangObject = program.getTypeJavaLangObject();
+    javaLangObject = program.getTypeJavaLangObject();
     superClassMap.clear();
     subClassMap.clear();
     superInterfaceMap.clear();
@@ -176,7 +216,7 @@
   public JMethod[] getAllVirtualOverrides(JMethod method) {
     Set/* <JMethod> */results = new HashSet/* <JMethod> */();
     Map/* <JClassType, Set<JMethod>> */overrideMap = getOrCreateMap(
-      virtualUpRefMap, method);
+        virtualUpRefMap, method);
     for (Iterator it = overrideMap.keySet().iterator(); it.hasNext();) {
       JClassType classType = (JClassType) it.next();
       if (instantiatedTypes.contains(classType)) {
@@ -199,7 +239,7 @@
     if (type instanceof JNullType) {
       return true;
     }
-    
+
     if (type instanceof JArrayType) {
       JArrayType arrayType = (JArrayType) type;
       if (arrayType.getLeafType() instanceof JNullType) {
@@ -225,7 +265,7 @@
    */
   private void computeCouldImplement(JClassType type) {
     Set/* <JInterfaceType> */couldImplementSet = getOrCreate(
-      couldImplementMap, type);
+        couldImplementMap, type);
     // all of my direct implements are trivially true
     couldImplementSet.addAll(getOrCreate(implementsMap, type));
     List/* <JClassType> */subclasses = new ArrayList/* <JClassType> */();
@@ -287,10 +327,10 @@
    * pruned.
    */
   private void computeVirtualUpRefs(JClassType type) {
-    if (type.extnds == null || type.extnds == fJavaLangObject) {
+    if (type.extnds == null || type.extnds == javaLangObject) {
       return;
     }
-    
+
     /*
      * For each interface I directly implement, check all methods and make sure
      * I define implementations for them. If I don't, then check all my super
@@ -300,7 +340,7 @@
       JInterfaceType intf = (JInterfaceType) itIntf.next();
       computeVirtualUpRefs(type, intf);
       Set/* <JInterfaceType> */superIntfs = getOrCreate(superInterfaceMap,
-        intf);
+          intf);
       for (Iterator itSuper = superIntfs.iterator(); itSuper.hasNext();) {
         JInterfaceType superIntf = (JInterfaceType) itSuper.next();
         computeVirtualUpRefs(type, superIntf);
@@ -326,7 +366,7 @@
 
       // this class does not directly implement the interface method
       // if any super classes do, create a virtual up ref
-      for (JClassType superType = type.extnds; superType != fJavaLangObject; superType = superType.extnds) {
+      for (JClassType superType = type.extnds; superType != javaLangObject; superType = superType.extnds) {
         for (Iterator itSuper = superType.methods.iterator(); itSuper.hasNext();) {
           JMethod superMethod = (JMethod) itSuper.next();
           if (JProgram.methodsDoMatch(intfMethod, superMethod)) {
@@ -338,7 +378,7 @@
             // + intfMethod.getName() + " via " + type.getName());
 
             Map/* <JClassType, Set<JMethod>> */classToMethodMap = getOrCreateMap(
-              virtualUpRefMap, superMethod);
+                virtualUpRefMap, superMethod);
             Set/* <JMethod> */methodSet = getOrCreate(classToMethodMap, type);
             methodSet.add(intfMethod);
 
@@ -382,7 +422,8 @@
   }
 
   /**
-   * Record the all of my superinterfaces (and myself as a subinterface of them).
+   * Record the all of my superinterfaces (and myself as a subinterface of
+   * them).
    */
   private void recordSuperSubInfo(JInterfaceType type) {
     Set/* <JInterfaceType> */superSet = getOrCreate(superInterfaceMap, type);
@@ -402,30 +443,4 @@
     }
   }
 
-  private final Map/* <JInterfaceType, Set<JClassType>> */couldBeImplementedMap = new IdentityHashMap();
-
-  private final Map/* <JClassType, Set<JInterfaceType>> */couldImplementMap = new IdentityHashMap();
-
-  private JClassType fJavaLangObject = null;
-
-  private final Set/* <JReferenceType> */hasClinitSet = new HashSet();
-
-  private final Map/* <JClassType, Set<JInterfaceType>> */implementsMap = new IdentityHashMap();
-
-  private final Set/* <JReferenceType> */instantiatedTypes = new HashSet();
-
-  private final Map/* <JInterfaceType, Set<JClassType>> */isImplementedMap = new IdentityHashMap();
-
-  private final JProgram program;
-
-  private final Map/* <JClassType, Set<JClassType>> */subClassMap = new IdentityHashMap();
-
-  private final Map/* <JInterfaceType, Set<JInterfaceType>> */subInterfaceMap = new IdentityHashMap();
-
-  private final Map/* <JClassType, Set<JClassType>> */superClassMap = new IdentityHashMap();
-
-  private final Map/* <JInterfaceType, Set<JInterfaceType>> */superInterfaceMap = new IdentityHashMap();
-
-  private final Map/* <JMethod, Map<JClassType, Set<JMethod>>> */virtualUpRefMap = new IdentityHashMap();
-
 }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperator.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperator.java
index d6d7a24..4cb7fab 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperator.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperator.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public class JUnaryOperator {
@@ -9,14 +23,14 @@
   public static final JUnaryOperator NOT = new JUnaryOperator("!");
   public static final JUnaryOperator BIT_NOT = new JUnaryOperator("~");
 
-  private final char[] fSymbol;
+  private final char[] symbol;
 
   private JUnaryOperator(String symbol) {
-    fSymbol = symbol.toCharArray();
+    this.symbol = symbol.toCharArray();
   }
 
   public char[] getSymbol() {
-    return fSymbol;
+    return symbol;
   }
 
   public String toString() {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
index 4bc252e..75f5265 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
@@ -26,12 +40,12 @@
     return type;
   }
 
-  public void setType(JType newType) {
-    type = newType;
-  }
-
   public boolean isFinal() {
     return isFinal;
   }
 
+  public void setType(JType newType) {
+    type = newType;
+  }
+
 }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java
index afbe4fb..4c0f6a3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitable.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitable.java
index 6d03452..6c26fc4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitable.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitable.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public interface JVisitable {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java
index 929e49a..1fb1f5b 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 import com.google.gwt.dev.jjs.ast.js.JClassSeed;
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java
index e9404b5..646d0c1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java
@@ -1,4 +1,18 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/Mutator.java b/dev/core/src/com/google/gwt/dev/jjs/ast/Mutator.java
index c855bb3..9dcfc01 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/Mutator.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/Mutator.java
@@ -1,16 +1,30 @@
-// Copyright 2006 Google Inc. All Rights Reserved.
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * 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
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
 package com.google.gwt.dev.jjs.ast;
 
 public abstract class Mutator {
 
+  public abstract JExpression get();
+
   public abstract void insertAfter(JExpression node);
 
   public abstract void insertBefore(JExpression node);
 
   public abstract void remove();
 
-  public abstract JExpression get();
-
   public abstract JExpression set(JExpression value);
 
 }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JClassSeed.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JClassSeed.java
index 1f7fb11..d4b0de0 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JClassSeed.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JClassSeed.java
@@ -25,7 +25,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypeJavaLangObject();
+    return program.getTypeJavaLangObject();
   }
 
   public void traverse(JVisitor visitor) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java
index c5f2d86..552674f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java
@@ -19,7 +19,7 @@
   public JType getType() {
     int c = exprs.size();
     if (c == 0) {
-      return fProgram.getTypeVoid();
+      return program.getTypeVoid();
     } else {
       return exprs.getExpr(c - 1).getType();
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java
index de5e737..2ee7a35 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java
@@ -17,7 +17,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypeVoid();
+    return program.getTypeVoid();
   }
 
   public boolean hasSideEffects() {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java
index 06ba85c..f2372dc 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java
@@ -42,7 +42,7 @@
   }
 
   public JType getType() {
-    return fProgram.getTypeVoid();
+    return program.getTypeVoid();
   }
 
   public boolean hasSideEffects() {