List of usage examples for org.eclipse.jdt.core IMemberValuePair K_SIMPLE_NAME
int K_SIMPLE_NAME
To view the source code for org.eclipse.jdt.core IMemberValuePair K_SIMPLE_NAME.
Click Source Link
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); } }