diff options
author | ssankaran | 2014-03-02 11:51:56 +0000 |
---|---|---|
committer | ssankaran | 2014-03-02 11:51:56 +0000 |
commit | 76778cca3196ed855b1311da8d21741d446bda27 (patch) | |
tree | dbbcaef5d3ce13fc950c0ecd66a590eb8add4840 | |
parent | 6f17c126ff89ea2e3c03f832be8ed25d26113551 (diff) | |
download | eclipse.jdt.core-76778cca3196ed855b1311da8d21741d446bda27.tar.gz eclipse.jdt.core-76778cca3196ed855b1311da8d21741d446bda27.tar.xz eclipse.jdt.core-76778cca3196ed855b1311da8d21741d446bda27.zip |
Fixed Bug 429395 - [1.8][compiler] TypeSystem.getParameterizedType()
method is expensive
3 files changed, 11 insertions, 3 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java index a647cad3f0..e91a53c9df 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java @@ -93,6 +93,10 @@ public class ParameterizedTypeBinding extends ReferenceBinding implements Substi return this.type; } + public boolean isParameterizedType() { + return true; + } + /** * Iterate type arguments, and validate them according to corresponding variable bounds. */ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.java index 63faae8fd3..326ac8dd30 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.java @@ -93,6 +93,10 @@ public class RawTypeBinding extends ParameterizedTypeBinding { return this.environment.createParameterizedGenericMethod(originalMethod, this); } + public boolean isParameterizedType() { + return false; + } + public int kind() { return RAW_TYPE; } diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.java index 7de7915744..edf466fd5b 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.java @@ -674,8 +674,8 @@ public final boolean isNumericType() { * Note that some instances of ParameterizedTypeBinding have no arguments, like for non-generic members * of a parameterized type. Use {@link #isParameterizedTypeWithActualArguments()} instead to find out. */ -public final boolean isParameterizedType() { - return kind() == Binding.PARAMETERIZED_TYPE; +public boolean isParameterizedType() { + return false; } /** @@ -1409,7 +1409,7 @@ public TypeBinding unannotated() { return this; } -public boolean hasTypeAnnotations() { +public final boolean hasTypeAnnotations() { return (this.tagBits & TagBits.HasTypeAnnotations) != 0; } |