Example usage for org.eclipse.jdt.core IMemberValuePair K_SIMPLE_NAME

List of usage examples for org.eclipse.jdt.core IMemberValuePair K_SIMPLE_NAME

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IMemberValuePair K_SIMPLE_NAME.

Prototype

int K_SIMPLE_NAME

To view the source code for org.eclipse.jdt.core IMemberValuePair K_SIMPLE_NAME.

Click Source Link

Document

Constant indicating that the value is a simple name represented by a String .

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.CompilationUnitStructureRequestor.java

License:Open Source License

protected Object getMemberValue(com.codenvy.ide.ext.java.server.internal.core.MemberValuePair memberValuePair,
        Expression expression) {/*from   w w w  .  jav  a2 s.co m*/
    if (expression instanceof NullLiteral) {
        return null;
    } else if (expression instanceof Literal) {
        ((Literal) expression).computeConstant();
        return Util.getAnnotationMemberValue(memberValuePair, expression.constant);
    } else if (expression instanceof org.eclipse.jdt.internal.compiler.ast.Annotation) {
        org.eclipse.jdt.internal.compiler.ast.Annotation annotation = (org.eclipse.jdt.internal.compiler.ast.Annotation) expression;
        Object handle = acceptAnnotation(annotation, null, (JavaElement) this.handleStack.peek());
        memberValuePair.valueKind = IMemberValuePair.K_ANNOTATION;
        return handle;
    } else if (expression instanceof ClassLiteralAccess) {
        ClassLiteralAccess classLiteral = (ClassLiteralAccess) expression;
        char[] name = CharOperation.concatWith(classLiteral.type.getTypeName(), '.');
        memberValuePair.valueKind = IMemberValuePair.K_CLASS;
        return new String(name);
    } else if (expression instanceof QualifiedNameReference) {
        char[] qualifiedName = CharOperation.concatWith(((QualifiedNameReference) expression).tokens, '.');
        memberValuePair.valueKind = IMemberValuePair.K_QUALIFIED_NAME;
        return new String(qualifiedName);
    } else if (expression instanceof SingleNameReference) {
        char[] simpleName = ((SingleNameReference) expression).token;
        if (simpleName == RecoveryScanner.FAKE_IDENTIFIER) {
            memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
            return null;
        }
        memberValuePair.valueKind = IMemberValuePair.K_SIMPLE_NAME;
        return new String(simpleName);
    } else if (expression instanceof ArrayInitializer) {
        memberValuePair.valueKind = -1; // modified below by the first call to getMemberValue(...)
        Expression[] expressions = ((ArrayInitializer) expression).expressions;
        int length = expressions == null ? 0 : expressions.length;
        Object[] values = new Object[length];
        for (int i = 0; i < length; i++) {
            int previousValueKind = memberValuePair.valueKind;
            Object value = getMemberValue(memberValuePair, expressions[i]);
            if (previousValueKind != -1 && memberValuePair.valueKind != previousValueKind) {
                // values are heterogeneous, value kind is thus unknown
                memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
            }
            values[i] = value;
        }
        if (memberValuePair.valueKind == -1)
            memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return values;
    } else if (expression instanceof UnaryExpression) { // to deal with negative numerals (see bug - 248312)
        UnaryExpression unaryExpression = (UnaryExpression) expression;
        if ((unaryExpression.bits & ASTNode.OperatorMASK) >> ASTNode.OperatorSHIFT == OperatorIds.MINUS) {
            if (unaryExpression.expression instanceof Literal) {
                Literal subExpression = (Literal) unaryExpression.expression;
                subExpression.computeConstant();
                return Util.getNegativeAnnotationMemberValue(memberValuePair, subExpression.constant);
            }
        }
        memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return null;
    } else {
        memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return null;
    }
}

From source file:com.codenvy.ide.ext.java.server.internal.core.LocalVariable.java

License:Open Source License

