• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java XAssignment类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: getConformanceFlags

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
@Override
protected int getConformanceFlags(int idx, boolean recompute) {
	if (isStatic()) {
		if (idx == -1) {
			return ConformanceFlags.CHECKED_SUCCESS;
		}
	}
	if (idx == 0) {
		if (getReceiver() != null) {
			int result = getReceiverConformanceFlags();
			return result;
		}
	} else if (idx == 1) {
		if (getExpression() instanceof XAssignment && getFeature() instanceof JvmField) {
			return super.getConformanceFlags(0, recompute);
		}
	}
	return super.getConformanceFlags(idx, recompute);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:20,代码来源:FeatureLinkingCandidate.java


示例2: getSyntacticReceiver

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
public XExpression getSyntacticReceiver(XExpression expression) {
	if (expression instanceof XAbstractFeatureCall) {
		if (expression instanceof XFeatureCall) {
			return null;
		}
		if (expression instanceof XMemberFeatureCall) {
			return ((XMemberFeatureCall) expression).getMemberCallTarget();
		}
		if (expression instanceof XAssignment) {
			return ((XAssignment) expression).getAssignable();
		}
		if (expression instanceof XBinaryOperation) {
			return ((XBinaryOperation) expression).getLeftOperand();
		}
		if (expression instanceof XUnaryOperation) {
			return ((XUnaryOperation) expression).getOperand();
		}
		if (expression instanceof XPostfixOperation) {
			return ((XPostfixOperation) expression).getOperand();
		}
	}
	return null;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:24,代码来源:FeatureLinkHelper.java


示例3: getSyntacticArguments

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
public List<XExpression> getSyntacticArguments(XAbstractFeatureCall expression) {
	if (expression instanceof XFeatureCall) {
		return ((XFeatureCall) expression).getFeatureCallArguments();
	}
	if (expression instanceof XMemberFeatureCall) {
		return ((XMemberFeatureCall) expression).getMemberCallArguments();
	}
	if (expression instanceof XAssignment) {
		return Collections.singletonList(((XAssignment) expression).getValue());
	}
	if (expression instanceof XBinaryOperation) {
		return Collections.singletonList(((XBinaryOperation) expression).getRightOperand());
	}
	// explicit condition to make sure we thought about it
	if (expression instanceof XUnaryOperation) {
		return Collections.emptyList();
	}
	if (expression instanceof XPostfixOperation) {
		return Collections.emptyList();
	}
	return Collections.emptyList();
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:23,代码来源:FeatureLinkHelper.java


示例4: processAsPropertyNames

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
/**
 * Considers the given name to be a property name. If the concrete syntax of the
 * processed feature matches a feature call or assignment, a prefix is added to the
 * name and that one is used as a variant that should be processed. 
 */
protected void processAsPropertyNames(QualifiedName name, NameAcceptor acceptor) {
	String nameAsPropertyName = tryGetAsPropertyName(name.toString());
	if (nameAsPropertyName != null) {
		if (featureCall == null || featureCall instanceof XAssignment) {
			String aliasedSetter = "set" + nameAsPropertyName;
			acceptor.accept(aliasedSetter, 2);
		}
		if (!(featureCall instanceof XAssignment)) {
			if (featureCall == null || !getFeatureCall().isExplicitOperationCallOrBuilderSyntax()) {
				String aliasedGetter = "get" + nameAsPropertyName;
				acceptor.accept(aliasedGetter, 2);
				String aliasedBooleanGetter = "is" + nameAsPropertyName;
				acceptor.accept(aliasedBooleanGetter, 2);
			}
		}
	}
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:23,代码来源:AbstractSessionBasedScope.java


示例5: featureCalltoJavaExpression

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected void featureCalltoJavaExpression(final XAbstractFeatureCall call, ITreeAppendable b, boolean isExpressionContext) {
	if (call instanceof XAssignment) {
		assignmentToJavaExpression((XAssignment) call, b, isExpressionContext);
	} else {
		if (needMultiAssignment(call)) {
			appendLeftOperand(call, b, isExpressionContext).append(" = ");
		}
		final JvmAnnotationReference annotationRef = this.expressionHelper.findInlineAnnotation(call);
		if (annotationRef == null || !isConstantExpression(annotationRef)) {
			boolean hasReceiver = appendReceiver(call, b, isExpressionContext);
			if (hasReceiver) {
				b.append(".");
				b = appendTypeArguments(call, b);
			}
		}
		appendFeatureCall(call, b);
	}
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:19,代码来源:FeatureCallCompiler.java


示例6: createExpressionArguments

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
public IFeatureCallArguments createExpressionArguments(XExpression expression, AbstractLinkingCandidate<?> candidate) {
	JvmIdentifiableElement feature = candidate.getFeature();
	if (feature instanceof JvmExecutable) {
		JvmExecutable executable = (JvmExecutable) feature;
		return createArgumentsForExecutable(executable.isVarArgs(), candidate.getArguments(), executable.getParameters(), candidate.hasReceiver(), candidate.getState().getReferenceOwner());
	} else {
		if (expression instanceof XAssignment) {
			XAssignment assignment = (XAssignment) expression;
			LightweightTypeReference featureType = candidate.getActualType(candidate.getFeature(), true);
			return new AssignmentFeatureCallArguments(assignment.getValue(), featureType);
		} else {
			return new StandardFeatureCallArguments(candidate.getArguments(), Collections.<JvmFormalParameter>emptyList(), candidate.hasReceiver(), candidate.getState().getReferenceOwner());
		}
	}
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:16,代码来源:ExpressionArgumentFactory.java


示例7: mustDiscardRefinement

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected boolean mustDiscardRefinement() {
	Expression expression = getExpression();
	if (expression instanceof XAssignment) {
		JvmIdentifiableElement feature = getFeature();
		if (feature instanceof XVariableDeclaration) {
			return ((XVariableDeclaration) feature).isWriteable();
		}
		if (feature instanceof JvmField) {
			return !((JvmField) feature).isFinal();
		}
	}
	return false;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:14,代码来源:AbstractLinkingCandidate.java


示例8: isStaticWithDeclaringType

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected boolean isStaticWithDeclaringType() {
	XAbstractFeatureCall featureCall = getFeatureCall();
	if (featureCall instanceof XMemberFeatureCall) {
		return ((XMemberFeatureCall) featureCall).isStaticWithDeclaringType();
	}
	if (featureCall instanceof XAssignment) {
		return isStaticWithDeclaringType((XAssignment) featureCall);
	}
	return false;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:11,代码来源:FeatureLinkingCandidate.java


示例9: isOperationCallSyntax

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected boolean isOperationCallSyntax() {
	XAbstractFeatureCall featureCall = getFeatureCall();
	if (featureCall instanceof XBinaryOperation || featureCall instanceof XAssignment) {
		return false;
	}
	return featureCall.isExplicitOperationCallOrBuilderSyntax();
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:8,代码来源:FeatureLinkingCandidate.java


示例10: isAssignmentOrMemberFeatureCall

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected boolean isAssignmentOrMemberFeatureCall() {
	if (getImplicitReceiverType() != null)
		return true;
	XAbstractFeatureCall featureCall = getFeatureCall();
	if (featureCall instanceof XAssignment) {
		return isSimpleAssignment((XAssignment) featureCall);
	}
	return featureCall instanceof XMemberFeatureCall;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:10,代码来源:FeatureLinkingCandidate.java


示例11: compareByArgumentTypes

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
@Override
protected CandidateCompareResult compareByArgumentTypes(AbstractPendingLinkingCandidate<?> right, boolean recompute) {
	CandidateCompareResult result = super.compareByArgumentTypes(right, recompute);
	if (result == CandidateCompareResult.AMBIGUOUS && getExpression() instanceof XAssignment) {
		if (description.isValidStaticState() == right.description.isValidStaticState()) {
			if (getFeature() instanceof JvmExecutable != right.getFeature() instanceof JvmExecutable) {
				if (getFeature() instanceof JvmExecutable) {
					return CandidateCompareResult.OTHER;
				}
				return CandidateCompareResult.THIS;
			}
		}
	}
	return result;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:16,代码来源:FeatureLinkingCandidate.java


示例12: compareByAssignmentName

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected CandidateCompareResult compareByAssignmentName(AbstractPendingLinkingCandidate<?> right) {
	if (getExpression() instanceof XAssignment) {
		if (isValidAssignmentName(description)) {
			if (!isValidAssignmentName(right.description)) {
				return CandidateCompareResult.THIS;
			}
		} else if (isValidAssignmentName(right.description)) {
			return CandidateCompareResult.OTHER;
		} else {
			return CandidateCompareResult.EQUALLY_INVALID;
		}
	}
	return CandidateCompareResult.AMBIGUOUS;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:15,代码来源:FeatureLinkingCandidate.java


示例13: compareByArityWith

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
@Override
protected CandidateCompareResult compareByArityWith(AbstractPendingLinkingCandidate<?> right) {
	CandidateCompareResult result = super.compareByArityWith(right);
	if (result == CandidateCompareResult.AMBIGUOUS) {
		boolean isExecutable = getFeature() instanceof JvmExecutable;
		if (isExecutable != right.getFeature() instanceof JvmExecutable && isVisible() == right.isVisible() && isTypeLiteral() == right.isTypeLiteral()) {
			// XAssignments return true from #isExplicitOperationCall though they may link to
			// a field or local variable
			if (!(getExpression() instanceof XAssignment) && isExplicitOperationCall()) {
				if (isExecutable)
					return CandidateCompareResult.THIS;
				return CandidateCompareResult.OTHER;
			}
		} else if (getFeature() == right.getFeature() && right instanceof FeatureLinkingCandidate) {
			FeatureLinkingCandidate casted = (FeatureLinkingCandidate) right;
			if (isStatic() && casted.isStatic()) {
				if (getImplicitReceiver() != casted.getImplicitReceiver()) {
					if (getImplicitReceiver() != null) {
						return CandidateCompareResult.OTHER;
					}
					return CandidateCompareResult.THIS;
				}
				// we link to identical static features with equal assumptions
				// stop comparison and take this one
				if (getReceiver() == casted.getReceiver() 
						&& isSyntacticReceiverPossibleArgument() == casted.isSyntacticReceiverPossibleArgument()) {
					return CandidateCompareResult.THIS; 
				}
			}
		}
	}
	return result;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:34,代码来源:FeatureLinkingCandidate.java


示例14: getArityMismatch

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
/**
 * Returns the mismatch of actually given arguments and declared parameters.
 * Receivers and staticness of the feature is taken into account, too. The mismatch
 * may either be negative or positive.
 */
public int getArityMismatch() {
	JvmIdentifiableElement identifiable = getFeature();
	if (identifiable instanceof JvmExecutable) {
		return getArityMismatch((JvmExecutable) identifiable, getArguments());
	} else if (getExpression() instanceof XAssignment) {
		return getArguments().size() - 1;
	} else {
		return getArguments().size();
	}
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:16,代码来源:AbstractPendingLinkingCandidate.java


示例15: getLocationNodes

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
@Override
protected List<INode> getLocationNodes(EObject obj) {
	if (obj instanceof XMemberFeatureCall || obj instanceof XAssignment || obj instanceof XFeatureCall) {
		List<INode> resultNodes = Lists.newArrayList();
		final ICompositeNode startNode = findNodeFor(obj);
		boolean crossRefConsumed = false;
		for (INode child : startNode.getChildren()) {
			if (crossRefConsumed) {
				resultNodes.add(child);
			} else {
				EObject grammarElement = child.getGrammarElement();
				if (grammarElement instanceof CrossReference) {
					// We don't use the grammar access to be more robust against
					// overwriting grammars
					Assignment assignment = GrammarUtil.containingAssignment(grammarElement);
					if (XbasePackage.Literals.XABSTRACT_FEATURE_CALL__FEATURE.getName().equals(assignment.getFeature())) {
						crossRefConsumed = true;
						resultNodes.add(child);
					}
				}
			} 
		}
		if (!resultNodes.isEmpty())
			return resultNodes;
	}
	return super.getLocationNodes(obj);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:28,代码来源:XbaseLocationInFileProvider.java


示例16: canBeLocalVariable

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected boolean canBeLocalVariable() {
	XAbstractFeatureCall featureCall = getFeatureCall();
	if (featureCall != null) {
		return looksLikeLocalVariable(featureCall) || featureCall instanceof XAssignment;
	}
	return true;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:8,代码来源:LocalVariableScope.java


示例17: hasSideEffects

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
public boolean hasSideEffects(XAbstractFeatureCall featureCall, boolean inspectContents) {
	if (featureCall instanceof XBinaryOperation) {
		XBinaryOperation binaryOperation = (XBinaryOperation) featureCall;
		if (binaryOperation.isReassignFirstArgument()) {
			return true;
		}
	}
	if (featureCall instanceof XAssignment) {
		return true;
	}
	if (featureCall.isPackageFragment() || featureCall.isTypeLiteral()) {
		return false;
	}
	final JvmIdentifiableElement feature = featureCall.getFeature();
	if (feature == null || feature.eIsProxy())
		return true; // linking problems ... could be anything
	if (feature instanceof JvmConstructor) { //super() and this()
		return true;
	}
	if (feature instanceof JvmOperation) {
		JvmOperation jvmOperation = (JvmOperation) feature;
		if (findPureAnnotation(jvmOperation) == null) {
			return true;
		} else {
			if(inspectContents) {
				for (XExpression param : featureCall.getActualArguments()) {
					if (hasSideEffects(param))
						return true;
				}
			}
		}
	}
	return false;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:35,代码来源:XExpressionHelper.java


示例18: _doEvaluate

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected Object _doEvaluate(XAssignment assignment, IEvaluationContext context, CancelIndicator indicator) {
	JvmIdentifiableElement feature = assignment.getFeature();
	if (feature instanceof JvmOperation && ((JvmOperation) feature).isVarArgs()) {
		return _doEvaluate((XAbstractFeatureCall) assignment, context, indicator);
	}
	Object value = internalEvaluate(assignment.getValue(), context, indicator);
	Object assign = assignValueTo(feature, assignment, value, context, indicator);
	return assign;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:10,代码来源:XbaseInterpreter.java


示例19: completeXMemberFeatureCall

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
protected void completeXMemberFeatureCall(final EObject model, final Assignment assignment, final ContentAssistContext context, final IIdeContentProposalAcceptor acceptor) {
  if ((model instanceof XMemberFeatureCall)) {
    AbstractElement _terminal = assignment.getTerminal();
    this.createReceiverProposals(((XMemberFeatureCall)model).getMemberCallTarget(), 
      ((CrossReference) _terminal), context, acceptor);
  } else {
    if ((model instanceof XAssignment)) {
      AbstractElement _terminal_1 = assignment.getTerminal();
      this.createReceiverProposals(((XAssignment)model).getAssignable(), 
        ((CrossReference) _terminal_1), context, acceptor);
    }
  }
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:14,代码来源:XbaseIdeContentProposalProvider.java


示例20: testAssignment_rhs_01

import org.eclipse.xtext.xbase.XAssignment; //导入依赖的package包/类
@Test public void testAssignment_rhs_01() throws Exception {
	String text = "a=b";
	XAssignment assignment = (XAssignment) expression(text);
	List<INode> nodesForFeature = NodeModelUtils.findNodesForFeature(assignment, XbasePackage.Literals.XASSIGNMENT__VALUE);
	assertEquals(1, nodesForFeature.size());
	String nodeText = nodesForFeature.get(0).getText();
	assertEquals("b", nodeText);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:9,代码来源:XbaseNodeModelTest.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java StorageType类代码示例发布时间:2022-05-22
下一篇:
Java BasicVerifier类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap