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


Java XExpression类代码示例

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


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

示例1: setDefault

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setDefault(XExpression newDefault)
{
	if (newDefault != default_)
	{
		NotificationChain msgs = null;
		if (default_ != null)
			msgs = ((InternalEObject)default_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XSWITCH_EXPRESSION__DEFAULT, null, msgs);
		if (newDefault != null)
			msgs = ((InternalEObject)newDefault).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XSWITCH_EXPRESSION__DEFAULT, null, msgs);
		msgs = basicSetDefault(newDefault, msgs);
		if (msgs != null) msgs.dispatch();
	}
	else if (eNotificationRequired())
		eNotify(new ENotificationImpl(this, Notification.SET, XbasePackage.XSWITCH_EXPRESSION__DEFAULT, newDefault, newDefault));
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:21,代码来源:XSwitchExpressionImpl.java

示例2: setNewValue

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setNewValue(XExpression newNewValue)
{
	if (newNewValue != newValue)
	{
		NotificationChain msgs = null;
		if (newValue != null)
			msgs = ((InternalEObject)newValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CheckcfgPackage.CONFIGURED_PARAMETER__NEW_VALUE, null, msgs);
		if (newNewValue != null)
			msgs = ((InternalEObject)newNewValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CheckcfgPackage.CONFIGURED_PARAMETER__NEW_VALUE, null, msgs);
		msgs = basicSetNewValue(newNewValue, msgs);
		if (msgs != null) msgs.dispatch();
	}
	else if (eNotificationRequired())
		eNotify(new ENotificationImpl(this, Notification.SET, CheckcfgPackage.CONFIGURED_PARAMETER__NEW_VALUE, newNewValue, newNewValue));
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:21,代码来源:ConfiguredParameterImpl.java

示例3: setImplicitReceiver

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setImplicitReceiver(XExpression newImplicitReceiver)
{
	if (newImplicitReceiver != implicitReceiver)
	{
		NotificationChain msgs = null;
		if (implicitReceiver != null)
			msgs = ((InternalEObject)implicitReceiver).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XABSTRACT_FEATURE_CALL__IMPLICIT_RECEIVER, null, msgs);
		if (newImplicitReceiver != null)
			msgs = ((InternalEObject)newImplicitReceiver).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XABSTRACT_FEATURE_CALL__IMPLICIT_RECEIVER, null, msgs);
		msgs = basicSetImplicitReceiver(newImplicitReceiver, msgs);
		if (msgs != null) msgs.dispatch();
	}
	else if (eNotificationRequired())
		eNotify(new ENotificationImpl(this, Notification.SET, XbasePackage.XABSTRACT_FEATURE_CALL__IMPLICIT_RECEIVER, newImplicitReceiver, newImplicitReceiver));
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:21,代码来源:XAbstractFeatureCallImpl.java

示例4: isPossibleFunctionType

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
/**
 * Returns false if the argument expression is a lambda and the expected type
 * of the argument is not a function type or {@link Object}.
 * Returns true in all other cases.
 * 
 * This serves as a shortcut to rule out decision path's where a method is overloaded
 * and one of the overloads accepts a function type but the other doesn't. In those cases
 * it is not necessary to compute the type of the lamdba expression twice.
 * 
 * An example for this pattern is {@link IterableExtensions#filter(Iterable, Class)} vs
 * {@link IterableExtensions#filter(Iterable, org.eclipse.xtext.xbase.lib.Functions.Function1)}.
 */