private Object getAnnotationMemberValue(MemberValuePair memberValuePair, Expression expression,
        JavaElement parentElement) {//w w w.jav a2  s. c o m
    if (expression instanceof NullLiteral) {
        return null;
    } else if (expression instanceof Literal) {
        ((Literal) expression).computeConstant();
        return Util.getAnnotationMemberValue(memberValuePair, expression.constant);
    } else if (expression instanceof org.eclipse.jdt.internal.compiler.ast.Annotation) {
        memberValuePair.valueKind = IMemberValuePair.K_ANNOTATION;
        return getAnnotation((org.eclipse.jdt.internal.compiler.ast.Annotation) expression, parentElement);
    } else if (expression instanceof ClassLiteralAccess) {
        ClassLiteralAccess classLiteral = (ClassLiteralAccess) expression;
        char[] typeName = CharOperation.concatWith(classLiteral.type.getTypeName(), '.');
        memberValuePair.valueKind = IMemberValuePair.K_CLASS;
        return new String(typeName);
    } else if (expression instanceof QualifiedNameReference) {
        char[] qualifiedName = CharOperation.concatWith(((QualifiedNameReference) expression).tokens, '.');
        memberValuePair.valueKind = IMemberValuePair.K_QUALIFIED_NAME;
        return new String(qualifiedName);
    } else if (expression instanceof SingleNameReference) {
        char[] simpleName = ((SingleNameReference) expression).token;
        if (simpleName == RecoveryScanner.FAKE_IDENTIFIER) {
            memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
            return null;
        }
        memberValuePair.valueKind = IMemberValuePair.K_SIMPLE_NAME;
        return new String(simpleName);
    } else if (expression instanceof ArrayInitializer) {
        memberValuePair.valueKind = -1; // modified below by the first call to getMemberValue(...)
        Expression[] expressions = ((ArrayInitializer) expression).expressions;
        int length = expressions == null ? 0 : expressions.length;
        Object[] values = new Object[length];
        for (int i = 0; i < length; i++) {
            int previousValueKind = memberValuePair.valueKind;
            Object value = getAnnotationMemberValue(memberValuePair, expressions[i], parentElement);
            if (previousValueKind != -1 && memberValuePair.valueKind != previousValueKind) {
                // values are heterogeneous, value kind is thus unknown
                memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
            }
            values[i] = value;
        }
        if (memberValuePair.valueKind == -1)
            memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return values;
    } else if (expression instanceof UnaryExpression) { //to deal with negative numerals (see bug - 248312)
        UnaryExpression unaryExpression = (UnaryExpression) expression;
        if ((unaryExpression.bits & ASTNode.OperatorMASK) >> ASTNode.OperatorSHIFT == OperatorIds.MINUS) {
            if (unaryExpression.expression instanceof Literal) {
                Literal subExpression = (Literal) unaryExpression.expression;
                subExpression.computeConstant();
                return Util.getNegativeAnnotationMemberValue(memberValuePair, subExpression.constant);
            }
        }
        memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return null;
    } else {
        memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return null;
    }
}

From source file:org.eclipse.che.jdt.internal.core.CompilationUnitStructureRequestor.java

License:Open Source License

