/** * Gets the sibling where the given {@link Annotation} should be added to the given {@link BodyDeclaration}. The * {@link Annotation} must be added before the returned node. * * @param owner * The owner of the {@link Annotation}. * @param newAnnotation * The new {@link Annotation} that should be added. * @return The */ public static ASTNode getAnnotationSibling(BodyDeclaration owner, Annotation newAnnotation) { Deque<Annotation> annotations = getAnnotations(owner); if (!annotations.isEmpty()) { int newAnnotLen = newAnnotation.toString().length(); Iterator<Annotation> iterator = annotations.descendingIterator(); while (iterator.hasNext()) { Annotation existingAnnotation = iterator.next(); int len = existingAnnotation.getLength(); if (len > 0 && len >= newAnnotLen) { return existingAnnotation; } } } for (Object o : owner.modifiers()) { if (o instanceof Modifier) { return (Modifier) o; } } return null; }
private void rewriteAnnotationsOnDimension(ArrayType oldArrayType, ArrayType replacingType, int index, int pos, boolean typeReplaced, TextEditGroup editGroup) throws CoreException { if (typeReplaced) { List dimensions = oldArrayType.dimensions(); Dimension oldDim = index < dimensions.size() ? (Dimension) dimensions.get(index) : null; if (oldDim != null) { List oldAnnotations = oldDim.annotations(); int size = oldAnnotations.size(); if (size > 0) { ASTNode prev = getPreviousNode(oldDim); Annotation annotation = (Annotation) oldAnnotations.get(0); int start = prev != null ? prev.getStartPosition() + prev.getLength() : annotation.getStartPosition(); annotation = (Annotation) oldAnnotations.get(size - 1); int end = annotation.getStartPosition() + annotation.getLength(); end = getScanner().getTokenEndOffset(TerminalTokens.TokenNameLBRACKET, end) - 1; doTextRemove(start, end - start, editGroup); } } insertAnnotationsOnDimension(replacingType, index, pos, editGroup, true); } else { Dimension dim = (Dimension) replacingType.dimensions().get(index); rewriteNodeList(dim, Dimension.ANNOTATIONS_PROPERTY, pos, String.valueOf(' '), String.valueOf(' '), String.valueOf(' ')); } }
private void rewriteAnnotationsOnDimension(ArrayType oldArrayType, ArrayType replacingType, int index, int pos, boolean typeReplaced, TextEditGroup editGroup) throws CoreException { if (typeReplaced) { List dimensions = oldArrayType.dimensions(); Dimension oldDim = index < dimensions.size() ? (Dimension) dimensions.get(index) : null; if (oldDim != null) { List oldAnnotations = oldDim.annotations(); int size = oldAnnotations.size(); if (size > 0) { ASTNode prev = getPreviousNode(oldDim); Annotation annotation = (Annotation) oldAnnotations.get(0); int start = prev != null ? prev.getStartPosition() + prev.getLength() : annotation.getStartPosition(); annotation = (Annotation) oldAnnotations.get(size - 1); int end = annotation.getStartPosition() + annotation.getLength(); end = getScanner().getTokenEndOffset(TerminalTokens.TokenNameLBRACKET, end) - 1; doTextRemove(start, end - start, editGroup); } } insertAnnotationsOnDimension(replacingType, index, pos, editGroup, true); } else { Dimension dim = (Dimension) replacingType.dimensions().get(index); rewriteNodeList(dim, Dimension.ANNOTATIONS_PROPERTY, pos, String.valueOf(' '), String.valueOf(' '), String.valueOf(' ')); } }
private void rewriteAnnotationsOnDimension(ArrayType oldArrayType, ArrayType replacingType, int index, int pos, boolean typeReplaced, TextEditGroup editGroup) throws CoreException { if (typeReplaced) { List dimensions = oldArrayType.dimensions(); Dimension oldDim = index < dimensions.size() ? (Dimension) dimensions.get(index) : null; if (oldDim != null) { List oldAnnotations = oldDim.annotations(); int size = oldAnnotations.size(); if (size > 0) { ASTNode prev = getPreviousNode(oldDim); Annotation annotation = (Annotation) oldAnnotations.get(0); int start = prev != null ? prev.getStartPosition() + prev.getLength() : annotation.getStartPosition(); annotation = (Annotation) oldAnnotations.get(size - 1); int end = annotation.getStartPosition() + annotation.getLength(); end = getScanner().getTokenEndOffset(TerminalTokens.TokenNameLBRACKET, end) - 1; doTextRemove(start, end - start, editGroup); } } insertAnnotationsOnDimension(replacingType, index, pos, editGroup, true); } else { Dimension dim = (Dimension) replacingType.dimensions().get(index); rewriteNodeList(dim, Dimension.ANNOTATIONS_PROPERTY, pos, String.valueOf(' '), String.valueOf(' '), String.valueOf(' ')); } }
private void rewriteAnnotationsOnDimension(ArrayType oldArrayType, ArrayType replacingType, int index, int pos, boolean typeReplaced, TextEditGroup editGroup) throws CoreException { if (typeReplaced) { List dimensions = oldArrayType.dimensions(); Dimension oldDim = index < dimensions.size() ? (Dimension) dimensions.get(index) : null; if (oldDim != null) { List oldAnnotations = oldDim.annotations(); int size = oldAnnotations.size(); if (size > 0) { ASTNode prev = getPreviousNode(oldDim); Annotation annotation = (Annotation) oldAnnotations.get(0); int start = prev != null ? prev.getStartPosition() + prev.getLength() : annotation.getStartPosition(); annotation = (Annotation) oldAnnotations.get(size - 1); int end = annotation.getStartPosition() + annotation.getLength(); end = getScanner().getTokenEndOffset(TerminalTokens.TokenNameLBRACKET, end) - 1; doTextRemove(start, end - start, editGroup); } } insertAnnotationsOnDimension(replacingType, index, pos, editGroup, true); } else { Dimension dim = (Dimension) replacingType.dimensions().get(index); rewriteNodeList(dim, Dimension.ANNOTATIONS_PROPERTY, pos, String.valueOf(' '), String.valueOf(' '), String.valueOf(' ')); } }
private void rewriteAnnotationsOnDimension(ArrayType oldArrayType, ArrayType replacingType, int index, int pos, boolean typeReplaced, TextEditGroup editGroup) throws CoreException { if (typeReplaced) { List dimensions = oldArrayType.dimensions(); Dimension oldDim = index < dimensions.size() ? (Dimension) dimensions.get(index) : null; if (oldDim != null) { List oldAnnotations = oldDim.annotations(); int size = oldAnnotations.size(); if (size > 0) { ASTNode prev = getPreviousNode(oldDim); Annotation annotation = (Annotation) oldAnnotations.get(0); int start = prev != null ? prev.getStartPosition() + prev.getLength() : annotation.getStartPosition(); annotation = (Annotation) oldAnnotations.get(size - 1); int end = annotation.getStartPosition() + annotation.getLength(); end = getScanner().getTokenEndOffset(TerminalTokens.TokenNameLBRACKET, end) - 1; doTextRemove(start, end - start, editGroup); } } insertAnnotationsOnDimension(replacingType, index, pos, editGroup, true); } else { Dimension dim = (Dimension) replacingType.dimensions().get(index); rewriteNodeList(dim, Dimension.ANNOTATIONS_PROPERTY, pos, String.valueOf(' '), String.valueOf(' '), String.valueOf(' ')); } }
Annotation annotation = convert(typeAnnotation); type.annotations().add(annotation); annotationsEnd = annotation.getStartPosition() + annotation.getLength();
Annotation annotation = convert(typeAnnotation); type.annotations().add(annotation); annotationsEnd = annotation.getStartPosition() + annotation.getLength();
Annotation annotation = convert(typeAnnotation); type.annotations().add(annotation); annotationsEnd = annotation.getStartPosition() + annotation.getLength();
Annotation annotation = convert(typeAnnotation); type.annotations().add(annotation); annotationsEnd = annotation.getStartPosition() + annotation.getLength();
Annotation annotation = convert(typeAnnotation); type.annotations().add(annotation); annotationsEnd = annotation.getStartPosition() + annotation.getLength();
compilationUnit.getLineNumber(node.getStartPosition()), compilationUnit.getColumnNumber(node.getStartPosition()), node.getLength(), node.toString());
if (noOfAnnotations > 0) { Annotation annotation= (Annotation) node.varargsAnnotations().get(noOfAnnotations - 1); int annotationEndPosition= annotation.getStartPosition() + annotation.getLength(); ellipsisEnd= getScanner().getNextEndOffset(annotationEndPosition, true); } else {
if (noOfAnnotations > 0) { Annotation annotation= (Annotation) node.varargsAnnotations().get(noOfAnnotations - 1); int annotationEndPosition= annotation.getStartPosition() + annotation.getLength(); ellipsisEnd= getScanner().getNextEndOffset(annotationEndPosition, true); } else {
if (noOfAnnotations > 0) { Annotation annotation= (Annotation) node.varargsAnnotations().get(noOfAnnotations - 1); int annotationEndPosition= annotation.getStartPosition() + annotation.getLength(); ellipsisEnd= getScanner().getNextEndOffset(annotationEndPosition, true); } else {
if (noOfAnnotations > 0) { Annotation annotation= (Annotation) node.varargsAnnotations().get(noOfAnnotations - 1); int annotationEndPosition= annotation.getStartPosition() + annotation.getLength(); ellipsisEnd= getScanner().getNextEndOffset(annotationEndPosition, true); } else {
if (noOfAnnotations > 0) { Annotation annotation= (Annotation) node.varargsAnnotations().get(noOfAnnotations - 1); int annotationEndPosition= annotation.getStartPosition() + annotation.getLength(); ellipsisEnd= getScanner().getNextEndOffset(annotationEndPosition, true); } else {