protected boolean isPossibleFunctionType(int idx) {
	if (idx < arguments.getArgumentCount()) {
		XExpression argument = arguments.getArgument(idx);
		if (argument instanceof XClosure) {
			XClosure closure = (XClosure) argument;
			LightweightTypeReference declaredType = arguments.getDeclaredTypeForLambda(idx);
			if (declaredType != null && !declaredType.isType(Object.class)) {
				CommonTypeComputationServices services = getState().getReferenceOwner().getServices();
				JvmOperation operation = services.getFunctionTypes().findImplementingOperation(declaredType);
				if (operation == null) {
					return false;
				}
				if (closure.isExplicitSyntax() && closure.getDeclaredFormalParameters().size() != operation.getParameters().size()) {
					return false;
				}
			}
		}
	}
	return true;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:33,代码来源:AbstractPendingLinkingCandidate.java

示例5: eSet

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void eSet(int featureID, Object newValue)
{
  switch (featureID)
  {
    case FormatPackage.MATCHER__LOCATOR:
      setLocator((Locator)newValue);
      return;
    case FormatPackage.MATCHER__TYPE:
      setType((MatcherType)newValue);
      return;
    case FormatPackage.MATCHER__CONDITION:
      setCondition((XExpression)newValue);
      return;
  }
  super.eSet(featureID, newValue);
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:23,代码来源:MatcherImpl.java

示例6: evaluateAssociatedExpression

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
public EvaluationResult evaluateAssociatedExpression(final XExpression it, final EvaluationContext context) {
  EvaluationResult _switchResult = null;
  boolean _matched = false;
  if (it instanceof XAbstractFeatureCall) {
    JvmIdentifiableElement _feature = ((XAbstractFeatureCall)it).getFeature();
    if ((_feature instanceof JvmEnumerationLiteral)) {
      _matched=true;
      final EvaluationResult arg = this.doEvaluate(it, context);
      Object _rawValue = arg.getRawValue();
      return new EvaluationResult(_rawValue, false);
    }
  }
  if (!_matched) {
    _switchResult = this.doEvaluate(it, context);
  }
  return _switchResult;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:18,代码来源:ConstantConditionsInterpreter.java

示例7: convertMultiType

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
private void convertMultiType(LightweightTypeReference expectation, CompoundTypeReference multiType, XExpression context,
		ITreeAppendable b, Later expression) {
	LightweightTypeReference castTo = null;
	List<LightweightTypeReference> components = multiType.getMultiTypeComponents();
	ITypeReferenceOwner owner = multiType.getOwner();
	LightweightTypeReference commonType = owner.getServices().getTypeConformanceComputer().getCommonSuperType(components, owner);
	if (!isJavaConformant(expectation, commonType)) {
		for(LightweightTypeReference candidate: multiType.getMultiTypeComponents()) {
			if (isJavaConformant(expectation, candidate)) {
				castTo = candidate;
				break;
			}
		}
	}
	if (castTo != null && mustInsertTypeCast(context, castTo)) {
		b.append("((");
		b.append(castTo);
		b.append(")");
		expression.exec(b);
		b.append(")");
	} else {
		expression.exec(b);
	}
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:25,代码来源:TypeConvertingCompiler.java

示例8: toResolvedOperations

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
public ResolvedFeatures toResolvedOperations(final Class<?> type) {
  try {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("typeof(");
    String _canonicalName = type.getCanonicalName();
    _builder.append(_canonicalName);
    _builder.append(")");
    XExpression _expression = this.expression(_builder);
    final XTypeLiteral typeLiteral = ((XTypeLiteral) _expression);
    JvmType _type = typeLiteral.getType();
    final ResolvedFeatures result = this.overrideHelper.getResolvedFeatures(((JvmDeclaredType) _type));
    return result;
  } catch (Throwable _e) {
    throw Exceptions.sneakyThrow(_e);
  }
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:17,代码来源:ResolvedFeaturesTest.java

示例9: setOperand

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setOperand(XExpression newOperand)
{
	if (newOperand != operand)
	{
		NotificationChain msgs = null;
		if (operand != null)
			msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XPOSTFIX_OPERATION__OPERAND, null, msgs);
		if (newOperand != null)
			msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XPOSTFIX_OPERATION__OPERAND, null, msgs);
		msgs = basicSetOperand(newOperand, msgs);
		if (msgs != null) msgs.dispatch();
	}
	else if (eNotificationRequired())
		eNotify(new ENotificationImpl(this, Notification.SET, XbasePackage.XPOSTFIX_OPERATION__OPERAND, newOperand, newOperand));
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:21,代码来源:XPostfixOperationImpl.java

示例10: isImplicitReturn

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
protected boolean isImplicitReturn(ITypeComputationResult expressionResult) {
	int flags = expressionResult.getConformanceFlags();
	if ((ConformanceFlags.NO_IMPLICIT_RETURN & flags) != 0) {
		return false;
	}
	XExpression expression = expressionResult.getExpression();
	if (expression == null) {
		return true;
	}
	if (expression.eClass() == XbasePackage.Literals.XRETURN_EXPRESSION) {
		return false;
	}
	TreeIterator<EObject> contents = expression.eAllContents();
	while (contents.hasNext()) {
		EObject next = contents.next();
		if (next.eClass() == XbasePackage.Literals.XRETURN_EXPRESSION) {
			return false;
		}
		if (next.eClass() == XbasePackage.Literals.XCLOSURE) {
			contents.prune();
		}
	}
	return true;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:25,代码来源:ClosureWithExpectationHelper.java

示例11: setExpression

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public void setExpression(XExpression newExpression)
{
	if (newExpression != expression)
	{
		NotificationChain msgs = null;
		if (expression != null)
			msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XBASIC_FOR_LOOP_EXPRESSION__EXPRESSION, null, msgs);
		if (newExpression != null)
			msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XBASIC_FOR_LOOP_EXPRESSION__EXPRESSION, null, msgs);
		msgs = basicSetExpression(newExpression, msgs);
		if (msgs != null) msgs.dispatch();
	}
	else if (eNotificationRequired())
		eNotify(new ENotificationImpl(this, Notification.SET, XbasePackage.XBASIC_FOR_LOOP_EXPRESSION__EXPRESSION, newExpression, newExpression));
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:21,代码来源:XBasicForLoopExpressionImpl.java

示例12: testExtends

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
@Test
public void testExtends() {
  try {
    final XExpression expression = this.expression("null", false);
    final Procedure1<JvmGenericType> _function = (JvmGenericType it) -> {
      it.setAbstract(true);
      EList<JvmTypeReference> _superTypes = it.getSuperTypes();
      JvmTypeReference _typeRef = this.typeRef(expression, AbstractList.class, String.class);
      this.builder.<JvmTypeReference>operator_add(_superTypes, _typeRef);
    };
    final JvmGenericType clazz = this.builder.toClass(expression, "my.test.Foo", _function);
    final Class<?> compiled = this.compile(expression.eResource(), clazz);
    Assert.assertTrue(Iterable.class.isAssignableFrom(compiled));
    Assert.assertTrue(AbstractList.class.isAssignableFrom(compiled));
  } catch (Throwable _e) {
    throw Exceptions.sneakyThrow(_e);
  }
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:19,代码来源:JvmModelGeneratorTest.java

示例13: testSwitchDeclaredParameter_5

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
@Test
public void testSwitchDeclaredParameter_5() {
  try {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("{");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("switch (Integer x : \"lalala\") {");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("}");
    _builder.newLine();
    _builder.append("}");
    _builder.newLine();
    final XExpression block = this.expression(_builder);
    this._validationTestHelper.assertError(block, XbasePackage.Literals.XSTRING_LITERAL, IssueCodes.INCOMPATIBLE_TYPES);
    this._validationTestHelper.assertWarning(block, TypesPackage.Literals.JVM_FORMAL_PARAMETER, IssueCodes.UNUSED_LOCAL_VARIABLE);
  } catch (Throwable _e) {
    throw Exceptions.sneakyThrow(_e);
  }
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:22,代码来源:XbaseValidationTest.java

示例14: isVariableDeclarationRequired

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
protected boolean isVariableDeclarationRequired(XAbstractFeatureCall featureCall, XExpression expression, ITreeAppendable b) {
	if (featureCall == null) 
		return false;
	
	XExpression actualReceiver = normalizeBlockExpression(getActualReceiver(featureCall));
	List<XExpression> arguments = getActualArguments(featureCall);
	
	XExpression argument = normalizeBlockExpression(expression);
	
	int argumentIndex = -1;
	if (actualReceiver != argument) {
		argumentIndex = arguments.indexOf(argument);
		if (argumentIndex == -1)
			return false;
	}
	
	if (!expressionHelper.hasSideEffects(argument))
		return false;
	
	int startIndex = argumentIndex + 1;
	int endIndex = arguments.size();
	for (int i = startIndex; i < endIndex; i++) {
		if (isVariableDeclarationRequired(arguments.get(i), b, false))
			return true;
	}
	return false;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:28,代码来源:FeatureCallCompiler.java

示例15: evaluatesTo

import org.eclipse.xtext.xbase.XExpression; //导入依赖的package包/类
protected void evaluatesTo(final Pair<String, String> typeAndExpression, final Procedure1<? super Object> assertions) {
  try {
    final String type = typeAndExpression.getKey();
    final String expression = typeAndExpression.getValue();
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("{");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("val");
    {
      if ((type != null)) {
        _builder.append(" ");
        _builder.append(type, "\t");
      }
    }
    _builder.append(" testFoo = ");
    _builder.append(expression, "\t");
    _builder.newLineIfNotEmpty();
    _builder.append("}");
    _builder.newLine();
    final String charSequence = _builder.toString();
    XExpression _expression = this.expression(charSequence, true);
    final XBlockExpression blockExpression = ((XBlockExpression) _expression);
    XExpression _head = IterableExtensions.<XExpression>head(blockExpression.getExpressions());
    final XVariableDeclaration variableDeclaration = ((XVariableDeclaration) _head);
    this.evaluatesTo(variableDeclaration, assertions);
  } catch (Throwable _e) {
    throw Exceptions.sneakyThrow(_e);
  }
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:31,代码来源:SwitchConstantExpressionsInterpreterTest.java


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