protected Object getMemberValue(org.eclipse.che.jdt.internal.core.MemberValuePair memberValuePair,
        Expression expression) {/*  w  w  w .j  av a  2  s .co m*/
    if (expression instanceof NullLiteral) {
        return null;
    } else if (expression instanceof Literal) {
        ((Literal) expression).computeConstant();
        return Util.getAnnotationMemberValue(memberValuePair, expression.constant);
    } else if (expression instanceof org.eclipse.jdt.internal.compiler.ast.Annotation) {
        org.eclipse.jdt.internal.compiler.ast.Annotation annotation = (org.eclipse.jdt.internal.compiler.ast.Annotation) expression;
        Object handle = acceptAnnotation(annotation, null, (JavaElement) this.handleStack.peek());
        memberValuePair.valueKind = IMemberValuePair.K_ANNOTATION;
        return handle;
    } else if (expression instanceof ClassLiteralAccess) {
        ClassLiteralAccess classLiteral = (ClassLiteralAccess) expression;
        char[] name = CharOperation.concatWith(classLiteral.type.getTypeName(), '.');
        memberValuePair.valueKind = IMemberValuePair.K_CLASS;
        return new String(name);
    } else if (expression instanceof QualifiedNameReference) {
        char[] qualifiedName = CharOperation.concatWith(((QualifiedNameReference) expression).tokens, '.');
        memberValuePair.valueKind = IMemberValuePair.K_QUALIFIED_NAME;
        return new String(qualifiedName);
    } else if (expression instanceof SingleNameReference) {
        char[] simpleName = ((SingleNameReference) expression).token;
        if (simpleName == RecoveryScanner.FAKE_IDENTIFIER) {
            memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
            return null;
        }
        memberValuePair.valueKind = IMemberValuePair.K_SIMPLE_NAME;
        return new String(simpleName);
    } else if (expression instanceof ArrayInitializer) {
        memberValuePair.valueKind = -1; // modified below by the first call to getMemberValue(...)
        Expression[] expressions = ((ArrayInitializer) expression).expressions;
        int length = expressions == null ? 0 : expressions.length;
        Object[] values = new Object[length];
        for (int i = 0; i < length; i++) {
            int previousValueKind = memberValuePair.valueKind;
            Object value = getMemberValue(memberValuePair, expressions[i]);
            if (previousValueKind != -1 && memberValuePair.valueKind != previousValueKind) {
                // values are heterogeneous, value kind is thus unknown
                memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
            }
            values[i] = value;
        }
        if (memberValuePair.valueKind == -1)
            memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return values;
    } else if (expression instanceof UnaryExpression) { // to deal with negative numerals (see bug - 248312)
        UnaryExpression unaryExpression = (UnaryExpression) expression;
        if ((unaryExpression.bits & ASTNode.OperatorMASK) >> ASTNode.OperatorSHIFT == OperatorIds.MINUS) {
            if (unaryExpression.expression instanceof Literal) {
                Literal subExpression = (Literal) unaryExpression.expression;
                subExpression.computeConstant();
                return Util.getNegativeAnnotationMemberValue(memberValuePair, subExpression.constant);
            }
        }
        memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return null;
    } else {
        memberValuePair.valueKind = IMemberValuePair.K_UNKNOWN;
        return null;
    }
}

From source file:org.eclipse.modisco.java.discoverer.internal.io.library.ClassFileParser.java

License:Open Source License

