Fix for  Bug 316904 -  [assist] completion for ctor with declared lifting causes CCE
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.java
index d821da7..033437d 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.java
@@ -14,6 +14,7 @@
 import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
 import org.eclipse.jdt.internal.compiler.impl.Constant;
 import org.eclipse.jdt.internal.compiler.lookup.*;
+import org.eclipse.objectteams.otdt.internal.core.compiler.ast.LiftingTypeReference;
 
 public class JavadocArgumentExpression extends Expression {
 	public char[] token;
@@ -41,6 +42,10 @@
 			if (typeRef != null) {
 				this.resolvedType = typeRef.getTypeBinding(scope);
 				typeRef.resolvedType = this.resolvedType;
+//{ObjectTeams: unpack lifting type:
+				if (typeRef instanceof LiftingTypeReference)
+					typeRef = ((LiftingTypeReference)typeRef).baseReference;
+// SH}
 				// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=195374
 				// reproduce javadoc 1.3.1 / 1.4.2 behavior
 				if (typeRef instanceof SingleTypeReference &&
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/BasicSearchEngine.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/BasicSearchEngine.java
index ba5c38b..4e5b70c 100644
--- a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/BasicSearchEngine.java
+++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/BasicSearchEngine.java
@@ -33,6 +33,7 @@
 import org.eclipse.jdt.internal.core.search.matching.*;
 import org.eclipse.jdt.internal.core.util.Messages;
 import org.eclipse.jdt.internal.core.util.Util;
+import org.eclipse.objectteams.otdt.internal.core.compiler.ast.LiftingTypeReference;
 
 /**
  * Search basic engine. Public search engine (see {@link org.eclipse.jdt.core.search.SearchEngine}
@@ -783,6 +784,10 @@
 											parameterNames[l] = argument.name;
 											if (argument.type instanceof SingleTypeReference) {
 												parameterTypes[l] = ((SingleTypeReference)argument.type).token;
+//{ObjectTeams: one more kind of type reference: (note that TypeAnchorReference cannot occur as an argument type)
+											} else if (argument.type instanceof LiftingTypeReference) {
+												parameterTypes[l] = CharOperation.concatWith(((LiftingTypeReference)argument.type).baseTokens, '.');
+// SH}
 											} else {
 												parameterTypes[l] = CharOperation.concatWith(((QualifiedTypeReference)argument.type).tokens, '.');
 											}