### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java,v retrieving revision 1.208 diff -u -r1.208 CompletionParser.java --- codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 7 May 2009 08:49:43 -0000 1.208 +++ codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java 15 Oct 2009 09:42:19 -0000 @@ -771,9 +771,8 @@ case K_CAST_STATEMENT : Expression castType; if(this.expressionPtr > 0 - && ((castType = this.expressionStack[this.expressionPtr-1]) instanceof TypeReference - || castType instanceof NameReference)) { - CastExpression cast = new CastExpression(expression, getTypeReference(castType)); + && ((castType = this.expressionStack[this.expressionPtr-1]) instanceof TypeReference)) { + CastExpression cast = new CastExpression(expression, castType); cast.sourceStart = castType.sourceStart; cast.sourceEnd= expression.sourceEnd; this.assistNodeParent = cast; Index: compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java,v retrieving revision 1.407 diff -u -r1.407 Parser.java --- compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java 6 Oct 2009 19:24:22 -0000 1.407 +++ compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java 15 Oct 2009 09:42:24 -0000 @@ -2027,7 +2027,7 @@ this.expressionStack[this.expressionPtr] = cast = new CastExpression( exp=this.expressionStack[this.expressionPtr+1] , - getTypeReference(this.expressionStack[this.expressionPtr])); + this.expressionStack[this.expressionPtr]); this.expressionLengthPtr -- ; updateSourcePosition(cast); cast.sourceEnd=exp.sourceEnd; @@ -3865,7 +3865,9 @@ } protected void consumeInsideCastExpressionLL1() { // InsideCastExpressionLL1 ::= $empty - pushOnExpressionStack(getUnspecifiedReferenceOptimized()); + pushOnGenericsLengthStack(0); // handle type arguments + pushOnGenericsIdentifiersLengthStack(this.identifierLengthStack[this.identifierLengthPtr]); + pushOnExpressionStack(getTypeReference(0)); } protected void consumeInsideCastExpressionWithQualifiedGenerics() { // InsideCastExpressionWithQualifiedGenerics ::= $empty Index: search/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java,v retrieving revision 1.85 diff -u -r1.85 MatchLocatorParser.java --- search/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java 27 Jun 2008 16:04:00 -0000 1.85 +++ search/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java 15 Oct 2009 09:42:24 -0000 @@ -213,8 +213,8 @@ super.consumeCastExpressionLL1(); if ((this.patternFineGrain & IJavaSearchConstants.CAST_TYPE_REFERENCE) != 0) { CastExpression castExpression = (CastExpression) this.expressionStack[this.expressionPtr]; - if (castExpression.type instanceof Reference) { - this.patternLocator.match((Reference) castExpression.type, this.nodeSet); + if (castExpression.type instanceof TypeReference) { + this.patternLocator.match((TypeReference) castExpression.type, this.nodeSet); } } } Index: codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java,v retrieving revision 1.90 diff -u -r1.90 SelectionParser.java --- codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java 25 Jun 2009 14:48:54 -0000 1.90 +++ codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java 15 Oct 2009 09:42:19 -0000 @@ -133,9 +133,8 @@ case K_CAST_STATEMENT : Expression castType; if(this.expressionPtr > 0 - && ((castType = this.expressionStack[this.expressionPtr-1]) instanceof TypeReference - || castType instanceof NameReference)) { - CastExpression cast = new CastExpression(expression, getTypeReference(castType)); + && ((castType = this.expressionStack[this.expressionPtr-1]) instanceof TypeReference)) { + CastExpression cast = new CastExpression(expression, castType); cast.sourceStart = castType.sourceStart; cast.sourceEnd= expression.sourceEnd; parentNode = cast; #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/parser/SelectionTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/SelectionTest.java,v retrieving revision 1.24 diff -u -r1.24 SelectionTest.java --- src/org/eclipse/jdt/core/tests/compiler/parser/SelectionTest.java 25 Jun 2009 14:48:52 -0000 1.24 +++ src/org/eclipse/jdt/core/tests/compiler/parser/SelectionTest.java 15 Oct 2009 09:42:27 -0000 @@ -787,14 +787,14 @@ String selectionStartBehind = "return ("; String selectionEndBehind = "return (Object"; - String expectedCompletionNodeToString = ""; + String expectedCompletionNodeToString = ""; String completionIdentifier = "Object"; String expectedUnitDisplayString = "public class X {\n" + " public X() {\n" + " }\n" + " Object foo() {\n" + - " ;\n" + + " return () this;\n" + " }\n" + "}\n"; Index: src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java,v retrieving revision 1.53 diff -u -r1.53 InnerEmulationTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java 28 Apr 2009 17:17:36 -0000 1.53 +++ src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java 15 Oct 2009 09:42:29 -0000 @@ -5500,12 +5500,12 @@ "----------\n" + "5. WARNING in p\\X.java (at line 6)\n" + " A.M2.MM1 mm1 = (A.M2.MM1) o;\n" + - " ^\n" + + " ^^^^^^^^\n" + "The type A is deprecated\n" + "----------\n" + "6. WARNING in p\\X.java (at line 6)\n" + " A.M2.MM1 mm1 = (A.M2.MM1) o;\n" + - " ^^^^\n" + + " ^^^^^^^^\n" + "The type A.M2 is deprecated\n" + "----------\n" + "7. WARNING in p\\X.java (at line 6)\n" +