private Expression manageMemberValuePair(final IMemberValuePair defaultValue) {

    Expression result = null;//from  w w  w .j a va  2 s.c om

    switch (defaultValue.getValueKind()) {
    case IMemberValuePair.K_CLASS:
        result = manageValuePairClassKind(defaultValue);
        break;

    case IMemberValuePair.K_ANNOTATION:
        result = manageValuePairAnnotationKind(defaultValue);
        break;

    case IMemberValuePair.K_QUALIFIED_NAME:
        result = manageValuePairQualifiedNameKind(defaultValue);
        break;

    case IMemberValuePair.K_BOOLEAN:
        if (defaultValue.getValue().getClass().isArray()) {
            Object[] tab = (Object[]) defaultValue.getValue();
            ArrayInitializer array = getFactory().createArrayInitializer();
            initializeNode(array);
            for (Object element : tab) {
                BooleanLiteral bool = getFactory().createBooleanLiteral();
                bool.setValue(((Boolean) element).booleanValue());
                array.getExpressions().add(bool);
            }
            result = array;
        } else {
            BooleanLiteral bool = getFactory().createBooleanLiteral();
            bool.setValue(((Boolean) defaultValue.getValue()).booleanValue());
            result = bool;
        }
        break;

    case IMemberValuePair.K_CHAR:
        if (defaultValue.getValue().getClass().isArray()) {
            Object[] tab = (Object[]) defaultValue.getValue();
            ArrayInitializer array = getFactory().createArrayInitializer();
            initializeNode(array);
            for (Object element : tab) {
                CharacterLiteral ch = getFactory().createCharacterLiteral();
                char value = ((Character) element).charValue();
                ch.setEscapedValue(ClassFileParserUtils.escapeCharacter(value));
                array.getExpressions().add(ch);
            }
            result = array;
        } else {
            CharacterLiteral ch = getFactory().createCharacterLiteral();
            char value = ((Character) defaultValue.getValue()).charValue();
            ch.setEscapedValue(ClassFileParserUtils.escapeCharacter(value));
            result = ch;
        }
        break;

    case IMemberValuePair.K_DOUBLE:
    case IMemberValuePair.K_BYTE:
    case IMemberValuePair.K_FLOAT:
    case IMemberValuePair.K_INT:
    case IMemberValuePair.K_LONG:
        if (defaultValue.getValue().getClass().isArray()) {
            Object[] tab = (Object[]) defaultValue.getValue();
            ArrayInitializer array = getFactory().createArrayInitializer();
            initializeNode(array);
            for (Object element : tab) {
                NumberLiteral number = getFactory().createNumberLiteral();
                number.setTokenValue(element.toString());
                array.getExpressions().add(number);
            }
            result = array;
        } else {
            NumberLiteral number = getFactory().createNumberLiteral();
            number.setTokenValue(defaultValue.getValue().toString());
            result = number;
        }
        break;

    case IMemberValuePair.K_STRING:
        if (defaultValue.getValue().getClass().isArray()) {
            Object[] tab = (Object[]) defaultValue.getValue();
            ArrayInitializer array = getFactory().createArrayInitializer();
            initializeNode(array);
            for (Object element : tab) {
                StringLiteral string = getFactory().createStringLiteral();
                String value = String.valueOf(element);
                string.setEscapedValue(ClassFileParserUtils.escapeString(value));
                array.getExpressions().add(string);
            }
            result = array;
        } else {
            StringLiteral string = getFactory().createStringLiteral();
            String value = String.valueOf(defaultValue.getValue());
            string.setEscapedValue(ClassFileParserUtils.escapeString(value));
            result = string;
        }
        break;

    case IMemberValuePair.K_SIMPLE_NAME: // there should be no K_SIMPLE_NAME
        // in .class files
    case IMemberValuePair.K_UNKNOWN:
    default:
        if (defaultValue.getValue().getClass().isArray()) {
            Object[] tab = (Object[]) defaultValue.getValue();
            ArrayInitializer array = getFactory().createArrayInitializer();
            initializeNode(array);
            for (Object element : tab) {
                UnresolvedItemAccess unrAcc = getFactory().createUnresolvedItemAccess();
                UnresolvedItem item = getFactory().createUnresolvedItem();
                unrAcc.setElement(item);
                item.setName(String.valueOf(element));
                array.getExpressions().add(unrAcc);
            }
            result = array;
        } else {
            UnresolvedItemAccess unrAcc = getFactory().createUnresolvedItemAccess();
            UnresolvedItem item = getFactory().createUnresolvedItem();
            unrAcc.setElement(item);
            item.setName(String.valueOf(defaultValue.getValue()));
            result = unrAcc;
        }
        break;
    }
    return result;
}

From source file:org.eclipse.objectteams.otdt.tests.AbstractJavaModelTests.java

License:Open Source License

private void appendAnnotationMemberValue(StringBuffer buffer, Object value, int kind)
        throws JavaModelException {
    if (value == null) {
        buffer.append("<null>");
        return;/* w  ww  .  j  a va2 s . c o  m*/
    }
    switch (kind) {
    case IMemberValuePair.K_INT:
        buffer.append("(int)");
        buffer.append(value);
        break;
    case IMemberValuePair.K_BYTE:
        buffer.append("(byte)");
        buffer.append(value);
        break;
    case IMemberValuePair.K_SHORT:
        buffer.append("(short)");
        buffer.append(value);
        break;
    case IMemberValuePair.K_CHAR:
        buffer.append('\'');
        buffer.append(value);
        buffer.append('\'');
        break;
    case IMemberValuePair.K_FLOAT:
        buffer.append(value);
        buffer.append('f');
        break;
    case IMemberValuePair.K_DOUBLE:
        buffer.append("(double)");
        buffer.append(value);
        break;
    case IMemberValuePair.K_BOOLEAN:
        buffer.append(value);
        break;
    case IMemberValuePair.K_LONG:
        buffer.append(value);
        buffer.append('L');
        break;
    case IMemberValuePair.K_STRING:
        buffer.append('\"');
        buffer.append(value);
        buffer.append('\"');
        break;
    case IMemberValuePair.K_ANNOTATION:
        appendAnnotation(buffer, (IAnnotation) value);
        break;
    case IMemberValuePair.K_CLASS:
        buffer.append(value);
        buffer.append(".class");
        break;
    case IMemberValuePair.K_QUALIFIED_NAME:
        buffer.append(value);
        break;
    case IMemberValuePair.K_SIMPLE_NAME:
        buffer.append(value);
        break;
    case IMemberValuePair.K_UNKNOWN:
        appendAnnotationMemberValue(buffer, value, getValueKind(value));
        break;
    default:
        buffer.append(
                "<Unknown value: (" + (value == null ? "" : value.getClass().getName()) + ") " + value + ">");
        break;
    }
}

