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


Java JSDefinitionExpression类代码示例

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


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

示例1: isReferenceTo

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
@RequiredReadAction
public boolean isReferenceTo(PsiElement element)
{
	final PsiElement element2 = resolve();
	boolean proxyExpanded = false;

	if(element instanceof JSDefinitionExpression)
	{
		final JSExpression expression = ((JSDefinitionExpression) element).getExpression();
		if(expression instanceof JSReferenceExpression)
		{
			return ((JSReferenceExpression) expression).isReferenceTo(element2);
		}
	}

	if(element != element2 && element instanceof JSProperty && element2 instanceof JSProperty)
	{
		return ((JSProperty) element).getName().equals(((JSProperty) element2).getName());
	}
	return proxyExpanded && element == element2;
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:23,代码来源:JSPropertyNameReference.java

示例2: createVisitor

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
protected JSElementVisitor createVisitor(final ProblemsHolder holder)
{
	return new JSElementVisitor()
	{
		@Override
		public void visitJSReferenceExpression(final JSReferenceExpression node)
		{
			for(ResolveResult r : node.multiResolve(false))
			{
				final PsiElement element = r.getElement();
				if((element instanceof JSDefinitionExpression && element.getParent() instanceof JSAssignmentExpression) || element == node.getParent())
				{
					continue;
				}
				if(JSDocumentationUtils.isDeprecated(element))
				{
					holder.registerProblem(node.getReferenceNameElement(), JavaScriptBundle.message("javascript.deprecated.symbol.used.name.message"),
							ProblemHighlightType.LIKE_DEPRECATED);
					break;
				}
			}
		}
	};
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:26,代码来源:JSDeprecatedSymbolsInspection.java

示例3: getDefinitions

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
public Collection<JSDefinitionExpression> getDefinitions() {
    final PsiElement firstChild = getFirstChild();
    if (firstChild instanceof JSDefinitionExpression) {
        return Collections.singletonList((JSDefinitionExpression) firstChild);
    }
    if (firstChild instanceof JSParenthesizedExpression) {
        final PsiElement commaExpression = PsiTreeUtil.findChildOfType(firstChild, JSCommaExpression.class);
        if (commaExpression != null) {
            return PsiTreeUtil.findChildrenOfType(commaExpression, JSDefinitionExpression.class);
        }
    }
    return Collections.emptyList();
}
 
开发者ID:idok,项目名称:react-templates-plugin,代码行数:14,代码来源:RTRepeatExpression.java

示例4: getDefinitions

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
public Collection<JSDefinitionExpression> getDefinitions() {
    final PsiElement firstChild = getFirstChild();
    if (firstChild instanceof JSDefinitionExpression) {
        return Collections.singletonList((JSDefinitionExpression)firstChild);
    } else if (firstChild instanceof JSParenthesizedExpression) {
        final PsiElement commaExpression = PsiTreeUtil.findChildOfType(firstChild, JSCommaExpression.class);
        if (commaExpression != null) {
            return PsiTreeUtil.findChildrenOfType(commaExpression, JSDefinitionExpression.class);
        }
    }
    return Collections.emptyList();
}
 
开发者ID:kristianmandrup,项目名称:emberjs-plugin,代码行数:13,代码来源:EmberJSRepeatExpression.java

示例5: isLHSExpression

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
public static boolean isLHSExpression(JSExpression expr)
{
	if(expr instanceof JSDefinitionExpression)
	{
		expr = ((JSDefinitionExpression) expr).getExpression();
	}

	if(expr instanceof JSReferenceExpression)
	{
		return true;
	}

	if(expr instanceof JSParenthesizedExpression)
	{
		return isLHSExpression(((JSParenthesizedExpression) expr).getInnerExpression());
	}

	if(expr instanceof JSIndexedPropertyAccessExpression)
	{
		return true;
	}

	if(expr instanceof JSCallExpression)
	{
		return true;
	}

	if(expr instanceof JSNewExpression)
	{
		return true;
	}

	return false;
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:35,代码来源:JSUtils.java

示例6: getTextEndOffset

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
public int getTextEndOffset(@NotNull PsiElement element)
{
	if(element instanceof JSDefinitionExpression)
	{
		element = PsiTreeUtil.getParentOfType(element, JSExpressionStatement.class);
	}
	return element.getTextRange().getEndOffset();
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:10,代码来源:JSImplementationTextSelectioner.java

示例7: isReadWriteAccessible

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
public boolean isReadWriteAccessible(PsiElement element)
{
	return element instanceof JSVariable ||
			((element instanceof JSFunction) && (((JSFunction) element).isGetProperty() || ((JSFunction) element).isSetProperty())) ||
			element instanceof JSDefinitionExpression;
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:8,代码来源:JSReadWriteAccessDetector.java

示例8: getExpressionAccess

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
public Access getExpressionAccess(PsiElement expression)
{
	expression = expression.getParent();
	if(expression instanceof JSDefinitionExpression)
	{
		PsiElement grandParent = expression.getParent();
		if(grandParent instanceof JSAssignmentExpression && ((JSAssignmentExpression) grandParent).getOperationSign() == JSTokenTypes.EQ)
		{
			return Access.Write;
		}

		return Access.ReadWrite;
	}
	if(expression instanceof JSPrefixExpression)
	{
		if(isIncrementOrDecrement(((JSPrefixExpression) expression).getOperationSign()))
		{
			return Access.ReadWrite;
		}
	}
	else if(expression instanceof JSPostfixExpression)
	{
		if(isIncrementOrDecrement(((JSPostfixExpression) expression).getOperationSign()))
		{
			return Access.ReadWrite;
		}
	}
	return Access.Read;
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:31,代码来源:JSReadWriteAccessDetector.java

示例9: isSafeDeleteAvailable

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
public boolean isSafeDeleteAvailable(PsiElement element)
{
	boolean simpleElement = element instanceof JSFunction || element instanceof JSVariable || element instanceof JSDefinitionExpression ||
			element instanceof JSProperty || element instanceof JSClass;

	return simpleElement && ((JSNamedElement) element).getName() != null;
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:9,代码来源:JavascriptRefactoringSupportProvider.java

示例10: visitJSAssignmentExpression

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override public void visitJSAssignmentExpression(@NotNull JSAssignmentExpression assignment) {
    super.visitJSAssignmentExpression(assignment);

    final IElementType sign = assignment.getOperationSign();
    if (!JSTokenTypes.EQ.equals(sign)) {
        return;
    }
    JSExpression lhs = assignment.getLOperand();
    final JSExpression rhs = assignment.getROperand();
    if (rhs == null || lhs == null) {
        return;
    }
    if (!(rhs instanceof JSBinaryExpression)) {
        return;
    }
    final JSBinaryExpression binaryRhs = (JSBinaryExpression) rhs;
    if (!(binaryRhs.getROperand() != null)) {
        return;
    }
    IElementType operationSign = binaryRhs.getOperationSign();
    if (operationSign == JSTokenTypes.ANDAND ||
        operationSign == JSTokenTypes.OROR) {
        return;
    }
    final JSExpression lOperand = binaryRhs.getLOperand();
    if (SideEffectChecker.mayHaveSideEffects(lhs)) {
        return;
    }
    if(lhs instanceof JSDefinitionExpression)
    {
        lhs = ((JSDefinitionExpression)lhs).getExpression();
    }
    if (!EquivalenceChecker.expressionsAreEquivalent(lhs, lOperand)) {
        return;
    }
    registerError(assignment);
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:38,代码来源:ReplaceAssignmentWithOperatorAssignmentJSInspection.java

示例11: getDefinition

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Nullable
public JSDefinitionExpression getDefinition() {
    return PsiTreeUtil.getChildOfType(this, JSDefinitionExpression.class);
}
 
开发者ID:idok,项目名称:react-templates-plugin,代码行数:5,代码来源:RTAsExpression.java

示例12: MockJSAssignmentExpression

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
public MockJSAssignmentExpression(JSDefinitionExpression definition, String content) {
    super(mock(ASTNode.class));

    this.definition = definition;
    this.content = content;
}
 
开发者ID:cefolger,项目名称:needsmoredojo,代码行数:7,代码来源:MockJSAssignmentExpression.java

示例13: getType

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
@NotNull
public String getType(@NotNull PsiElement element)
{
	if(element instanceof JSFunction)
	{
		return JavaScriptBundle.message("javascript.language.term.function");
	}
	if(element instanceof JSClass)
	{
		return JavaScriptBundle.message("javascript.language.term.class");
	}
	if(element instanceof JSNamespaceDeclaration)
	{
		return JavaScriptBundle.message("javascript.language.term.namespace");
	}
	if(element instanceof JSParameter)
	{
		return JavaScriptBundle.message("javascript.language.term.parameter");
	}
	if(element instanceof JSProperty)
	{
		return JavaScriptBundle.message("javascript.language.term.property");
	}
	if(element instanceof JSVariable)
	{
		return JavaScriptBundle.message("javascript.language.term.variable");
	}
	if(element instanceof JSLabeledStatement)
	{
		return JavaScriptBundle.message("javascript.language.term.label");
	}
	if(element instanceof JSDefinitionExpression)
	{
		return JavaScriptBundle.message("javascript.language.term.value");
	}
	if(element instanceof XmlTag)
	{
		return JavaScriptBundle.message("javascript.language.term.tag");
	}
	if(element instanceof XmlToken)
	{
		return JavaScriptBundle.message("javascript.language.term.attribute.value");
	}
	if(element instanceof JSPackageStatement)
	{
		return JavaScriptBundle.message("javascript.language.term.package");
	}
	return "";
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:51,代码来源:JavaScriptFindUsagesProvider.java

示例14: visitJSAssignmentExpression

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override public void visitJSAssignmentExpression(@NotNull JSAssignmentExpression assignment) {
    super.visitJSAssignmentExpression(assignment);

    final IElementType sign = assignment.getOperationSign();
    if (!JSTokenTypes.EQ.equals(sign)) {
        return;
    }
    JSExpression lhs = assignment.getLOperand();
    if(lhs instanceof JSDefinitionExpression)
    {
        lhs = ((JSDefinitionExpression)lhs).getExpression();
    }
    final JSExpression rhs = assignment.getROperand();
    if(rhs == null || lhs == null)
    {
        return;
    }
    if(!(rhs instanceof JSReferenceExpression) ||
            !(lhs instanceof JSReferenceExpression) )
    {
        return;
    }
    final JSReferenceExpression rhsReference = (JSReferenceExpression) rhs;
    final JSReferenceExpression lhsReference = (JSReferenceExpression) lhs;
    final JSExpression rhsQualifier = rhsReference.getQualifier();
    final JSExpression lhsQualifier = lhsReference.getQualifier();
    if(rhsQualifier !=null || lhsQualifier !=null)
    {
        if(!EquivalenceChecker.expressionsAreEquivalent(rhsQualifier, lhsQualifier))
        {
            return;
        }
    }
    final String rhsName = rhsReference.getReferencedName();
    final String lhsName = lhsReference.getReferencedName();
    if(rhsName == null || lhsName == null)
    {
        return;
    }
    if(!rhsName.equals(lhsName))
    {
        return;
    }
    final PsiElement rhsReferent = rhsReference.resolve();
    final PsiElement lhsReferent = lhsReference.resolve();
    if(rhsReferent != null && lhsReferent != null &&
            !rhsReferent.equals(lhsReferent))
    {
        return;
    }

    if (lhsName.equals("location") && lhsQualifier != null && lhsQualifier.getText().equals("document")) {
      // document.location = document.location causes browser refresh
      return;
    }
    registerError(assignment);
}
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:58,代码来源:SillyAssignmentJSInspection.java

示例15: satisfiedBy

import com.intellij.lang.javascript.psi.JSDefinitionExpression; //导入依赖的package包/类
@Override
public boolean satisfiedBy(@NotNull PsiElement element) {
          if (!(element instanceof JSAssignmentExpression)) {
              return false;
          }
          if (ErrorUtil.containsError(element)) {
              return false;
          }
          final JSAssignmentExpression assignment = (JSAssignmentExpression) element;
          final IElementType           tokenType  = assignment.getOperationSign();
          if (!JSTokenTypes.EQ.equals(tokenType)) {
              return false;
          }
          JSExpression       lhs = assignment.getLOperand();
          final JSExpression rhs = assignment.getROperand();

          if (lhs instanceof JSDefinitionExpression) {
              lhs = ((JSDefinitionExpression) lhs).getExpression();
          }
          if (lhs == null || rhs == null) {
              return false;
          }
          if (!(rhs instanceof JSBinaryExpression)) {
              return false;
          }
          final JSBinaryExpression binaryRhs = (JSBinaryExpression) rhs;
          final JSExpression       rhsRhs    = binaryRhs.getROperand();
          final JSExpression       rhsLhs    = binaryRhs.getLOperand();

          if (rhsRhs == null) {
              return false;
          }

          final IElementType rhsTokenType = binaryRhs.getOperationSign();

          if (JSTokenTypes.OROR  .equals(rhsTokenType)  ||
              JSTokenTypes.ANDAND.equals(rhsTokenType)) {
              return false;
          }
          if (SideEffectChecker.mayHaveSideEffects(lhs)) {
              return false;
          }
          return EquivalenceChecker.expressionsAreEquivalent(lhs, rhsLhs);
      }
 
开发者ID:consulo,项目名称:consulo-javascript,代码行数:45,代码来源:JSReplaceWithOperatorAssignmentIntention.java


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