ASTNode clone0(AST target) { MemberValuePair result = new MemberValuePair(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) ASTNode.copySubtree(target, getName())); result.setValue((Expression) ASTNode.copySubtree(target, getValue())); return result; }
void accept0(ASTVisitor visitor) { boolean visitChildren = visitor.visit(this); if (visitChildren) { // visit children in normal left to right reading order acceptChild(visitor, getName()); acceptChild(visitor, getValue()); } visitor.endVisit(this); }
MemberValuePair mV = astRoot.getAST().newMemberValuePair(); mV.setName(astRoot.getAST().newSimpleName("name")); TypeLiteral typeLiteral = astRoot.getAST().newTypeLiteral(); typeLiteral.setType(astRoot.getAST().newSimpleType(astRoot.getAST().newSimpleName("Blup"))); mV.setValue(typeLiteral); newNormalAnnotation.values().add(mV);
final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { if (property == NAME_PROPERTY) { if (get) { return getName(); } else { setName((SimpleName) child); return null; } } if (property == VALUE_PROPERTY) { if (get) { return getValue(); } else { setValue((Expression) child); return null; } } // allow default implementation to flag the error return super.internalGetSetChildProperty(property, get, child); }
public MemberValuePair convert(org.eclipse.jdt.internal.compiler.ast.MemberValuePair memberValuePair) { final MemberValuePair pair = new MemberValuePair(this.ast); final SimpleName simpleName = new SimpleName(this.ast); simpleName.internalSetIdentifier(new String(memberValuePair.name)); int start = memberValuePair.sourceStart; int end = memberValuePair.sourceEnd; simpleName.setSourceRange(start, end - start + 1); pair.setName(simpleName); final Expression value = convert(memberValuePair.value); pair.setValue(value); start = memberValuePair.sourceStart; end = value.getStartPosition() + value.getLength() - 1; pair.setSourceRange(start, end - start + 1); if (memberValuePair.value instanceof SingleNameReference && ((SingleNameReference)memberValuePair.value).token == RecoveryScanner.FAKE_IDENTIFIER) { pair.setFlags(pair.getFlags() | ASTNode.RECOVERED); } if (this.resolveBindings) { recordNodes(simpleName, memberValuePair); recordNodes(pair, memberValuePair); } return pair; }
/** * Remove the *first* member value pair from the specified annotation element * with the adapter's element name. */ protected void removeElement(NormalAnnotation annotation) { for (Iterator<MemberValuePair> stream = this.values(annotation).iterator(); stream.hasNext(); ) { MemberValuePair pair = stream.next(); if (pair.getName().getFullyQualifiedName().equals(this.elementName)) { stream.remove(); } } }
public Expression getExpression(ASTNode node) { return ((MemberValuePair) node).getValue(); } public void setExpression(ASTNode node, Expression expression) {
/** * Simply set the pair's value. */ @Override protected void modifyMemberValuePair(MemberValuePair pair, Annotation inner) { pair.setValue(inner); }
public boolean visit(NormalAnnotation node) { this.fBuffer.append("@");//$NON-NLS-1$ node.getTypeName().accept(this); this.fBuffer.append("(");//$NON-NLS-1$ for (Iterator it= node.values().iterator(); it.hasNext();) { MemberValuePair p= (MemberValuePair) it.next(); p.accept(this); if (it.hasNext()) { this.fBuffer.append(",");//$NON-NLS-1$ } } this.fBuffer.append(")");//$NON-NLS-1$ return false; }
/** * Creates and returns a new unparented member value pair node with * an unspecified member name and value. * * @return a new unparented member value pair node * @exception UnsupportedOperationException if this operation is used in * a JLS2 AST * @since 3.1 */ public MemberValuePair newMemberValuePair() { MemberValuePair result = new MemberValuePair(this); return result; }
final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { if (property == NAME_PROPERTY) { if (get) { return getName(); } else { setName((SimpleName) child); return null; } } if (property == VALUE_PROPERTY) { if (get) { return getValue(); } else { setValue((Expression) child); return null; } } // allow default implementation to flag the error return super.internalGetSetChildProperty(property, get, child); }
/** * Build a new member value pair with the specified name and value. */ protected MemberValuePair newMemberValuePair(String name, Expression value) { AST ast = value.getAST(); MemberValuePair pair = ast.newMemberValuePair(); pair.setName(ast.newSimpleName(name)); pair.setValue(value); return pair; }
public MemberValuePair convert(org.eclipse.jdt.internal.compiler.ast.MemberValuePair memberValuePair) { final MemberValuePair pair = new MemberValuePair(this.ast); final SimpleName simpleName = new SimpleName(this.ast); simpleName.internalSetIdentifier(new String(memberValuePair.name)); int start = memberValuePair.sourceStart; int end = memberValuePair.sourceEnd; simpleName.setSourceRange(start, end - start + 1); pair.setName(simpleName); final Expression value = convert(memberValuePair.value); pair.setValue(value); start = memberValuePair.sourceStart; end = value.getStartPosition() + value.getLength() - 1; pair.setSourceRange(start, end - start + 1); if (memberValuePair.value instanceof SingleNameReference && ((SingleNameReference)memberValuePair.value).token == RecoveryScanner.FAKE_IDENTIFIER) { pair.setFlags(pair.getFlags() | ASTNode.RECOVERED); } if (this.resolveBindings) { recordNodes(simpleName, memberValuePair); recordNodes(pair, memberValuePair); } return pair; }
/** * Remove from the specified annotation the element with * the adapter's element name. */ protected void removeElement(NormalAnnotation annotation) { for (Iterator<MemberValuePair> stream = this.values(annotation).iterator(); stream.hasNext(); ) { MemberValuePair pair = stream.next(); if (pair.getName().getFullyQualifiedName().equals(this.elementName)) { stream.remove(); break; } } }