From source file:org.jboss.tools.cdi.internal.core.refactoring.ValuedQualifier.java

License:Open Source License

public ValuedQualifier(IQualifier qualifier, IQualifierDeclaration declaration) {
    this.qualifier = qualifier;
    if (declaration != null) {
        // copy pairs from qualifier declaration
        for (IMemberValuePair mvp : declaration.getMemberValuePairs()) {
            Pair pair = new Pair();
            pair.name = mvp.getMemberName();
            pair.value = mvp.getValue();
            if (mvp.getValueKind() == IMemberValuePair.K_STRING) {
                pair.type = "String";
            } else if (mvp.getValueKind() == IMemberValuePair.K_CHAR) {
                pair.type = "char";
            } else if (mvp.getValueKind() == IMemberValuePair.K_CLASS) {
                pair.type = "Class";
            } else if (mvp.getValueKind() == IMemberValuePair.K_BOOLEAN) {
                pair.type = "boolean";
            } else if (mvp.getValueKind() == IMemberValuePair.K_BYTE) {
                pair.type = "byte";
            } else if (mvp.getValueKind() == IMemberValuePair.K_DOUBLE) {
                pair.type = "double";
            } else if (mvp.getValueKind() == IMemberValuePair.K_FLOAT) {
                pair.type = "float";
            } else if (mvp.getValueKind() == IMemberValuePair.K_INT) {
                pair.type = "int";
            } else if (mvp.getValueKind() == IMemberValuePair.K_LONG) {
                pair.type = "long";
            } else if (mvp.getValueKind() == IMemberValuePair.K_QUALIFIED_NAME) {
                pair.type = "name";
            } else if (mvp.getValueKind() == IMemberValuePair.K_SHORT) {
                pair.type = "short";
            } else if (mvp.getValueKind() == IMemberValuePair.K_SIMPLE_NAME) {
                pair.type = "name";
            }/*from   w  ww . jav  a 2  s . c  om*/
            pairs.add(pair);
        }
    } else {
        IType type = qualifier.getSourceType();
        try {
            if (type.isAnnotation()) {
                for (IMethod method : type.getMethods()) {
                    IMemberValuePair mvp = method.getDefaultValue();
                    Pair pair = new Pair();
                    pair.type = Signature.getSignatureSimpleName(method.getReturnType());
                    pair.name = method.getElementName();
                    if (mvp != null && mvp.getValue() != null) {
                        pair.value = mvp.getValue();
                        pair.required = false;
                    } else {
                        pair.required = true;
                        if (pair.type.equals("boolean")) {
                            pair.value = "false";
                        } else if (pair.type.equals("int") || pair.type.equals("short")
                                || pair.type.equals("long")) {
                            pair.value = "0";
                        } else if (pair.type.equals("float")) {
                            pair.value = "0";
                        } else if (pair.type.equals("double")) {
                            pair.value = "0.0";
                        } else if (pair.type.equals("char")) {
                            pair.value = ' ';
                        } else if (pair.type.equals("byte")) {
                            pair.value = "0";
                        } else if (pair.type.equals("String")) {
                            pair.value = "default";
                        } else {
                            pair.value = "String";
                        }
                    }
                    pairs.add(pair);
                }
            }
        } catch (JavaModelException e) {
        }
    }
}

From source file:org.jboss.tools.common.java.impl.ValueResolver.java

License:Open Source License

/**
 * For a complex expression returns source string if it is 
 * available while the result of calculation is to be requested 
 * by getConstant()./*from   w  w  w .  j  ava2  s  .  c o m*/
 * 
 * For a reference to a constant returns resolved qualified name
 * while the constant value is to be requested by getConstant().
 * 
 * Otherwise, returns pair.getValue(). If the value is an array,
 * then for each element that is a reference to a constant
 * that element is replaced with resolved qualified name 
 * of the reference.
 * 
 * @param pair
 * @return
 */
