diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java index 93f58bfa3df..7bec628c4c3 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java @@ -2066,4 +2066,19 @@ public class CompleteParseASTTest extends CompleteParseBaseTest parse( "namespace { int abc; }");//$NON-NLS-1$ assertTrue( callback.problems.isEmpty() ); } + + public void testBug73615() throws Exception + { + for( int i = 0; i < 2; ++i ) + { + StringWriter writer = new StringWriter(); + if( i == 0 ) + writer.write( "class B;\n"); + writer.write( "class A { A( B * ); };\n"); + if( i == 0 ) + parse( writer.toString() ); + else + parse( writer.toString(), false ); + } + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenFactory.java index be32cfc72ea..9b13f4b07b2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/token/TokenFactory.java @@ -45,6 +45,7 @@ public class TokenFactory { public static ITokenDuple createTokenDuple( ITokenDuple firstDuple, ITokenDuple secondDuple ){ if( secondDuple == null ) return firstDuple; + if( firstDuple == null ) return secondDuple; List [] f1 = firstDuple.getTemplateIdArgLists(); List [] f2 = secondDuple.getTemplateIdArgLists(); if( f1 == null && f2 == null )