本文整理汇总了Java中com.intellij.lang.properties.psi.Property类的典型用法代码示例。如果您正苦于以下问题:Java Property类的具体用法?Java Property怎么用?Java Property使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Property类属于com.intellij.lang.properties.psi包,在下文中一共展示了Property类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isUsed
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
@Override
protected boolean isUsed(Property property) {
PsiFile file = property.getContainingFile();
if (Comparing.equal(file.getName(), FN_GRADLE_WRAPPER_PROPERTIES, SystemInfo.isFileSystemCaseSensitive)) {
// Ignore all properties in the gradle wrapper: read by the gradle wrapper .jar code
return true;
}
// The android gradle plugin reads sdk.dir, ndk.dir and android.dir from local.properties
if (Comparing.equal(file.getName(), FN_LOCAL_PROPERTIES, SystemInfo.isFileSystemCaseSensitive)) {
String name = property.getName();
return SDK_DIR_PROPERTY.equals(name) || "ndk.dir".equals(name) || "android.dir".equals(name);
}
return false;
}
示例2: testLocalProperties
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
public void testLocalProperties() {
VirtualFile vFile = myFixture.copyFileToProject("test.properties", "local.properties");
PsiFile file = PsiManager.getInstance(getProject()).findFile(vFile);
assertNotNull(file);
PropertiesFile propertiesFile = (PropertiesFile)file;
GradleImplicitPropertyUsageProvider provider = new GradleImplicitPropertyUsageProvider();
for (IProperty property : propertiesFile.getProperties()) {
Property p = (Property)property;
// Only but the property with "unused" in its name are considered used
String name = property.getName();
if (name.contains("unused")) {
assertFalse(name, provider.isUsed(p));
} else {
assertTrue(name, provider.isUsed(p));
}
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:GradleImplicitPropertyUsageProviderTest.java
示例3: findPropertyReferences
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
private static Collection<PsiReference> findPropertyReferences(final Property pproperty, final Module module) {
final Collection<PsiReference> references = Collections.synchronizedList(new ArrayList<PsiReference>());
ProgressManager.getInstance().runProcessWithProgressSynchronously(
new Runnable() {
public void run() {
ReferencesSearch.search(pproperty).forEach(new Processor<PsiReference>() {
public boolean process(final PsiReference psiReference) {
PsiMethod method = PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiMethod.class);
if (method == null || !AsmCodeGenerator.SETUP_METHOD_NAME.equals(method.getName())) {
references.add(psiReference);
}
return true;
}
});
}
}, UIDesignerBundle.message("edit.text.searching.references"), false, module.getProject()
);
return references;
}
示例4: insertOrUpdateTranslation
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
public void insertOrUpdateTranslation(String key, String value, final PropertiesFile propertiesFile) throws IncorrectOperationException {
final IProperty property = propertiesFile.findPropertyByKey(key);
if (property != null) {
property.setValue(value);
return;
}
if (myOrdered) {
if (myAlphaSorted) {
propertiesFile.addProperty(key, value);
return;
}
final Pair<IProperty, Integer> propertyAndPosition = findExistedPrevSiblingProperty(key, propertiesFile);
propertiesFile.addPropertyAfter(key, value, propertyAndPosition == null ? null : (Property)propertyAndPosition.getFirst());
}
else {
insertPropertyLast(key, value, propertiesFile);
}
}
示例5: annotate
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
if (!(element instanceof IProperty)) return;
final Property property = (Property)element;
PropertiesFile propertiesFile = property.getPropertiesFile();
Collection<IProperty> others = propertiesFile.findPropertiesByKey(property.getUnescapedKey());
ASTNode keyNode = ((PropertyImpl)property).getKeyNode();
if (others.size() != 1) {
Annotation annotation = holder.createErrorAnnotation(keyNode, PropertiesBundle.message("duplicate.property.key.error.message"));
annotation.registerFix(PropertiesQuickFixFactory.getInstance().createRemovePropertyFix(property));
}
highlightTokens(property, keyNode, holder, new PropertiesHighlighter());
ASTNode valueNode = ((PropertyImpl)property).getValueNode();
if (valueNode != null) {
highlightTokens(property, valueNode, holder, new PropertiesValueHighlighter());
}
}
示例6: invoke
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
@Override
public void invoke(@NotNull final Project project, final Editor editor, @NotNull final PsiElement element) throws IncorrectOperationException {
final PsiFile file = element.getContainingFile();
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
final Property property = PsiTreeUtil.getParentOfType(element, Property.class);
LOG.assertTrue(property != null);
final int start = property.getTextRange().getStartOffset();
@NonNls final Document doc = PsiDocumentManager.getInstance(project).getDocument(file);
LOG.assertTrue(doc != null);
final int line = doc.getLineNumber(start);
final int lineStart = doc.getLineStartOffset(line);
doc.insertString(lineStart, "# suppress inspection \"" + shortName +
"\"\n");
}
示例7: ensurePropertiesLoaded
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
private void ensurePropertiesLoaded() {
if (myPropertiesMap != null) return;
final ASTNode[] props = getPropertiesList().getChildren(PropertiesElementTypes.PROPERTIES);
MostlySingularMultiMap<String, IProperty> propertiesMap = new MostlySingularMultiMap<String, IProperty>();
List<IProperty> properties = new ArrayList<IProperty>(props.length);
for (final ASTNode prop : props) {
final Property property = (Property)prop.getPsi();
String key = property.getUnescapedKey();
propertiesMap.add(key, property);
properties.add(property);
}
final boolean isAlphaSorted = PropertiesImplUtil.isAlphaSorted(properties);
synchronized (lock) {
if (myPropertiesMap != null) return;
myProperties = properties;
myPropertiesMap = propertiesMap;
myAlphaSorted = isAlphaSorted;
}
}
示例8: getPropertyArgument
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
@Nullable
private static Property getPropertyArgument(PsiMethodCallExpression arg) {
PsiExpression[] args = arg.getArgumentList().getExpressions();
if (args.length > 0) {
PsiReference[] references = args[0].getReferences();
for (PsiReference reference : references) {
if (reference instanceof PropertyReference) {
ResolveResult[] resolveResults = ((PropertyReference)reference).multiResolve(false);
if (resolveResults.length == 1 && resolveResults[0].isValidResult()) {
PsiElement element = resolveResults[0].getElement();
if (element instanceof Property) {
return (Property) element;
}
}
}
}
}
return null;
}
示例9: isUsed
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
@Override
protected boolean isUsed(Property property) {
PropertiesFileCndKeyModel cndKeyModel = null;
try {
cndKeyModel = new PropertiesFileCndKeyModel(property.getKey());
} catch (IllegalArgumentException e) {
//Nothing to do
}
if (cndKeyModel != null) {
Project project = property.getProject();
String namespace = cndKeyModel.getNamespace();
String nodeTypeName = cndKeyModel.getNodeTypeName();
if (cndKeyModel.isProperty() || cndKeyModel.isProperty() || cndKeyModel.isChoicelistElement()) {
return CndUtil.findProperty(project, namespace, nodeTypeName, cndKeyModel.getPropertyName()) != null;
} else {
return CndUtil.findNodeType(project, namespace, nodeTypeName) != null;
}
}
return false;
}
示例10: annotate
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
if (!(element instanceof IProperty)) return;
final Property property = (Property)element;
PropertiesFile propertiesFile = property.getPropertiesFile();
Collection<IProperty> others = propertiesFile.findPropertiesByKey(property.getUnescapedKey());
ASTNode keyNode = ((PropertyImpl)property).getKeyNode();
if (others.size() != 1) {
Annotation annotation = holder.createErrorAnnotation(keyNode, PropertiesBundle.message("duplicate.property.key.error.message"));
annotation.registerFix(new RemovePropertyFix(property));
}
highlightTokens(property, keyNode, holder, new PropertiesHighlighter());
ASTNode valueNode = ((PropertyImpl)property).getValueNode();
if (valueNode != null) {
highlightTokens(property, valueNode, holder, new PropertiesValueHighlighter());
}
}
示例11: invoke
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
public void invoke(@NotNull final Project project, final Editor editor, @NotNull final PsiElement element) throws IncorrectOperationException {
final PsiFile file = element.getContainingFile();
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
final Property property = PsiTreeUtil.getParentOfType(element, Property.class);
LOG.assertTrue(property != null);
final int start = property.getTextRange().getStartOffset();
@NonNls final Document doc = PsiDocumentManager.getInstance(project).getDocument(file);
LOG.assertTrue(doc != null);
final int line = doc.getLineNumber(start);
final int lineStart = doc.getLineStartOffset(line);
doc.insertString(lineStart, "# suppress inspection \"" + shortName +
"\"\n");
}
示例12: ensurePropertiesLoaded
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
private void ensurePropertiesLoaded() {
if (myPropertiesMap != null) return;
final ASTNode[] props = getPropertiesList().getChildren(PropertiesElementTypes.PROPERTIES);
MostlySingularMultiMap<String, IProperty> propertiesMap = new MostlySingularMultiMap<String, IProperty>();
List<IProperty> properties = new ArrayList<IProperty>(props.length);
for (final ASTNode prop : props) {
final Property property = (Property)prop.getPsi();
String key = property.getUnescapedKey();
propertiesMap.add(key, property);
properties.add(property);
}
synchronized (lock) {
if (myPropertiesMap != null) return;
myProperties = properties;
myPropertiesMap = propertiesMap;
}
}
示例13: addPropertyAfter
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
@Override
@NotNull
public PsiElement addPropertyAfter(@NotNull final Property property, @Nullable final Property anchor) throws IncorrectOperationException {
final TreeElement copy = ChangeUtil.copyToElement(property);
List<IProperty> properties = getProperties();
ASTNode anchorBefore = anchor == null ? properties.isEmpty() ? null : properties.get(0).getPsiElement().getNode()
: anchor.getNode().getTreeNext();
if (anchorBefore != null) {
if (anchorBefore.getElementType() == TokenType.WHITE_SPACE) {
anchorBefore = anchorBefore.getTreeNext();
}
}
if (anchorBefore == null && haveToAddNewLine()) {
insertLineBreakBefore(null);
}
getPropertiesList().addChild(copy, anchorBefore);
if (anchorBefore != null) {
insertLineBreakBefore(anchorBefore);
}
return copy.getPsi();
}
示例14: testGradleWrapper
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
public void testGradleWrapper() {
VirtualFile vFile = myFixture.copyFileToProject("projects/projectWithAppandLib/gradle/wrapper/gradle-wrapper.properties", "gradle/wrapper/gradle-wrapper.properties");
PsiFile file = PsiManager.getInstance(getProject()).findFile(vFile);
assertNotNull(file);
PropertiesFile propertiesFile = (PropertiesFile)file;
GradleImplicitPropertyUsageProvider provider = new GradleImplicitPropertyUsageProvider();
for (IProperty property : propertiesFile.getProperties()) {
// All properties are considered used in this file
String name = property.getName();
assertTrue(name, provider.isUsed((Property)property));
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:GradleImplicitPropertyUsageProviderTest.java
示例15: doPropertyUsageTest
import com.intellij.lang.properties.psi.Property; //导入依赖的package包/类
private void doPropertyUsageTest(final String propertyFileName) {
PropertiesFile propFile = (PropertiesFile) myPsiManager.findFile(myTestProjectRoot.findChild(propertyFileName));
assertNotNull(propFile);
final Property prop = (Property)propFile.findPropertyByKey("key");
assertNotNull(prop);
final Query<PsiReference> query = ReferencesSearch.search(prop);
final Collection<PsiReference> result = query.findAll();
assertEquals(1, result.size());
verifyReference(result, 0, "form.form", 960);
}