diff options
author | Harvey Harrison <[email protected]> | 2012-10-15 23:49:08 -0700 |
---|---|---|
committer | Harvey Harrison <[email protected]> | 2012-10-15 23:50:31 -0700 |
commit | d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70 (patch) | |
tree | 566fdbf1325861a2ae50a215dc7c9961b223d434 | |
parent | 33ffe6769081401741813507ab01faa5ede80eae (diff) |
gluegen: generics annotations for various ArrayList/List use
- Use the copy constructor rather than ArrayList.clone()
- constrain listsEqual so the compiler will warn about comparing lists of different types
Signed-off-by: Harvey Harrison <[email protected]>
5 files changed, 6 insertions, 6 deletions
diff --git a/src/java/com/jogamp/common/util/IntIntHashMap.java b/src/java/com/jogamp/common/util/IntIntHashMap.java index 487914b..5146d44 100644 --- a/src/java/com/jogamp/common/util/IntIntHashMap.java +++ b/src/java/com/jogamp/common/util/IntIntHashMap.java @@ -152,7 +152,7 @@ public class /*name*/IntIntHashMap/*name*/ implements Cloneable, Iterable { for(int i=table.length-1; i>=0; i--) { // single linked list -> ArrayList - final ArrayList<Entry> entries = new ArrayList(); + final ArrayList<Entry> entries = new ArrayList<Entry>(); Entry se = table[i]; while(null != se) { entries.add(se); diff --git a/src/java/com/jogamp/gluegen/cgram/types/CompoundType.java b/src/java/com/jogamp/gluegen/cgram/types/CompoundType.java index a4b419f..746212d 100644 --- a/src/java/com/jogamp/gluegen/cgram/types/CompoundType.java +++ b/src/java/com/jogamp/gluegen/cgram/types/CompoundType.java @@ -74,7 +74,7 @@ public abstract class CompoundType extends MemoryLayoutType implements Cloneable public Object clone() { CompoundType n = (CompoundType) super.clone(); if(null!=this.fields) { - n.fields = (ArrayList) this.fields.clone(); + n.fields = new ArrayList<Field>(this.fields); } return n; } diff --git a/src/java/com/jogamp/gluegen/cgram/types/EnumType.java b/src/java/com/jogamp/gluegen/cgram/types/EnumType.java index 7967ba0..d21774f 100644 --- a/src/java/com/jogamp/gluegen/cgram/types/EnumType.java +++ b/src/java/com/jogamp/gluegen/cgram/types/EnumType.java @@ -91,7 +91,7 @@ public class EnumType extends IntType implements Cloneable { n.underlyingType = (IntType) this.underlyingType.clone(); } if(null!=this.enums) { - n.enums = (ArrayList) this.enums.clone(); + n.enums = new ArrayList<Enum>(this.enums); } return n; } diff --git a/src/java/com/jogamp/gluegen/cgram/types/FunctionType.java b/src/java/com/jogamp/gluegen/cgram/types/FunctionType.java index 4c908dc..fcaf97b 100644 --- a/src/java/com/jogamp/gluegen/cgram/types/FunctionType.java +++ b/src/java/com/jogamp/gluegen/cgram/types/FunctionType.java @@ -57,10 +57,10 @@ public class FunctionType extends Type implements Cloneable { public Object clone() { FunctionType n = (FunctionType) super.clone(); if(null!=this.argumentTypes) { - n.argumentTypes = (ArrayList) this.argumentTypes.clone(); + n.argumentTypes = new ArrayList<Type>(this.argumentTypes); } if(null!=this.argumentNames) { - n.argumentNames = (ArrayList) this.argumentNames.clone(); + n.argumentNames = new ArrayList<String>(this.argumentNames); } return n; } diff --git a/src/java/com/jogamp/gluegen/cgram/types/Type.java b/src/java/com/jogamp/gluegen/cgram/types/Type.java index 281f35c..cffbb67 100644 --- a/src/java/com/jogamp/gluegen/cgram/types/Type.java +++ b/src/java/com/jogamp/gluegen/cgram/types/Type.java @@ -269,7 +269,7 @@ public abstract class Type implements Cloneable { } /** Helper routine for list equality comparison */ - static boolean listsEqual(List a, List b) { + static <C> boolean listsEqual(List<C> a, List<C> b) { return ((a == null && b == null) || (a != null && b != null && a.equals(b))); } } |