diff options
Diffstat (limited to 'org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java')
-rw-r--r-- | org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java | 193 |
1 files changed, 96 insertions, 97 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java index 5e257ace7b..6b86bf9149 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java @@ -1,97 +1,96 @@ -package org.eclipse.jdt.internal.compiler.ast;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jdt.internal.compiler.IAbstractSyntaxTreeVisitor;
-import org.eclipse.jdt.internal.compiler.impl.*;
-import org.eclipse.jdt.internal.compiler.lookup.*;
-
-public abstract class TypeReference extends Expression {
- public TypeBinding binding;
-public TypeReference() {
- super () ;
- }
-// allows us to trap completion & selection nodes
-
-public void aboutToResolve(Scope scope) {}
-/*
- * Answer a base type reference (can be an array of base type).
- */
-public static final TypeReference baseTypeReference(int baseType, int dim) {
-
- if (dim == 0) {
- switch (baseType) {
- case (T_void) :
- return new SingleTypeReference(VoidBinding.simpleName, 0);
- case (T_boolean) :
- return new SingleTypeReference(BooleanBinding.simpleName, 0);
- case (T_char) :
- return new SingleTypeReference(CharBinding.simpleName, 0);
- case (T_float) :
- return new SingleTypeReference(FloatBinding.simpleName, 0);
- case (T_double) :
- return new SingleTypeReference(DoubleBinding.simpleName, 0);
- case (T_byte) :
- return new SingleTypeReference(ByteBinding.simpleName, 0);
- case (T_short) :
- return new SingleTypeReference(ShortBinding.simpleName, 0);
- case (T_int) :
- return new SingleTypeReference(IntBinding.simpleName, 0);
- default : //T_long
- return new SingleTypeReference(LongBinding.simpleName, 0);
- }
- }
- switch (baseType) {
- case (T_void) :
- return new ArrayTypeReference(VoidBinding.simpleName, dim, 0);
- case (T_boolean) :
- return new ArrayTypeReference(BooleanBinding.simpleName, dim, 0);
- case (T_char) :
- return new ArrayTypeReference(CharBinding.simpleName, dim, 0);
- case (T_float) :
- return new ArrayTypeReference(FloatBinding.simpleName, dim, 0);
- case (T_double) :
- return new ArrayTypeReference(DoubleBinding.simpleName, dim, 0);
- case (T_byte) :
- return new ArrayTypeReference(ByteBinding.simpleName, dim, 0);
- case (T_short) :
- return new ArrayTypeReference(ShortBinding.simpleName, dim, 0);
- case (T_int) :
- return new ArrayTypeReference(IntBinding.simpleName, dim, 0);
- default : //T_long
- return new ArrayTypeReference(LongBinding.simpleName, dim, 0);
- }
-}
-public abstract TypeReference copyDims(int dim);
-public int dimensions() {
- return 0;
-}
-public abstract TypeBinding getTypeBinding(Scope scope);
-/**
- * @return char[][]
- */
-public abstract char [][] getTypeName() ;
-public boolean isTypeReference() {
- return true;
-}
-public TypeBinding resolveType(BlockScope scope) {
- // handle the error here
- constant = NotAConstant;
- if (binding != null) { // is a shared type reference which was already resolved
- if (!binding.isValidBinding())
- return null; // already reported error
- } else {
- binding = getTypeBinding(scope);
- if (!binding.isValidBinding()) {
- scope.problemReporter().invalidType(this, binding);
- return null;
- }
- if (isTypeUseDeprecated(binding, scope))
- scope.problemReporter().deprecatedType(binding, this);
- }
- return binding;
-}
-public abstract void traverse(IAbstractSyntaxTreeVisitor visitor, ClassScope classScope);
-}
+package org.eclipse.jdt.internal.compiler.ast; + +/* + * (c) Copyright IBM Corp. 2000, 2001. + * All Rights Reserved. + */ +import org.eclipse.jdt.internal.compiler.IAbstractSyntaxTreeVisitor; +import org.eclipse.jdt.internal.compiler.lookup.*; + +public abstract class TypeReference extends Expression { + public TypeBinding binding; +public TypeReference() { + super () ; + } +// allows us to trap completion & selection nodes + +public void aboutToResolve(Scope scope) {} +/* + * Answer a base type reference (can be an array of base type). + */ +public static final TypeReference baseTypeReference(int baseType, int dim) { + + if (dim == 0) { + switch (baseType) { + case (T_void) : + return new SingleTypeReference(VoidBinding.simpleName, 0); + case (T_boolean) : + return new SingleTypeReference(BooleanBinding.simpleName, 0); + case (T_char) : + return new SingleTypeReference(CharBinding.simpleName, 0); + case (T_float) : + return new SingleTypeReference(FloatBinding.simpleName, 0); + case (T_double) : + return new SingleTypeReference(DoubleBinding.simpleName, 0); + case (T_byte) : + return new SingleTypeReference(ByteBinding.simpleName, 0); + case (T_short) : + return new SingleTypeReference(ShortBinding.simpleName, 0); + case (T_int) : + return new SingleTypeReference(IntBinding.simpleName, 0); + default : //T_long + return new SingleTypeReference(LongBinding.simpleName, 0); + } + } + switch (baseType) { + case (T_void) : + return new ArrayTypeReference(VoidBinding.simpleName, dim, 0); + case (T_boolean) : + return new ArrayTypeReference(BooleanBinding.simpleName, dim, 0); + case (T_char) : + return new ArrayTypeReference(CharBinding.simpleName, dim, 0); + case (T_float) : + return new ArrayTypeReference(FloatBinding.simpleName, dim, 0); + case (T_double) : + return new ArrayTypeReference(DoubleBinding.simpleName, dim, 0); + case (T_byte) : + return new ArrayTypeReference(ByteBinding.simpleName, dim, 0); + case (T_short) : + return new ArrayTypeReference(ShortBinding.simpleName, dim, 0); + case (T_int) : + return new ArrayTypeReference(IntBinding.simpleName, dim, 0); + default : //T_long + return new ArrayTypeReference(LongBinding.simpleName, dim, 0); + } +} +public abstract TypeReference copyDims(int dim); +public int dimensions() { + return 0; +} +public abstract TypeBinding getTypeBinding(Scope scope); +/** + * @return char[][] + */ +public abstract char [][] getTypeName() ; +public boolean isTypeReference() { + return true; +} +public TypeBinding resolveType(BlockScope scope) { + // handle the error here + constant = NotAConstant; + if (binding != null) { // is a shared type reference which was already resolved + if (!binding.isValidBinding()) + return null; // already reported error + } else { + binding = getTypeBinding(scope); + if (!binding.isValidBinding()) { + scope.problemReporter().invalidType(this, binding); + return null; + } + if (isTypeUseDeprecated(binding, scope)) + scope.problemReporter().deprecatedType(binding, this); + } + return binding; +} +public abstract void traverse(IAbstractSyntaxTreeVisitor visitor, ClassScope classScope); +} |