@Override public DiagnosticPos getPosition(BLangPackage bLangPackage) { final DiagnosticPos[] pos = {new DiagnosticPos(null, 0, 0, 0, 0)}; //after imports bLangPackage.getImports().forEach(imp -> pos[0] = getMaximumPosition(imp.getPosition(), pos[0])); bLangPackage.getGlobalVariables().forEach(var -> pos[0] = getMaximumPosition(var.getPosition(), pos[0])); return zeroColumnPosition(pos[0]); } },
@Override public void visit(BLangSimpleVariable varNode) { CursorPositionResolver cpr = CursorPositionResolvers.getResolverByClass(cursorPositionResolver); if (cpr.isCursorBeforeNode(varNode.getPosition(), this, this.lsContext, varNode, varNode.symbol) || varNode.expr == null) { return; } // This is an endpoint definition this.acceptNode(varNode.expr, symbolEnv); }
DiagnosticPos position = varNode.getPosition(); Set<Whitespace> wsSet = varNode.getWS(); if (wsSet != null && wsSet.size() > 0) {
lastFieldOffset = position.getStartColumn() - 1 + 4; } else { DiagnosticPos zeroBasedIndex = CommonUtil.toZeroBasedPosition(CommonUtil.getLastItem(fields).getPosition()); lastFieldLine = zeroBasedIndex.getEndLine(); lastFieldOffset = zeroBasedIndex.getStartColumn();
@Override public void visit(BLangSimpleVariable varNode) { setPreviousNode(varNode); if (varNode.symbol != null) { CommonUtil.calculateEndColumnOfGivenName(varNode.getPosition(), varNode.symbol.name.getValue(), ""); DiagnosticPos identifierPos = HoverUtil.getIdentifierPosition(varNode); if (HoverUtil.isMatchingPosition(identifierPos, this.position)) { addPosition(varNode, this.previousNode, varNode.symbol.name.getValue(), varNode.symbol.pkgID, ContextConstants.VARIABLE, ContextConstants.VARIABLE, varNode.symbol.name.getValue(), varNode.symbol.owner); setTerminateVisitor(true); } } if (varNode.expr != null) { this.acceptNode(varNode.expr); } if (varNode.getTypeNode() != null) { this.acceptNode(varNode.getTypeNode()); } }