private boolean isNullEdit(INode oldRootNode, ReplaceRegion replaceRegion) { if (replaceRegion.getLength() == replaceRegion.getText().length()) { String replacedText = oldRootNode.getText().substring(replaceRegion.getOffset(), replaceRegion.getEndOffset()); if (replaceRegion.getText().equals(replacedText)) { return true; } } return false; }
protected void removeNullEdits(XtextResource resource, List<ReplaceRegion> changes) { Iterator<ReplaceRegion> iterator = changes.iterator(); String document = resource.getParseResult().getRootNode().getText(); while(iterator.hasNext()) { ReplaceRegion region = iterator.next(); if (region.getText().equals(document.substring(region.getOffset(), region.getEndOffset()))) { iterator.remove(); } } }
public ReplaceRegion getTokenReplaceRegion(String changedText, ReplaceRegion replaceRegion) { int lengthDelta = replaceRegion.getText().length() - replaceRegion.getLength(); ITextRegion tokenRegion = getTokenRegion(changedText, new TextRegion(replaceRegion.getOffset(), replaceRegion .getText().length())); if (tokenRegion.getOffset() == replaceRegion.getOffset() && tokenRegion.getLength() == replaceRegion.getText().length()) return replaceRegion; else return new ReplaceRegion(tokenRegion.getOffset(), tokenRegion.getLength() - lengthDelta, changedText.substring(tokenRegion.getOffset(), tokenRegion.getOffset() + tokenRegion.getLength())); }
protected List<TextEdit> getObjectEdits() { final Collection<EObject> modifiedObjects = getModifiedObjects(); Collection<EObject> topLevelObjects = EcoreUtil.filterDescendants(modifiedObjects); Iterable<EObject> containedModifiedObjects = Iterables.filter(topLevelObjects, new Predicate<EObject>() { public boolean apply(EObject input) { return input.eResource() == resource; } }); List<TextEdit> edits = Lists.newArrayListWithExpectedSize(Iterables.size(containedModifiedObjects)); for (EObject modifiedObject : containedModifiedObjects) { ReplaceRegion replaceRegion = serializer.serializeReplacement(modifiedObject, getSaveOptions()); TextEdit edit = new ReplaceEdit(replaceRegion.getOffset(), replaceRegion.getLength(), replaceRegion.getText()); edits.add(edit); } return edits; }
return fullyReparse(parser, previousParseResult, changedRegion); if (changedRegion.getOffset() >= oldRootNode.getTotalLength() && changedRegion.getText().trim().length() == 0) { return fullyReparse(parser, previousParseResult, changedRegion);
int expectedLength = originalLength - changedRegion.getLength() + changedRegion.getText().length(); if (!isSameTokenSequence(originalText.substring(0, originalLength), newText, expectedLength)) {
@Check public void checkJavaDocRefs(XtendMember member){ if(isIgnored(IssueCodes.JAVA_DOC_LINKING_DIAGNOSTIC)) return; List<INode> documentationNodes = ((IEObjectDocumentationProviderExtension) documentationProvider).getDocumentationNodes(member); for(INode node : documentationNodes){ for(ReplaceRegion region : javaDocTypeReferenceProvider.computeTypeRefRegions(node)){ String typeRefString = region.getText(); if(typeRefString != null && typeRefString.length() > 0){ IScope scope = scopeProvider.getScope(member, TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__TYPE); IEObjectDescription candidate = scope.getSingleElement(qualifiedNameConverter.toQualifiedName(typeRefString)); if(candidate == null){ Severity severity = getIssueSeverities(getContext(), getCurrentObject()).getSeverity(IssueCodes.JAVA_DOC_LINKING_DIAGNOSTIC); if (severity != null) getChain().add(createDiagnostic(severity, "javaDoc: " + typeRefString + " cannot be resolved to a type", member, region.getOffset(), region.getLength(), IssueCodes.JAVA_DOC_LINKING_DIAGNOSTIC)); } } } } }
boolean _contains = selectedRegion.contains(referenceRange); if (_contains) { String docTypeText = docTypeReference.getText(); final EObject element = NodeModelUtils.findActualSemanticObjectFor(documentationNode); IScope scope = this.scopeProvider.getScope(element,
String _text = region.getText(); _xblockexpression = new TextEdit(_range, _text);
for (final ReplaceRegion region : _computeTypeRefRegions) { final String text = region.getText(); if (((text != null) && (text.length() > 0))) { final QualifiedName fqn = this.qualifiedNameConverter.toQualifiedName(text);
protected void addJavaDocReferences(EObject element) { if(element != null && documentationProvider != null && currentThisType != null) { for(INode documentationNode: documentationProvider.getDocumentationNodes(element)) { for(ReplaceRegion docTypeReference: javaDocTypeReferenceProvider.computeTypeRefRegions(documentationNode)) { String docTypeText = docTypeReference.getText(); IScope scope = scopeProvider.getScope(element, TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__TYPE); IEObjectDescription singleElement = scope.getSingleElement(QualifiedName.create(docTypeText)); ITextRegion textRegion = new TextRegion(docTypeReference.getOffset(), docTypeReference.getLength()); JvmType jvmType = null; if (singleElement != null) { jvmType = (JvmType) singleElement.getEObjectOrProxy(); } if(jvmType instanceof JvmDeclaredType && !jvmType.eIsProxy()) { PreferredType preferredType = findPreferredType((JvmDeclaredType) jvmType, docTypeText); if (preferredType.referencedType != null) { acceptType(preferredType.referencedType, preferredType.usedType, textRegion); } else { typeUsages.addUnresolved(docTypeText, "", textRegion, currentThisType); } } else { typeUsages.addUnresolved(docTypeText, "", textRegion, currentThisType); } } } } }