本文整理汇总了Java中org.jetbrains.yaml.YAMLTokenTypes.SCALAR_KEY属性的典型用法代码示例。如果您正苦于以下问题:Java YAMLTokenTypes.SCALAR_KEY属性的具体用法?Java YAMLTokenTypes.SCALAR_KEY怎么用?Java YAMLTokenTypes.SCALAR_KEY使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.jetbrains.yaml.YAMLTokenTypes
的用法示例。
在下文中一共展示了YAMLTokenTypes.SCALAR_KEY属性的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: attachRouteActions
/**
* Find controller definition in yaml structor
*
* foo:
* defaults: { _controller: "Bundle:Foo:Bar" }
* controller: "Bundle:Foo:Bar"
*/
private void attachRouteActions(@NotNull Collection<LineMarkerInfo> lineMarkerInfos, @NotNull PsiElement psiElement) {
if(psiElement.getNode().getElementType() != YAMLTokenTypes.SCALAR_KEY) {
return;
}
PsiElement yamlKeyValue = psiElement.getParent();
if(!(yamlKeyValue instanceof YAMLKeyValue)) {
return;
}
String yamlController = RouteHelper.getYamlController((YAMLKeyValue) yamlKeyValue);
if(yamlController != null) {
PsiElement[] methods = RouteHelper.getMethodsOnControllerShortcut(psiElement.getProject(), yamlController);
if(methods.length > 0) {
NavigationGutterIconBuilder<PsiElement> builder = NavigationGutterIconBuilder.create(Symfony2Icons.TWIG_CONTROLLER_LINE_MARKER).
setTargets(methods).
setTooltipText("Navigate to action");
lineMarkerInfos.add(builder.createLineMarkerInfo(psiElement));
}
}
}
示例2: collectSlowLineMarkers
@Override
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> result) {
if(psiElements.size() == 0 || !Symfony2ProjectComponent.isEnabled(psiElements.get(0))) {
return;
}
LazyConfigTreeSignatures function = null;
for (PsiElement psiElement : psiElements) {
if(psiElement.getNode().getElementType() == YAMLTokenTypes.SCALAR_KEY && YamlElementPatternHelper.getRootConfigKeyPattern().accepts(psiElement)) {
if(function == null) {
function = new LazyConfigTreeSignatures(psiElements.get(0).getProject());
}
visitRootElements(result, psiElement, function);
}
}
}
示例3: collectSlowLineMarkers
@Override
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> result) {
if(psiElements.size() == 0 || !Symfony2ProjectComponent.isEnabled(psiElements.get(0))) {
return;
}
LazyDecoratedParentServiceValues lazyDecoratedServices = null;
for (PsiElement psiElement : psiElements) {
if(psiElement.getNode().getElementType() != YAMLTokenTypes.SCALAR_KEY) {
continue;
}
PsiElement yamlKeyValue = psiElement.getParent();
if(!(yamlKeyValue instanceof YAMLKeyValue) || !YamlElementPatternHelper.getServiceIdKeyValuePattern().accepts(yamlKeyValue)) {
continue;
}
if(lazyDecoratedServices == null) {
lazyDecoratedServices = new LazyDecoratedParentServiceValues(psiElement.getProject());
}
// services -> service_name
visitServiceId(psiElement, (YAMLKeyValue) yamlKeyValue, result, lazyDecoratedServices);
}
}
示例4: attachEntityClass
private void attachEntityClass(@NotNull Collection<LineMarkerInfo> lineMarkerInfos, @NotNull PsiElement psiElement) {
if(psiElement.getNode().getElementType() != YAMLTokenTypes.SCALAR_KEY) {
return;
}
PsiElement yamlKeyValue = psiElement.getParent();
if(!(yamlKeyValue instanceof YAMLKeyValue)) {
return;
}
if(yamlKeyValue.getParent() instanceof YAMLMapping && yamlKeyValue.getParent().getParent() instanceof YAMLDocument) {
PsiFile containingFile;
try {
containingFile = yamlKeyValue.getContainingFile();
} catch (PsiInvalidElementAccessException e) {
return;
}
String fileName = containingFile.getName();
if(isMetadataFile(fileName)) {
String keyText = ((YAMLKeyValue) yamlKeyValue).getKeyText();
if(StringUtils.isNotBlank(keyText)) {
Collection<PhpClass> phpClasses = PhpElementsUtil.getClassesInterface(psiElement.getProject(), keyText);
if(phpClasses.size() > 0) {
NavigationGutterIconBuilder<PsiElement> builder = NavigationGutterIconBuilder.create(Symfony2Icons.DOCTRINE_LINE_MARKER).
setTargets(phpClasses).
setTooltipText("Navigate to class");
lineMarkerInfos.add(builder.createLineMarkerInfo(psiElement));
}
}
}
}
}
示例5: attachRelationClass
/**
* Set linemarker for targetEntity in possible yaml entity files
*
* foo:
* targetEntity: Class
*/
private void attachRelationClass(@NotNull Collection<LineMarkerInfo> lineMarkerInfos, @NotNull PsiElement psiElement) {
if(psiElement.getNode().getElementType() != YAMLTokenTypes.SCALAR_KEY) {
return;
}
PsiElement yamlKeyValue = psiElement.getParent();
if(!(yamlKeyValue instanceof YAMLKeyValue)) {
return;
}
String keyText = ((YAMLKeyValue) yamlKeyValue).getKeyText();
if(!(keyText.equalsIgnoreCase("targetEntity") || keyText.equalsIgnoreCase("targetDocument"))) {
return;
}
String valueText = ((YAMLKeyValue) yamlKeyValue).getValueText();
if(StringUtils.isBlank(valueText)) {
return;
}
Collection<PhpClass> classesInterface = DoctrineMetadataUtil.getClassInsideScope(yamlKeyValue, valueText);
if(classesInterface.size() == 0) {
return;
}
// get relation key
PsiElement parent = yamlKeyValue.getParent();
if(parent != null) {
PsiElement yamlKeyValueTarget = parent.getParent();
if(yamlKeyValueTarget instanceof YAMLKeyValue) {
NavigationGutterIconBuilder<PsiElement> builder = NavigationGutterIconBuilder.create(Symfony2Icons.DOCTRINE_LINE_MARKER).
setTargets(classesInterface).
setTooltipText("Navigate to file");
PsiElement key = ((YAMLKeyValue) yamlKeyValueTarget).getKey();
if(key != null) {
lineMarkerInfos.add(builder.createLineMarkerInfo(key));
}
}
}
}