<s> package org . eclipse . jdt . internal . codeassist . complete ; import org . eclipse . jdt . internal . compiler . ast . * ; import org . eclipse . jdt . internal . compiler . lookup . * ; public class CompletionOnQualifiedAllocationExpression extends QualifiedAllocationExpression { public TypeBinding resolveType ( BlockScope scope ) { if ( this . arguments != null ) { int argsLength = this . arguments . length ; for ( int a = argsLength ; -- a >= 0 ; ) this . arguments [ a ] . resolveType ( scope ) ; } if ( this . enclosingInstance != null ) { TypeBinding enclosingType = this . enclosingInstance . resolveType ( scope ) ; if ( enclosingType == null || ! ( enclosingType instanceof ReferenceBinding ) ) { throw new CompletionNodeFound ( ) ; } this . resolvedType = ( ( SingleTypeReference ) this . type ) . resolveTypeEnclosing ( scope , ( ReferenceBinding ) enclosingType ) ; if ( ! ( this . resolvedType instanceof ReferenceBinding ) ) throw new CompletionNodeFound ( ) ; if ( this . resolvedType . isInterface ( ) ) this . resolvedType = scope . getJavaLangObject ( ) ; } else { this . resolvedType = this . type . resolveType ( scope , true ) ; if ( ! ( this . resolvedType instanceof ReferenceBinding ) ) throw new CompletionNodeFound ( ) ; } throw new CompletionNodeFound ( this , this . resolvedType , scope ) ; } public StringBuffer printExpression ( int indent , StringBuffer output ) { if ( this . enclosingInstance == null ) output . append ( "" ) ; else output . append ( "" ) ; return super . printExpression ( indent , output ) . append ( '>' ) ; } } </s>