public Object resolvePair(IMemberValuePair pair) {
    constant = null;
    Object value = pair.getValue();
    int k = pair.getValueKind();
    if (k == IMemberValuePair.K_QUALIFIED_NAME || k == IMemberValuePair.K_SIMPLE_NAME
            || (value instanceof Object[] && k == IMemberValuePair.K_UNKNOWN)) {
        if (element != null && element.getAncestor(IJavaElement.COMPILATION_UNIT) instanceof ICompilationUnit) {
            value = resolve(value);
        }
    } else if (k == IMemberValuePair.K_UNKNOWN && value == null) {
        if (element instanceof ISourceReference) {
            try {
                String source = getExpressionForName(pair.getMemberName());
                if (source != null) {
                    Object c = resolveExpression(source);
                    if (c != null) {
                        value = source;
                        constant = c;
                    }
                }
            } catch (CoreException e) {
                CommonCorePlugin.getDefault().logError(e);
            }
        }
    }
    return value;
}

From source file:org.jboss.tools.common.ui.marker.AddSuppressWarningsMarkerResolution.java

License:Open Source License

private CompilationUnitChange updateAnnotation(String name, String parameter, ICompilationUnit compilationUnit,
        IAnnotation annotation) throws JavaModelException {
    String str = AT + name;//from  w  w  w  . ja v  a 2  s  .  c o m

    str += "({";

    for (IMemberValuePair pair : annotation.getMemberValuePairs()) {
        if (pair.getValueKind() == IMemberValuePair.K_STRING) {
            Object value = pair.getValue();
            if (value instanceof String) {
                if (value.toString().equals(parameter)) {
                    return null;
                }
                str += "\"" + value + "\", ";
            } else if (value instanceof Object[]) {
                Object[] array = (Object[]) value;
                for (Object a : array) {
                    if (a instanceof String) {
                        if (a.toString().equals(parameter)) {
                            return null;
                        }
                        str += "\"" + a + "\", ";
                    }
                }
            }
        } else if (pair.getValueKind() == IMemberValuePair.K_QUALIFIED_NAME
                || pair.getValueKind() == IMemberValuePair.K_SIMPLE_NAME) {
            Object value = pair.getValue();
            if (value instanceof String) {
                str += value + ", ";
            } else if (value instanceof Object[]) {
                Object[] array = (Object[]) value;
                for (Object a : array) {
                    if (a instanceof String) {
                        str += a + ", ";
                    }
                }
            }
        }
    }

    str += "\"" + parameter + "\"";

    str += "})";

    CompilationUnitChange change = new CompilationUnitChange("", compilationUnit);

    ReplaceEdit edit = new ReplaceEdit(annotation.getSourceRange().getOffset(),
            annotation.getSourceRange().getLength(), str);
    change.setEdit(edit);

    return change;
}

From source file:org.springframework.ide.eclipse.core.java.annotation.JdtBasedAnnotationMetadata.java

License:Open Source License

private void processStringValue(IMemberValuePair member, StringBuilder builder, String value) {
    // class value
    if (member.getValueKind() == IMemberValuePair.K_CLASS) {
        String className = JdtUtils.resolveClassName(value, type);
        if (className != null) {
            builder.append(ClassUtils.getShortName(className));
        } else {/*  www  .j  av  a2  s.c o m*/
            builder.append(value);
        }
    }
    // enum value
    else if (member.getValueKind() == IMemberValuePair.K_QUALIFIED_NAME
            || member.getValueKind() == IMemberValuePair.K_SIMPLE_NAME) {
        String tempValue = value;
        int i = tempValue.lastIndexOf('.');
        while (i > 0) {
            tempValue = tempValue.substring(0, i);
            String className = JdtUtils.resolveClassName(tempValue, type);
            if (className != null) {
                builder.append(ClassUtils.getShortName(className)).append(value.substring(i));
                break;
            }
        }
        if (builder.length() == 0) {
            builder.append(value);
        }
    } else {
        builder.append(value);
    }
}