当前位置: 首页>>代码示例>>Java>>正文


Java ParameterizedCachedValueProvider类代码示例

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


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

示例1: ProjectFacetManagerImpl

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
public ProjectFacetManagerImpl(Project project) {
  myProject = project;
  myCachedValueProvider = new ParameterizedCachedValueProvider<Boolean, FacetTypeId<?>>() {
    @Override
    public CachedValueProvider.Result<Boolean> compute(FacetTypeId<?> param) {
      boolean result = false;
      for (Module module : ModuleManager.getInstance(myProject).getModules()) {
        if (!FacetManager.getInstance(module).getFacetsByType(param).isEmpty()) {
          result = true;
          break;
        }
      }
      return CachedValueProvider.Result.create(result, FacetFinder.getInstance(myProject).getAllFacetsOfTypeModificationTracker(param));
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:ProjectFacetManagerImpl.java

示例2: findRootDescriptor

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
private XmlElementDescriptor findRootDescriptor(final XmlTag tag) {
  return CachedValuesManager.getManager(tag.getProject())
      .getParameterizedCachedValue(tag, ROOT_KEY, new ParameterizedCachedValueProvider<XmlElementDescriptor, RngNsDescriptor>() {
        @Override
        public CachedValueProvider.Result<XmlElementDescriptor> compute(RngNsDescriptor o) {
          final XmlElementDescriptor descr = o.findRootDescriptorInner(tag);
          if (descr != null) {
            return CachedValueProvider.Result.create(descr, tag, descr.getDependences(), o.getDependences());
          }
          else {
            return CachedValueProvider.Result.create(null, tag, o.getDependences());
          }
        }
      }, false, this);
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:16,代码来源:RngNsDescriptor.java

示例3: getElementDescriptor

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
@Override
public final XmlElementDescriptor getElementDescriptor(final XmlTag childTag, XmlTag contextTag) {
  final XmlElementDescriptor value = getCachedValue(childTag, this, DESCR_KEY, new ParameterizedCachedValueProvider<XmlElementDescriptor, RngElementDescriptor>() {
    @Override
    public CachedValueProvider.Result<XmlElementDescriptor> compute(RngElementDescriptor p) {
      final XmlElementDescriptor descriptor = p.findElementDescriptor(childTag);
      return CachedValueProvider.Result.create(descriptor, p.getDependences(), childTag);
    }
  });
  return value == NULL ? null : value;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:12,代码来源:RngElementDescriptor.java

示例4: getAttributesDescriptors

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
@Override
public final XmlAttributeDescriptor[] getAttributesDescriptors(@Nullable final XmlTag context) {
  if (context != null) {
    return getCachedValue(context, this, ATTRS_KEY, new ParameterizedCachedValueProvider<XmlAttributeDescriptor[], RngElementDescriptor>() {
      @Override
      public CachedValueProvider.Result<XmlAttributeDescriptor[]> compute(RngElementDescriptor p) {
        final XmlAttributeDescriptor[] value = p.collectAttributeDescriptors(context);
        return CachedValueProvider.Result.create(value, p.getDependences(), context);
      }
    });
  } else {
    return collectAttributeDescriptors(null);
  }
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:15,代码来源:RngElementDescriptor.java

示例5: compute

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
@Override
protected ParameterizedCachedValue<List<JSClass>, Object> compute(final JSClassBase jsClassBase, final Object p)
{
	return CachedValuesManager.getManager(jsClassBase.getProject()).createParameterizedCachedValue(new
																										   ParameterizedCachedValueProvider<List<JSClass>, Object>()
	{
		@Override
		public CachedValueProvider.Result<List<JSClass>> compute(Object list)
		{
			return new CachedValueProvider.Result<List<JSClass>>(doCompute(list), PsiModificationTracker.MODIFICATION_COUNT);
		}
	}, false);
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:14,代码来源:JSClassBase.java

示例6: PsiParameterizedCachedValue

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
public PsiParameterizedCachedValue(@NotNull PsiManager manager, @NotNull ParameterizedCachedValueProvider<T, P> provider) {
  super(manager);
  myProvider = provider;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:PsiParameterizedCachedValue.java

示例7: getValueProvider

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
@Override
public ParameterizedCachedValueProvider<T,P> getValueProvider() {
  return myProvider;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:PsiParameterizedCachedValue.java

示例8: ParameterizedCachedValueImpl

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
public ParameterizedCachedValueImpl(@NotNull ParameterizedCachedValueProvider<T,P> provider) {
  myProvider = provider;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:ParameterizedCachedValueImpl.java

示例9: PsiParameterizedCachedValue

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
public PsiParameterizedCachedValue(@Nonnull PsiManager manager, @Nonnull ParameterizedCachedValueProvider<T, P> provider) {
  super(manager);
  myProvider = provider;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:5,代码来源:PsiParameterizedCachedValue.java

示例10: ParameterizedCachedValueImpl

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
public ParameterizedCachedValueImpl(@Nonnull ParameterizedCachedValueProvider<T,P> provider) {
  myProvider = provider;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:4,代码来源:ParameterizedCachedValueImpl.java

示例11: getCachedValue

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
private static <D extends PsiElement, T, P> T getCachedValue(D context, P p, Key<ParameterizedCachedValue<T, P>> key, ParameterizedCachedValueProvider<T, P> provider) {
  final CachedValuesManager mgr = CachedValuesManager.getManager(context.getProject());
  return mgr.getParameterizedCachedValue(context, key, provider, false, p);
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:5,代码来源:RngElementDescriptor.java

示例12: compute

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
@Override
protected ParameterizedCachedValue<Set<String>, JSElement> compute(JSElement jsElement, Object p)
{
	return CachedValuesManager.getManager(jsElement.getProject()).createParameterizedCachedValue(new ParameterizedCachedValueProvider<Set<String>, JSElement>()
	{
		@Override
		public CachedValueProvider.Result<Set<String>> compute(JSElement context)
		{
			class MyProcessor extends ResolveProcessor implements Processor<PsiNamedElement>
			{
				Set<String> openedNses;

				public MyProcessor()
				{
					super(null);
					putUserData(ResolveProcessor.LOOKING_FOR_USE_NAMESPACES, true);
				}

				@Override
				public boolean process(PsiNamedElement psiNamedElement)
				{
					if(psiNamedElement instanceof JSElement)
					{
						processDeclarationsInScope((JSElement) psiNamedElement, this, ResolveState.initial(), psiNamedElement, psiNamedElement);
					}
					else
					{
						// TODO: XmlFile ?
					}
					return true;
				}

				@Override
				public boolean execute(PsiElement element, ResolveState state)
				{
					if(!(element instanceof JSUseNamespaceDirective))
					{
						return true;
					}
					if(openedNses == null)
					{
						openedNses = new THashSet<String>();
					}
					openedNses.add(((JSUseNamespaceDirective) element).getNamespaceToBeUsed());
					return true;
				}
			}
			MyProcessor processor = new MyProcessor();
			walkOverStructure(context, processor);
			return new CachedValueProvider.Result<Set<String>>(processor.openedNses, PsiModificationTracker.EVER_CHANGED);
		}
	}, false);
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:54,代码来源:JSResolveUtil.java

示例13: createParameterizedCachedValue

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
<T,P> ParameterizedCachedValue<T,P> createParameterizedCachedValue(@NotNull ParameterizedCachedValueProvider<T,P> provider, boolean trackValue); 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:2,代码来源:CachedValuesFactory.java

示例14: createParameterizedCachedValue

import com.intellij.psi.util.ParameterizedCachedValueProvider; //导入依赖的package包/类
<T,P> ParameterizedCachedValue<T,P> createParameterizedCachedValue(@Nonnull ParameterizedCachedValueProvider<T,P> provider, boolean trackValue); 
开发者ID:consulo,项目名称:consulo,代码行数:2,代码来源:CachedValuesFactory.java


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