Java 类com.intellij.psi.PsiNameValuePair 实例源码
项目:manifold-ij
文件:ResourceToManifoldUtil.java
private static boolean isJavaElementForType( PsiModifierListOwner modifierListOwner, PsiClass psiClass )
{
PsiAnnotation annotation = modifierListOwner.getModifierList().findAnnotation( TypeReference.class.getName() );
if( annotation != null )
{
PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes();
for( PsiNameValuePair pair : attributes )
{
String fqn = pair.getLiteralValue();
if( psiClass.getQualifiedName().contains( fqn ) )
{
return true;
}
}
}
return false;
}
项目:intellij-ce-playground
文件:AnnotationInvocationHandler.java
/**
* Implementation of dynamicProxy.toString()
*/
private String toStringImpl() {
StringBuilder result = new StringBuilder(128);
result.append('@');
result.append(type.getName());
result.append('(');
boolean firstMember = true;
PsiNameValuePair[] attributes = myAnnotation.getParameterList().getAttributes();
for (PsiNameValuePair e : attributes) {
if (firstMember) {
firstMember = false;
}
else {
result.append(", ");
}
result.append(e.getName());
result.append('=');
PsiAnnotationMemberValue value = e.getValue();
result.append(value == null ? "null" : value.getText());
}
result.append(')');
return result.toString();
}
项目:lombok-intellij-plugin
文件:OnXAnnotationHandler.java
public static boolean isOnXParameterAnnotation(HighlightInfo highlightInfo, PsiFile file) {
if (!(ANNOTATION_TYPE_EXPECTED.equals(highlightInfo.getDescription())
|| CANNOT_RESOLVE_UNDERSCORES_MESSAGE.matcher(StringUtil.notNullize(highlightInfo.getDescription())).matches())) {
return false;
}
PsiElement highlightedElement = file.findElementAt(highlightInfo.getStartOffset());
PsiNameValuePair nameValuePair = findContainingNameValuePair(highlightedElement);
if (nameValuePair == null || !(nameValuePair.getContext() instanceof PsiAnnotationParameterList)) {
return false;
}
String parameterName = nameValuePair.getName();
if (!ONX_PARAMETERS.contains(parameterName)) {
return false;
}
PsiElement containingAnnotation = nameValuePair.getContext().getContext();
return containingAnnotation instanceof PsiAnnotation && ONXABLE_ANNOTATIONS.contains(((PsiAnnotation) containingAnnotation).getQualifiedName());
}
项目:lombok-intellij-plugin
文件:BaseLombokHandler.java
protected void removeDefaultAnnotation(@NotNull PsiModifierListOwner targetElement, @NotNull Class<? extends Annotation> annotationClass) {
final PsiAnnotation psiAnnotation = PsiAnnotationSearchUtil.findAnnotation(targetElement, annotationClass);
if (null != psiAnnotation) {
boolean hasOnlyDefaultValues = true;
final PsiAnnotationParameterList psiAnnotationParameterList = psiAnnotation.getParameterList();
for (PsiNameValuePair nameValuePair : psiAnnotationParameterList.getAttributes()) {
if (null != psiAnnotation.findDeclaredAttributeValue(nameValuePair.getName())) {
hasOnlyDefaultValues = false;
break;
}
}
if (hasOnlyDefaultValues) {
psiAnnotation.delete();
}
}
}
项目:guards
文件:PsiGuard.java
@NotNull
public String getDescription(boolean full) {
if ( !element.equals(resolve(element.getNameReferenceElement())) ) {
return element.getText();
}
StringBuilder buf = new StringBuilder();
buf.append('@');
buf.append(element.getQualifiedName());
if ( full && element.getParameterList().getAttributes().length > 0 ) {
buf.append('(');
boolean first = true;
for( PsiNameValuePair value : element.getParameterList().getAttributes() ) {
if ( first ) {
first = false;
}
else {
buf.append(", ");
}
buf.append(value.getName()).append("=");
buf.append(value.getValue() == null ? "?" : value.getValue().getText());
}
buf.append(')');
}
return buf.toString();
}
项目:errai-intellij-idea-plugin
文件:AnnotationMatchingPattern.java
@Override
public boolean accepts(@Nullable Object o, ProcessingContext context) {
if (o instanceof PsiLiteralExpression) {
final PsiAnnotation parentOfType = PsiTreeUtil.getParentOfType((PsiLiteralExpression) o, PsiAnnotation.class);
if (parentOfType != null && type.equals(parentOfType.getQualifiedName())) {
if (attributeName != null) {
final PsiNameValuePair nvp = PsiTreeUtil.getParentOfType((PsiLiteralExpression) o, PsiNameValuePair.class);
return nvp != null && attributeName.equals(nvp.getName());
}
else {
return true;
}
}
}
return false;
}
项目:errai-intellij-idea-plugin
文件:Util.java
public static AnnotationValueElement getValueStringFromAnnotationWithDefault(PsiAnnotation annotation) {
final PsiAnnotationParameterList parameterList = annotation.getParameterList();
final PsiNameValuePair[] attributes = parameterList.getAttributes();
final PsiElement logicalElement = getImmediateOwnerElement(annotation);
if (logicalElement == null) {
return null;
}
final String value;
final PsiElement errorElement;
if (attributes.length == 0) {
value = getNameOfElement(logicalElement);
errorElement = annotation;
}
else {
final String text = attributes[0].getText();
value = text.substring(1, text.length() - 1);
errorElement = attributes[0];
}
return new AnnotationValueElement(value, errorElement);
}
项目:consulo-java
文件:AnnotationInitializerBlocksBuilder.java
public List<Block> buildBlocks()
{
final Wrap wrap = Wrap.createWrap(getWrapType(myJavaSettings.ANNOTATION_PARAMETER_WRAP), false);
final Alignment alignment = myJavaSettings.ALIGN_MULTILINE_ANNOTATION_PARAMETERS ? Alignment.createAlignment() : null;
ChildrenBlocksBuilder.Config config = new ChildrenBlocksBuilder.Config().setDefaultIndent(Indent.getContinuationWithoutFirstIndent()).setIndent(JavaTokenType.RPARENTH, Indent.getNoneIndent()
).setIndent(JavaTokenType.LPARENTH, Indent.getNoneIndent())
.setDefaultWrap(wrap).setNoWrap(JavaTokenType.COMMA).setNoWrap(JavaTokenType.RPARENTH).setNoWrap(JavaTokenType.LPARENTH)
.setDefaultAlignment(alignment).setNoAlignment(JavaTokenType.COMMA).setNoAlignment(JavaTokenType.LPARENTH).setNoAlignmentIf(JavaTokenType.RPARENTH, node -> {
PsiElement prev = PsiTreeUtil.skipSiblingsBackward(node.getPsi(), PsiWhiteSpace.class);
if(prev == null)
{
return false;
}
return prev instanceof PsiNameValuePair && !PsiTreeUtil.hasErrorElements(prev);
});
return config.createBuilder().buildNodeChildBlocks(myNode, myFactory);
}
项目:jgiven-intellij-plugin
文件:AnnotationValueProvider.java
@Nullable
PsiExpression getAnnotationValue(PsiAnnotation annotation, String annotationKey) {
PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes();
return Arrays.stream(attributes)
.filter(a -> annotationKey.equalsIgnoreCase(a.getName()))
.map(PsiNameValuePair::getValue)
.filter(v -> v instanceof PsiExpression)
.map(v -> (PsiExpression) v)
.findFirst().orElse(null);
}
项目:manifold-ij
文件:ResourceToManifoldUtil.java
private static boolean isJavaElementFor( PsiModifierListOwner modifierListOwner, PsiElement element )
{
PsiAnnotation annotation = modifierListOwner.getModifierList().findAnnotation( SourcePosition.class.getName() );
if( annotation != null )
{
int textOffset = element.getTextOffset();
int textLength = element instanceof PsiNamedElement ? ((PsiNamedElement)element).getName().length() : element.getTextLength();
PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes();
int offset = -1;
for( PsiNameValuePair pair : attributes )
{
if( pair.getNameIdentifier().getText().equals( SourcePosition.OFFSET ) )
{
String literalValue = pair.getLiteralValue();
if( literalValue == null )
{
return false;
}
offset = Integer.parseInt( literalValue );
break;
}
}
if( offset >= textOffset && offset <= textOffset + textLength )
{
return true;
}
}
return false;
}
项目:manifold-ij
文件:StubBuilder.java
private void addAnnotations( SrcAnnotated<?> srcAnnotated, PsiModifierListOwner annotated )
{
for( PsiAnnotation psiAnno : annotated.getModifierList().getAnnotations() )
{
SrcAnnotationExpression annoExpr = new SrcAnnotationExpression( psiAnno.getQualifiedName() );
for( PsiNameValuePair value : psiAnno.getParameterList().getAttributes() )
{
SrcArgument srcArg = new SrcArgument( new SrcRawExpression( value.getLiteralValue() ) );
annoExpr.addArgument( srcArg ).name( value.getName() );
}
srcAnnotated.addAnnotation( annoExpr );
}
}
项目:intellij-ce-playground
文件:PsiNameValuePairPattern.java
public PsiNameValuePairPattern withName(@NotNull @NonNls final String requiredName) {
return with(new PatternCondition<PsiNameValuePair>("withName") {
public boolean accepts(@NotNull final PsiNameValuePair psiNameValuePair, final ProcessingContext context) {
String actualName = psiNameValuePair.getName();
return requiredName.equals(actualName) || actualName == null && "value".equals(requiredName);
}
});
}
项目:intellij-ce-playground
文件:AnnotateMethodFix.java
private void annotateMethod(@NotNull PsiMethod method) {
try {
AddAnnotationPsiFix fix = new AddAnnotationPsiFix(myAnnotation, method, PsiNameValuePair.EMPTY_ARRAY, myAnnotationsToRemove);
fix.invoke(method.getProject(), method.getContainingFile(), method, method);
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
项目:intellij-ce-playground
文件:AnnotationInitializerBlocksBuilder.java
public List<Block> buildBlocks() {
final Wrap wrap = Wrap.createWrap(getWrapType(myJavaSettings.ANNOTATION_PARAMETER_WRAP), false);
final Alignment alignment = myJavaSettings.ALIGN_MULTILINE_ANNOTATION_PARAMETERS ? Alignment.createAlignment() : null;
ChildrenBlocksBuilder.Config config = new ChildrenBlocksBuilder.Config()
.setDefaultIndent(Indent.getContinuationWithoutFirstIndent())
.setIndent(JavaTokenType.RPARENTH, Indent.getNoneIndent())
.setIndent(JavaTokenType.LPARENTH, Indent.getNoneIndent())
.setDefaultWrap(wrap)
.setNoWrap(JavaTokenType.COMMA)
.setNoWrap(JavaTokenType.RPARENTH)
.setNoWrap(JavaTokenType.LPARENTH)
.setDefaultAlignment(alignment)
.setNoAlignment(JavaTokenType.COMMA)
.setNoAlignment(JavaTokenType.LPARENTH)
.setNoAlignmentIf(JavaTokenType.RPARENTH, new Condition<ASTNode>() {
@Override
public boolean value(ASTNode node) {
PsiElement prev = PsiTreeUtil.skipSiblingsBackward(node.getPsi(), PsiWhiteSpace.class);
if (prev == null) return false;
return prev instanceof PsiNameValuePair && !PsiTreeUtil.hasErrorElements(prev);
}
});
return config.createBuilder().buildNodeChildBlocks(myNode, myFactory);
}
项目:intellij-ce-playground
文件:GrAnnotationArgumentListImpl.java
@Override
public ASTNode addInternal(ASTNode first, ASTNode last, ASTNode anchor, Boolean before) {
if (first.getElementType() == GroovyElementTypes.ANNOTATION_MEMBER_VALUE_PAIR && last.getElementType() ==
GroovyElementTypes.ANNOTATION_MEMBER_VALUE_PAIR) {
ASTNode lparenth = getNode().getFirstChildNode();
ASTNode rparenth = getNode().getLastChildNode();
if (lparenth == null) {
getNode().addLeaf(GroovyTokenTypes.mLPAREN, "(", null);
}
if (rparenth == null) {
getNode().addLeaf(GroovyTokenTypes.mRPAREN, ")", null);
}
final PsiNameValuePair[] nodes = getAttributes();
if (nodes.length == 1) {
final PsiNameValuePair pair = nodes[0];
if (pair.getName() == null) {
final String text = pair.getValue().getText();
try {
final PsiAnnotation annotation = GroovyPsiElementFactory.getInstance(getProject()).createAnnotationFromText("@AAA(value = " + text + ")");
getNode().replaceChild(pair.getNode(), annotation.getParameterList().getAttributes()[0].getNode());
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
}
if (anchor == null && before != null) {
anchor = before.booleanValue() ? getNode().getLastChildNode() : getNode().getFirstChildNode();
}
}
return super.addInternal(first, last, anchor, before);
}
项目:google-cloud-intellij
文件:EndpointPsiElementVisitor.java
/**
* Returns the value for @Named if it exists for <code>psiParameter</code> or null if it does not
* exist.
*
* @param psiParameter The parameter whose @Named value is to be returned.
* @return The @Named value if it exists for <code>psiParameter</code> or null if it does not
* exist.
*/
@Nullable
public PsiAnnotationMemberValue getNamedAnnotationValue(PsiParameter psiParameter) {
PsiModifierList modifierList = psiParameter.getModifierList();
if (modifierList == null) {
return null;
}
PsiAnnotation annotation = modifierList.findAnnotation("javax.inject.Named");
if (annotation == null) {
annotation = modifierList.findAnnotation(GctConstants.APP_ENGINE_ANNOTATION_NAMED);
if (annotation == null) {
return null;
}
}
PsiNameValuePair[] nameValuePairs = annotation.getParameterList().getAttributes();
if (nameValuePairs.length != 1) {
return null;
}
if (nameValuePairs[0] == null) {
return null;
}
return nameValuePairs[0].getValue();
}
项目:tools-idea
文件:PsiNameValuePairPattern.java
public PsiNameValuePairPattern withName(@NotNull @NonNls final String requiredName) {
return with(new PatternCondition<PsiNameValuePair>("withName") {
public boolean accepts(@NotNull final PsiNameValuePair psiNameValuePair, final ProcessingContext context) {
String actualName = psiNameValuePair.getName();
return requiredName.equals(actualName) || actualName == null && "value".equals(requiredName);
}
});
}
项目:tools-idea
文件:AnnotateMethodFix.java
private void annotateMethod(@NotNull PsiMethod method) {
try {
AddAnnotationPsiFix fix = new AddAnnotationPsiFix(myAnnotation, method, PsiNameValuePair.EMPTY_ARRAY, myAnnotationsToRemove);
fix.invoke(method.getProject(), method.getContainingFile(), method, method);
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
项目:tools-idea
文件:GrAnnotationArgumentListImpl.java
@Override
public ASTNode addInternal(ASTNode first, ASTNode last, ASTNode anchor, Boolean before) {
if (first.getElementType() == ANNOTATION_MEMBER_VALUE_PAIR && last.getElementType() == ANNOTATION_MEMBER_VALUE_PAIR) {
ASTNode lparenth = getNode().getFirstChildNode();
ASTNode rparenth = getNode().getLastChildNode();
if (lparenth == null) {
getNode().addLeaf(mLPAREN, "(", null);
}
if (rparenth == null) {
getNode().addLeaf(mRPAREN, ")", null);
}
final PsiNameValuePair[] nodes = getAttributes();
if (nodes.length == 1) {
final PsiNameValuePair pair = nodes[0];
if (pair.getName() == null) {
final String text = pair.getValue().getText();
try {
final PsiAnnotation annotation = GroovyPsiElementFactory.getInstance(getProject()).createAnnotationFromText("@AAA(value = " + text + ")");
getNode().replaceChild(pair.getNode(), annotation.getParameterList().getAttributes()[0].getNode());
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
}
if (anchor == null && before != null) {
anchor = before.booleanValue() ? getNode().getLastChildNode() : getNode().getFirstChildNode();
}
}
return super.addInternal(first, last, anchor, before);
}
项目:lombok-intellij-plugin
文件:OnXAnnotationHandler.java
public static boolean isOnXParameterValue(HighlightInfo highlightInfo, PsiFile file) {
if (!CANNOT_FIND_METHOD_VALUE_MESSAGE.equals(highlightInfo.getDescription())) {
return false;
}
PsiElement highlightedElement = file.findElementAt(highlightInfo.getStartOffset());
PsiNameValuePair nameValuePair = findContainingNameValuePair(highlightedElement);
if (nameValuePair == null || !(nameValuePair.getContext() instanceof PsiAnnotationParameterList)) {
return false;
}
PsiElement leftSibling = nameValuePair.getContext().getPrevSibling();
return (leftSibling != null && UNDERSCORES.matcher(StringUtil.notNullize(leftSibling.getText())).matches());
}
项目:lombok-intellij-plugin
文件:OnXAnnotationHandler.java
private static PsiNameValuePair findContainingNameValuePair(PsiElement highlightedElement) {
PsiElement nameValuePair = highlightedElement;
while (!(nameValuePair == null || nameValuePair instanceof PsiNameValuePair)) {
nameValuePair = nameValuePair.getContext();
}
return (PsiNameValuePair) nameValuePair;
}
项目:lombok-intellij-plugin
文件:EqualsAndHashCodeCallSuperHandler.java
public static boolean isEqualsAndHashCodeCallSuperDefault(HighlightInfo highlightInfo, PsiFile file) {
PsiElement element = file.findElementAt(highlightInfo.getStartOffset());
PsiNameValuePair psiNameValuePair = PsiTreeUtil.getParentOfType(element, PsiNameValuePair.class);
if (psiNameValuePair == null) {
return false;
}
PsiAnnotation psiAnnotation = PsiTreeUtil.getParentOfType(psiNameValuePair, PsiAnnotation.class);
if (psiAnnotation == null) {
return false;
}
return "callSuper".equals(psiNameValuePair.getName()) && "EqualsAndHashCode".equals(PsiAnnotationSearchUtil.getSimpleNameOf(psiAnnotation));
}
项目:lombok-intellij-plugin
文件:PsiQuickFixFactory.java
public static LocalQuickFix createAddAnnotationQuickFix(@NotNull PsiClass psiClass, @NotNull String annotationFQN, @Nullable String annotationParam) {
PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(psiClass.getProject());
PsiAnnotation newAnnotation = elementFactory.createAnnotationFromText("@" + annotationFQN + "(" + StringUtil.notNullize(annotationParam) + ")", psiClass);
final PsiNameValuePair[] attributes = newAnnotation.getParameterList().getAttributes();
return new AddAnnotationFix(annotationFQN, psiClass, attributes);
}
项目:lombok-intellij-plugin
文件:ChangeAnnotationParameterQuickFix.java
private void applyFixInner(final Project project) {
final PsiFile file = myAnnotation.getContainingFile();
final Editor editor = CodeInsightUtil.positionCursor(project, file, myAnnotation);
if (editor != null) {
new WriteCommandAction(project, file) {
protected void run(@NotNull Result result) throws Throwable {
final PsiNameValuePair valuePair = selectAnnotationAttribute();
if (null != valuePair) {
// delete this parameter
valuePair.delete();
}
if (null != myNewValue) {
//add new parameter
final PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(myAnnotation.getProject());
PsiAnnotation newAnnotation = elementFactory.createAnnotationFromText("@" + myAnnotation.getQualifiedName() + "(" + myName + "=" + myNewValue + ")", myAnnotation.getContext());
final PsiNameValuePair[] attributes = newAnnotation.getParameterList().getAttributes();
myAnnotation.setDeclaredAttributeValue(attributes[0].getName(), attributes[0].getValue());
}
UndoUtil.markPsiFileForUndo(file);
}
@Override
protected boolean isGlobalUndoAction() {
return true;
}
}.execute();
}
}
项目:lombok-intellij-plugin
文件:ChangeAnnotationParameterQuickFix.java
private PsiNameValuePair selectAnnotationAttribute() {
PsiNameValuePair result = null;
PsiNameValuePair[] attributes = myAnnotation.getParameterList().getAttributes();
for (PsiNameValuePair attribute : attributes) {
@NonNls final String attributeName = attribute.getName();
if (equals(myName, attributeName) || attributeName == null && myName.equals(PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME)) {
result = attribute;
break;
}
}
return result;
}
项目:errai-intellij-idea-plugin
文件:TemplateMetaData.java
public TemplateMetaData(TemplateExpression templateExpression,
boolean defaultReference,
PsiNameValuePair attribute,
PsiClass templateClass,
VirtualFile templateFile,
XmlTag rootTag,
Project project) {
this.templateExpression = templateExpression;
this.defaultReference = defaultReference;
this.attribute = attribute;
this.templateClass = templateClass;
this.templateFile = templateFile;
this.rootTag = rootTag;
this.project = project;
}
项目:errai-intellij-idea-plugin
文件:UITemplateExistenceInspection.java
private static void ensureTemplateExists(ProblemsHolder holder,
PsiAnnotation annotation) {
final TemplateMetaData metaData = TemplateUtil.getTemplateMetaData(annotation);
if (metaData == null) {
return;
}
final VirtualFile templateVF = metaData.getTemplateFile();
final PsiNameValuePair attribute = metaData.getAttribute();
if (templateVF == null) {
if (annotation != null && metaData.isDefaultReference()) {
holder.registerProblem(annotation, "Could not find companion Errai UI template: " + metaData.getTemplateExpression().getFileName());
}
else if (attribute != null) {
holder.registerProblem(attribute, "Errai UI template file cannot be resolved: " + metaData.getTemplateExpression().getFileName());
}
}
else if (attribute != null && !metaData.getTemplateExpression().getRootNode().equals("")) {
final Multimap<String, TemplateDataField> allDataFieldTags = metaData.getAllDataFieldsInTemplate(true);
if (!allDataFieldTags.containsKey(metaData.getTemplateExpression().getRootNode())) {
holder.registerProblem(attribute, "The data-field element specified for the root " +
"note does not exist: " + metaData.getTemplateExpression().getRootNode());
}
}
}
项目:errai-intellij-idea-plugin
文件:Util.java
public static PsiAnnotationMemberValue getAnnotationMemberValue(PsiAnnotation annotation, String attributeName) {
final PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes();
for (PsiNameValuePair attribute : attributes) {
if (attributeName.equals(attribute.getName())) {
final PsiAnnotationMemberValue value = attribute.getValue();
if (value != null) {
return value;
}
break;
}
}
return null;
}
项目:consulo-google-guice
文件:AnnotationUtils.java
public static PsiElement findDefaultValue(PsiAnnotation annotation){
final PsiAnnotationParameterList parameters = annotation.getParameterList();
final PsiNameValuePair[] pairs = parameters.getAttributes();
for(PsiNameValuePair pair : pairs){
final String name = pair.getName();
if("value".equals(name) || name == null){
return pair.getValue();
}
}
return null;
}
项目:consulo-java
文件:ClsAnnotationImpl.java
public ClsAnnotationImpl(final PsiAnnotationStub stub)
{
super(stub);
myReferenceElement = new AtomicNotNullLazyValue<ClsJavaCodeReferenceElementImpl>()
{
@NotNull
@Override
protected ClsJavaCodeReferenceElementImpl compute()
{
String annotationText = getStub().getText();
int index = annotationText.indexOf('(');
String refText = index > 0 ? annotationText.substring(1, index) : annotationText.substring(1);
return new ClsJavaCodeReferenceElementImpl(ClsAnnotationImpl.this, refText);
}
};
myParameterList = new AtomicNotNullLazyValue<ClsAnnotationParameterListImpl>()
{
@NotNull
@Override
protected ClsAnnotationParameterListImpl compute()
{
PsiNameValuePair[] attrs = getStub().getText().indexOf('(') > 0 ? PsiTreeUtil.getRequiredChildOfType(getStub().getPsiElement(), PsiAnnotationParameterList.class).getAttributes() :
PsiNameValuePair.EMPTY_ARRAY;
return new ClsAnnotationParameterListImpl(ClsAnnotationImpl.this, attrs);
}
};
}
项目:consulo-java
文件:ClsNameValuePairImpl.java
@Override
public void setMirror(@NotNull TreeElement element) throws InvalidMirrorException
{
setMirrorCheckingType(element, null);
PsiNameValuePair mirror = SourceTreeToPsiMap.treeToPsiNotNull(element);
setMirrorIfPresent(getNameIdentifier(), mirror.getNameIdentifier());
setMirrorIfPresent(getValue(), mirror.getValue());
}
项目:consulo-java
文件:AnnotationInvocationHandler.java
/**
* Implementation of dynamicProxy.toString()
*/
private String toStringImpl()
{
StringBuilder result = new StringBuilder(128);
result.append('@');
result.append(type.getName());
result.append('(');
boolean firstMember = true;
PsiNameValuePair[] attributes = myAnnotation.getParameterList().getAttributes();
for(PsiNameValuePair e : attributes)
{
if(firstMember)
{
firstMember = false;
}
else
{
result.append(", ");
}
result.append(e.getName());
result.append('=');
PsiAnnotationMemberValue value = e.getValue();
result.append(value == null ? "null" : value.getText());
}
result.append(')');
return result.toString();
}
项目:consulo-java
文件:PsiNameValuePairPattern.java
public PsiNameValuePairPattern withName(@NotNull @NonNls final String requiredName) {
return with(new PatternCondition<PsiNameValuePair>("withName") {
public boolean accepts(@NotNull final PsiNameValuePair psiNameValuePair, final ProcessingContext context) {
String actualName = psiNameValuePair.getName();
return requiredName.equals(actualName) || actualName == null && "value".equals(requiredName);
}
});
}
项目:Android_Lint_SRP_Practice_Example
文件:PsiClassStructureDetector.java
@Override
public void visitNameValuePair(PsiNameValuePair pair) {
mVisitor.report("PsiNameValuePair", pair.getText(), pair);
super.visitElement(pair);
}
项目:intellij-ce-playground
文件:JavaNameValuePairType.java
@Override
public PsiNameValuePair createPsi(@NotNull ASTNode node) {
return new PsiNameValuePairImpl(node);
}
项目:intellij-ce-playground
文件:JavaNameValuePairType.java
@Override
public PsiNameValuePair createPsi(@NotNull PsiNameValuePairStub stub) {
return getPsiFactory(stub).createNameValuePair(stub);
}
项目:intellij-ce-playground
文件:PsiAnnotationParamListImpl.java
@NotNull
@Override
public PsiNameValuePair[] getAttributes() {
return getStubOrPsiChildren(JavaStubElementTypes.NAME_VALUE_PAIR, PsiNameValuePair.ARRAY_FACTORY);
}
项目:intellij-ce-playground
文件:PsiNameValuePairPattern.java
protected PsiNameValuePairPattern() {
super(PsiNameValuePair.class);
}
项目:intellij-ce-playground
文件:AddAnnotationFix.java
public AddAnnotationFix(@NotNull String fqn, @NotNull PsiModifierListOwner modifierListOwner, @NotNull String... annotationsToRemove) {
this(fqn, modifierListOwner, PsiNameValuePair.EMPTY_ARRAY, annotationsToRemove);
}
项目:intellij-ce-playground
文件:AddAnnotationFix.java
public AddAnnotationFix(@NotNull String fqn,
@NotNull PsiModifierListOwner modifierListOwner,
@NotNull PsiNameValuePair[] values,
@NotNull String... annotationsToRemove) {
super(fqn, modifierListOwner, values, annotationsToRemove);
}