diff options
| author | Manoj Palat | 2013-04-26 13:03:16 +0000 |
|---|---|---|
| committer | Markus Keller | 2013-04-26 13:03:16 +0000 |
| commit | d933dccfeeba25c2c3d8c1c59897e3604969c217 (patch) | |
| tree | 63e5bc5d9b39f7d4e1be52013ddf914abd4f08d2 | |
| parent | e09cd6d4867d1384b0ccb06566f7838ce3210826 (diff) | |
| download | eclipse.jdt.core-d933dccfeeba25c2c3d8c1c59897e3604969c217.tar.gz eclipse.jdt.core-d933dccfeeba25c2c3d8c1c59897e3604969c217.tar.xz eclipse.jdt.core-d933dccfeeba25c2c3d8c1c59897e3604969c217.zip | |
Bug 406467: [1.8][dom ast] Wrong type binding for qualifier of QualifiedType and PackageQualifiedType
| -rw-r--r-- | org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter18Test.java | 4 | ||||
| -rw-r--r-- | org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter18Test.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter18Test.java index 0de56ff3b1..ce762bb632 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter18Test.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter18Test.java @@ -2195,7 +2195,9 @@ public class ASTConverter18Test extends ConverterTestSetup { checkSourceRange(packageQualifiedType, "test404489.bug.@NonNull X", source); typeBinding = packageQualifiedType.resolveBinding(); assertNotNull("null binding", typeBinding); - assertEquals("not a valid binding", "test404489.bug.X.Inner", typeBinding.getQualifiedName()); + assertEquals("not a valid binding", "test404489.bug.X", typeBinding.getQualifiedName()); + name = packageQualifiedType.getName(); + assertSame("bindings different for package qualified type and assocated name", typeBinding, name.resolveTypeBinding()); // qualifier of the package qualified type name = packageQualifiedType.getQualifier(); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java index dc2c05fcf1..49f5856f1c 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java @@ -1597,6 +1597,11 @@ class DefaultBindingResolver extends BindingResolver { binding = typeBinding; } } else if (node instanceof TypeReference) { + if (type instanceof QualifiedType) { + return resolveTypeBindingForName(((QualifiedType)type).getName()); + } else if (type instanceof PackageQualifiedType){ + return resolveTypeBindingForName(((PackageQualifiedType)type).getName()); + } TypeReference typeReference = (TypeReference) node; binding = typeReference.resolvedType; } else if (node instanceof SingleNameReference && ((SingleNameReference)node).isTypeReference()) { |
