本文整理汇总了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;未经允许,请勿转载。 |
请发表评论