• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SignatureInformation类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.eclipse.lsp4j.SignatureInformation的典型用法代码示例。如果您正苦于以下问题:Java SignatureInformation类的具体用法?Java SignatureInformation怎么用?Java SignatureInformation使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SignatureInformation类属于org.eclipse.lsp4j包,在下文中一共展示了SignatureInformation类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: constructorHelp

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
private SignatureHelp constructorHelp(NewClassTree leaf) {
    Trees trees = Trees.instance(task);
    TreePath identifierPath =
            TreePath.getPath(cursor.getCompilationUnit(), leaf.getIdentifier());
    Element classElement = trees.getElement(identifierPath);
    List<ExecutableElement> candidates =
            classElement
                    .getEnclosedElements()
                    .stream()
                    .filter(member -> member.getKind() == ElementKind.CONSTRUCTOR)
                    .map(method -> (ExecutableElement) method)
                    .collect(Collectors.toList());
    List<SignatureInformation> signatures =
            candidates
                    .stream()
                    .map(member -> constructorInfo(member))
                    .collect(Collectors.toList());
    int activeSignature = candidates.indexOf(classElement);

    return new SignatureHelp(
            signatures,
            activeSignature < 0 ? null : activeSignature,
            activeParameter(leaf.getArguments()));
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:25,代码来源:Signatures.java


示例2: methodHelp

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
private SignatureHelp methodHelp(MethodInvocationTree leaf) {
    Trees trees = Trees.instance(task);
    TreePath methodPath = TreePath.getPath(cursor.getCompilationUnit(), leaf.getMethodSelect());
    Element methodElement = trees.getElement(methodPath);
    Name name = methodElement.getSimpleName();
    List<ExecutableElement> candidates =
            methodElement
                    .getEnclosingElement()
                    .getEnclosedElements()
                    .stream()
                    .filter(
                            member ->
                                    member.getKind() == ElementKind.METHOD
                                            && member.getSimpleName().equals(name))
                    .map(method -> (ExecutableElement) method)
                    .collect(Collectors.toList());
    List<SignatureInformation> signatures =
            candidates.stream().map(member -> methodInfo(member)).collect(Collectors.toList());
    int activeSignature = candidates.indexOf(methodElement);

    return new SignatureHelp(
            signatures,
            activeSignature < 0 ? null : activeSignature,
            activeParameter(leaf.getArguments()));
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:26,代码来源:Signatures.java


示例3: getSignatureHelp

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
public SignatureHelp getSignatureHelp(IProgressMonitor monitor) {
	SignatureHelp signatureHelp = new SignatureHelp();
	response.setProposals(proposals);
	CompletionResponses.store(response);

	List<SignatureInformation> infos = new ArrayList<>();
	for (int i = 0; i < proposals.size(); i++) {
		if (!monitor.isCanceled()) {
			infos.add(this.toSignatureInformation(proposals.get(i)));
		} else {
			return signatureHelp;
		}
	}
	infos.sort((SignatureInformation a, SignatureInformation b) -> a.getParameters().size() - b.getParameters().size());
	signatureHelp.getSignatures().addAll(infos);

	return signatureHelp;
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:19,代码来源:SignatureHelpRequestor.java


示例4: constructorInfo

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
private SignatureInformation constructorInfo(ExecutableElement method) {
    Optional<ConstructorDoc> doc = docs.constructorDoc(docs.methodKey(method));
    Optional<String> docText =
            doc.flatMap(constructor -> Optional.ofNullable(constructor.commentText()))
                    .map(Javadocs::htmlToMarkdown)
                    .map(Javadocs::firstSentence);

    return new SignatureInformation(
            Hovers.methodSignature(method, false, true),
            docText.orElse(null),
            paramInfo(method));
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:13,代码来源:Signatures.java


示例5: methodInfo

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
private SignatureInformation methodInfo(ExecutableElement method) {
    Optional<MethodDoc> doc = docs.methodDoc(docs.methodKey(method));
    Optional<String> docText =
            doc.flatMap(Javadocs::commentText)
                    .map(Javadocs::htmlToMarkdown)
                    .map(Javadocs::firstSentence);

    return new SignatureInformation(
            Hovers.methodSignature(method, true, true),
            docText.orElse(null),
            paramInfo(method));
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:13,代码来源:Signatures.java


示例6: toSignatureInformation

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
public SignatureInformation toSignatureInformation(CompletionProposal methodProposal) {
	SignatureInformation $ = new SignatureInformation();
	StringBuilder desription = descriptionProvider.createMethodProposalDescription(methodProposal);
	$.setLabel(desription.toString());
	$.setDocumentation(this.computeJavaDoc(methodProposal));

	char[] signature = SignatureUtil.fix83600(methodProposal.getSignature());
	char[][] parameterNames = methodProposal.findParameterNames(null);
	char[][] parameterTypes = Signature.getParameterTypes(signature);

	for (int i = 0; i < parameterTypes.length; i++) {
		parameterTypes[i] = Signature.getSimpleName(Signature.toCharArray(SignatureUtil.getLowerBound(parameterTypes[i])));
	}

	if (Flags.isVarargs(methodProposal.getFlags())) {
		int index = parameterTypes.length - 1;
		parameterTypes[index] = convertToVararg(parameterTypes[index]);
	}

	List<ParameterInformation> parameterInfos = new LinkedList<>();
	for (int i = 0; i < parameterTypes.length; i++) {
		StringBuilder builder = new StringBuilder();
		builder.append(parameterTypes[i]);
		builder.append(' ');
		builder.append(parameterNames[i]);

		parameterInfos.add(new ParameterInformation(builder.toString(), null));
	}

	$.setParameters(parameterInfos);

	return $;
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:34,代码来源:SignatureHelpRequestor.java


示例7: signatureHelp

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
public SignatureHelp signatureHelp(TextDocumentPositionParams position, IProgressMonitor monitor) {

		SignatureHelp help = new SignatureHelp();

		if (!preferenceManager.getPreferences(null).isSignatureHelpEnabled()) {
			return help;
		}

		try {
			ICompilationUnit unit = JDTUtils.resolveCompilationUnit(position.getTextDocument().getUri());
			final int offset = JsonRpcHelpers.toOffset(unit.getBuffer(), position.getPosition().getLine(), position.getPosition().getCharacter());
			int[] contextInfomation = getContextInfomation(unit.getBuffer(), offset);
			if (contextInfomation[0] == -1) {
				return help;
			}
			SignatureHelpRequestor collector = new SignatureHelpRequestor(unit, contextInfomation[0] + 1);

			if (offset > -1 && !monitor.isCanceled()) {
				unit.codeComplete(contextInfomation[0] + 1, collector, monitor);
				help = collector.getSignatureHelp(monitor);

				if (help != null) {
					int currentParameter = contextInfomation[1];
					List<SignatureInformation> infos = help.getSignatures();
					for (int i = 0; i < infos.size(); i++) {
						if (infos.get(i).getParameters().size() >= currentParameter + 1) {
							help.setActiveSignature(i);
							help.setActiveParameter(currentParameter);
							break;
						}
					}
				}
			}
		} catch (CoreException ex) {
			JavaLanguageServerPlugin.logException("Find signatureHelp failure ", ex);
		}
		return help;
	}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:39,代码来源:SignatureHelpHandler.java


示例8: _toExpectation

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
protected String _toExpectation(final SignatureHelp it) {
  String _xblockexpression = null;
  {
    int _size = it.getSignatures().size();
    boolean _tripleEquals = (_size == 0);
    if (_tripleEquals) {
      StringConcatenation _builder = new StringConcatenation();
      _builder.append("Signature index is expected to be null when no signatures are available. Was: ");
      Integer _activeSignature = it.getActiveSignature();
      _builder.append(_activeSignature);
      _builder.append(".");
      Assert.assertNull(_builder.toString(), 
        it.getActiveSignature());
      return "<empty>";
    }
    Assert.assertNotNull("Active signature index must not be null when signatures are available.", it.getActiveSignature());
    String _xifexpression = null;
    Integer _activeParameter = it.getActiveParameter();
    boolean _tripleEquals_1 = (_activeParameter == null);
    if (_tripleEquals_1) {
      _xifexpression = "<empty>";
    } else {
      _xifexpression = it.getSignatures().get((it.getActiveSignature()).intValue()).getParameters().get(
        (it.getActiveParameter()).intValue()).getLabel();
    }
    final String param = _xifexpression;
    StringConcatenation _builder_1 = new StringConcatenation();
    final Function1<SignatureInformation, String> _function = (SignatureInformation it_1) -> {
      return it_1.getLabel();
    };
    String _join = IterableExtensions.join(ListExtensions.<SignatureInformation, String>map(it.getSignatures(), _function), " | ");
    _builder_1.append(_join);
    _builder_1.append(" | ");
    _builder_1.append(param);
    _xblockexpression = _builder_1.toString();
  }
  return _xblockexpression;
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:39,代码来源:AbstractLanguageServerTest.java


示例9: SignatureHelpImpl

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
public SignatureHelpImpl(org.eclipse.lsp4j.SignatureHelp dto) {
  activeParameter = Optional.fromNullable(dto.getActiveParameter());
  activeSignature = Optional.fromNullable(dto.getActiveSignature());
  signatureInfos = new ArrayList<>(dto.getSignatures().size());
  for (SignatureInformation SignatureInformation : dto.getSignatures()) {
    signatureInfos.add(new SignatureInfoImpl(SignatureInformation));
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:9,代码来源:SignatureHelpImpl.java


示例10: SignatureHelp

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
public SignatureHelp() {
  ArrayList<SignatureInformation> _arrayList = new ArrayList<SignatureInformation>();
  this.signatures = _arrayList;
}
 
开发者ID:smarr,项目名称:SOMns-vscode,代码行数:5,代码来源:SignatureHelp.java


示例11: getSignatures

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
/**
 * One or more signatures.
 */
@Pure
@NonNull
public List<SignatureInformation> getSignatures() {
  return this.signatures;
}
 
开发者ID:smarr,项目名称:SOMns-vscode,代码行数:9,代码来源:SignatureHelp.java


示例12: setSignatures

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
/**
 * One or more signatures.
 */
public void setSignatures(@NonNull final List<SignatureInformation> signatures) {
  this.signatures = signatures;
}
 
开发者ID:smarr,项目名称:SOMns-vscode,代码行数:7,代码来源:SignatureHelp.java


示例13: SignatureInfoImpl

import org.eclipse.lsp4j.SignatureInformation; //导入依赖的package包/类
public SignatureInfoImpl(SignatureInformation dto) {
  this.dto = dto;
}
 
开发者ID:eclipse,项目名称:che,代码行数:4,代码来源:SignatureInfoImpl.java



注:本文中的org.eclipse.lsp4j.SignatureInformation类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SignedPreKeyRecord类代码示例发布时间:2022-05-23
下一篇:
Java UntrustedIdentityException类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap