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() {