@Override public PsiElement resolve() { PsiElement _xblockexpression = null; { ProgressIndicatorProvider.checkCanceled(); ICrossReferenceDescription crossReferenceDescription = this.getCrossReferenceDescription(); boolean _equals = Objects.equal(crossReferenceDescription, null); if (_equals) { return null; } EObject object = crossReferenceDescription.resolve(); ProgressIndicatorProvider.checkCanceled(); _xblockexpression = this.psiModelAssociations.getPsiElement(object); } return _xblockexpression; }
@Override public Object[] getVariants() { ArrayList<LookupElementBuilder> _xblockexpression = null; { ProgressIndicatorProvider.checkCanceled(); ICrossReferenceDescription crossReferenceDescription = this.getCrossReferenceDescription(); boolean _equals = Objects.equal(crossReferenceDescription, null); if (_equals) { return ((Object[]) Conversions.unwrapArray(CollectionLiterals.<Object>emptyList(), Object.class)); } ArrayList<LookupElementBuilder> variants = CollectionLiterals.<LookupElementBuilder>newArrayList(); Iterable<IEObjectDescription> _variants = crossReferenceDescription.getVariants(); for (final IEObjectDescription objectDescription : _variants) { { ProgressIndicatorProvider.checkCanceled(); QualifiedName _name = objectDescription.getName(); String name = this.qualifiedNameConverter.toString(_name); BaseXtextFile _xtextFile = this.myElement.getXtextFile(); XtextResource _resource = _xtextFile.getResource(); PsiElement element = this.psiModelAssociations.getPsiElement(objectDescription, _resource); boolean _notEquals = (!Objects.equal(element, null)); if (_notEquals) { LookupElementBuilder _create = LookupElementBuilder.create(name); PsiElement _navigationElement = element.getNavigationElement(); PsiFile _containingFile = _navigationElement.getContainingFile(); String _name_1 = _containingFile.getName(); LookupElementBuilder _withTypeText = _create.withTypeText(_name_1); variants.add(_withTypeText); } } } _xblockexpression = variants; } return ((Object[]) Conversions.unwrapArray(_xblockexpression, Object.class)); }
@Override public TextRange getRangeToHighlightInElement() { final ArrayList<?> _cacheKey = CollectionLiterals.newArrayList(); final TextRange _result; synchronized (_createCache_getRangeToHighlightInElement) { if (_createCache_getRangeToHighlightInElement.containsKey(_cacheKey)) { return _createCache_getRangeToHighlightInElement.get(_cacheKey); } TextRange _xblockexpression = null; { ICrossReferenceDescription _crossReferenceDescription = this.getCrossReferenceDescription(); final ITextRegion textRegion = _crossReferenceDescription.getTextRegion(); int _offset = textRegion.getOffset(); TextRange _textRange = this.myElement.getTextRange(); int _startOffset = _textRange.getStartOffset(); int startOffset = (_offset - _startOffset); TextRange _xifexpression = null; if ((startOffset < 0)) { _xifexpression = this.getRangeInElement(); } else { TextRange _xblockexpression_1 = null; { int _length = textRegion.getLength(); final int endOffset = (startOffset + _length); _xblockexpression_1 = new TextRange(startOffset, endOffset); } _xifexpression = _xblockexpression_1; } _xblockexpression = _xifexpression; } _result = _xblockexpression; _createCache_getRangeToHighlightInElement.put(_cacheKey, _result); } _init_getRangeToHighlightInElement(_result); return _result; }