public EObject getContext() { return triple.getFirst(); }
@Override protected String identifier(Object object) { if (object instanceof Triple<?, ?, ?>) return (String) ((Triple<?, ?, ?>) object).getFirst(); return object.toString(); }
private boolean isPackageKnown(String nsURI) { for (Triple<String, String, String> key : infoMap.keySet()) { if (key.getFirst().equals(nsURI)) return true; } for(EClassifierInfos parent: parents) { if (parent.isPackageKnown(nsURI)) return true; } return false; }
public Triple<INode, AbstractElement, EObject> next() { Triple<INode, AbstractElement, EObject> oldNext = next; if (next != null) next = findNext(next.getFirst(), true); return oldNext; }
@Override public String toString() { return "Triple("+getFirst()+","+getSecond()+","+getThird()+")"; }
@Override public String toString() { return "Triple("+getFirst()+","+getSecond()+","+getThird()+")"; }
protected void refreshAttributes() { Collections.sort(highlightings, this); for (Triple<String, String, TextStyle> highlighting : highlightings) { preferenceStoreAccessor.populateTextStyle(highlighting.getFirst(), new TextStyle(), highlighting.getThird()); } }
@Override protected EObject handleCyclicResolution(Triple<EObject, EReference, INode> triple) throws AssertionError { if (!isValidationDisabled()) { EObject context = triple.getFirst(); if (context.eClass() == TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE) { // here we may end up with cyclic resolution requests in rare situations, e.g. for input types // like : /* * package p; * class C extends p.C.Bogus {} */ return null; } DiagnosticMessage message = new DiagnosticMessage("Cyclic linking detected : " + getReferences(triple, resolving), Severity.ERROR, "cyclic-resolution"); List<Diagnostic> list = getDiagnosticList(message); Diagnostic diagnostic = createDiagnostic(triple, message); if (!list.contains(diagnostic)) list.add(diagnostic); } return null; }
URI uri = result.getFirst(); Resource resource = result.getSecond(); Throwable throwable = result.getThird();
public SemanticNodeIterator(EObject obj) { INode start = NodeModelUtils.findActualNodeFor(obj); if (start != null) { this.next = findNext(start, false); while (this.next != null && this.next.getThird() == obj) this.next = findNext(this.next.getFirst(), false); } else this.next = null; }
public void createSequence(EObject context, EObject semanticObject) { SemanticNodeIterator ni = new SemanticNodeIterator(semanticObject); while (ni.hasNext()) { Triple<INode, AbstractElement, EObject> node = ni.next(); if (node.getSecond() instanceof RuleCall) { RuleCall rc = (RuleCall) node.getSecond(); if (rc.getRule().getType().getClassifier() instanceof EClass) acceptSemantic(semanticObject, rc, node.getThird(), node.getFirst()); else if (GrammarUtil.containingCrossReference(node.getSecond()) != null) { EStructuralFeature feature = FeatureFinderUtil .getFeature(node.getSecond(), semanticObject.eClass()); acceptSemantic(semanticObject, rc, semanticObject.eGet(feature), node.getFirst()); } else { String strVal = NodeModelUtils.getTokenText(node.getFirst()); Object val = valueConverter.toValue(strVal, rc.getRule().getName(), node.getFirst()); acceptSemantic(semanticObject, rc, val, node.getFirst()); } } else if (node.getSecond() instanceof Keyword) acceptSemantic(semanticObject, node.getSecond(), node.getFirst().getText(), node.getFirst()); else if (node.getSecond() instanceof Action) { acceptSemantic(semanticObject, node.getSecond(), semanticObject, node.getFirst()); } } }
EReference reference = triple.getSecond(); List<EObject> linkedObjects = getLinkingService().getLinkedObjects( triple.getFirst(), reference, triple.getThird());
final ManifestAccess manifest = entry.getFirst(); final IXtextGeneratorFileSystemAccess metaInf = entry.getSecond(); if (((manifest == null) || (metaInf == null))) { final ManifestAccess manifest = entry.getFirst(); final IXtextGeneratorFileSystemAccess metaInf = entry.getSecond(); String _bundleName = manifest.getBundleName();
if (compilerPhases.isIndexing(this)) log.error("Don't resolve expressions during indexing!", new IllegalStateException("Resource URI : "+getURI()+", fragment : "+uriFragment)); return batchLinkingService.resolveBatched(triple.getFirst(), triple.getSecond(), uriFragment);
if (_isCrossLinkFragment) { final Triple<EObject, EReference, INode> triple = this.encoder.decode(it.eResource(), uri.fragment()); final List<EObject> candidates = this.linkingService.getLinkedObjects(triple.getFirst(), triple.getSecond(), triple.getThird()); boolean _isEmpty = candidates.isEmpty(); boolean _not = (!_isEmpty);