gpt4 book ai didi

org.eclipse.xtext.xbase.XFeatureCall.getFeature()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-26 13:17:05 27 4
gpt4 key购买 nike

本文整理了Java中org.eclipse.xtext.xbase.XFeatureCall.getFeature()方法的一些代码示例,展示了XFeatureCall.getFeature()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XFeatureCall.getFeature()方法的具体详情如下:
包路径:org.eclipse.xtext.xbase.XFeatureCall
类名称:XFeatureCall
方法名:getFeature

XFeatureCall.getFeature介绍

[英]Returns the value of the 'Feature Call Arguments' containment reference list. The list contents are of type org.eclipse.xtext.xbase.XExpression.

If the meaning of the 'Feature Call Arguments' containment reference list isn't clear, there really should be more of a description here...
[中]返回“功能调用参数”包含引用列表的值。列表内容的类型为org。日食xtext。xbase。XExpression。
如果“Feature Call Arguments”包含引用列表的含义不清楚,那么这里真的应该有更多的描述。。。

代码示例

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected boolean isSimpleFeatureCall(XExpression switch1) {
  if (switch1 instanceof XFeatureCall)  {
    XFeatureCall featureCall = (XFeatureCall) switch1;
    return !(featureCall.getFeature() instanceof JvmOperation);
  }
  return false;
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

@Check
public void checkConstructorArgumentsAreValid(XFeatureCall featureCall) {
  JvmIdentifiableElement feature = featureCall.getFeature();
  if (feature != null && !feature.eIsProxy() && feature instanceof JvmConstructor) {
    JvmType containerType = EcoreUtil2.getContainerOfType(logicalContainerProvider.getNearestLogicalContainer(featureCall), JvmType.class);
    for(XExpression argument: featureCall.getFeatureCallArguments()) {
      checkIsValidConstructorArgument(argument, containerType);
    }
  }
}

代码示例来源:origin: org.eclipse.xtend/org.eclipse.xtend.core

protected boolean isDelegateConstructorCall(XExpression expression) {
  if(expression instanceof XFeatureCall) {
    JvmIdentifiableElement feature = ((XFeatureCall)expression).getFeature();
    return (feature != null && !feature.eIsProxy() && feature instanceof JvmConstructor);
  }
  return false;
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected boolean hasJvmConstructorCall(XExpression obj) {
  if (!(obj instanceof XBlockExpression)) {
    return false;
  }
  XBlockExpression blockExpression = (XBlockExpression) obj;
  EList<XExpression> expressions = blockExpression.getExpressions();
  if (expressions.isEmpty()) {
    return false;
  }
  XExpression expr = expressions.get(0);
  if (!(expr instanceof XFeatureCall)) {
    return false;
  }
  XFeatureCall featureCall = (XFeatureCall) expr;
  return featureCall.getFeature() instanceof JvmConstructor;
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected void _visit(final XFeatureCall semanticObj, final INode originNode, final ImportsAcceptor acceptor) {
 if (((semanticObj.getFeature() instanceof JvmType) && semanticObj.isTypeLiteral())) {
  JvmIdentifiableElement _feature = semanticObj.getFeature();
  this.visit(((JvmType) _feature), originNode, acceptor);
 } else {
  this.collectStaticImportsFrom(semanticObj, acceptor);
 }
}

代码示例来源:origin: io.sarl.lang/io.sarl.lang

private String getReferenceName(XExpression expr) {
  if (this.codeReceiver.hasName(expr)) {
    return this.codeReceiver.getName(expr);
  }
  if (expr instanceof XFeatureCall) {
    final XFeatureCall featureCall = (XFeatureCall) expr;
    if (this.codeReceiver.hasName(featureCall.getFeature())) {
      return this.codeReceiver.getName(featureCall.getFeature());
    }
  }
  return null;
}

代码示例来源:origin: io.sarl.lang/io.sarl.lang

/** Replies all the variables that are referenced into the given expression.
 *
 * @param expression the expression.
 * @param onlyWritable if {@code true} only the writable variables are replied. Otherwise, all variables are replied.
 * @return the referenced variables.
 */
@SuppressWarnings("static-method")
protected Map<XVariableDeclaration, XFeatureCall> getReferencedLocalVariable(XExpression expression, boolean onlyWritable) {
  final Map<XVariableDeclaration, XFeatureCall> localVariables = new TreeMap<>((k1, k2) -> {
    return k1.getIdentifier().compareTo(k2.getIdentifier());
  });
  for (final XFeatureCall featureCall : EcoreUtil2.getAllContentsOfType(expression, XFeatureCall.class)) {
    if (featureCall.getFeature() instanceof XVariableDeclaration) {
      final XVariableDeclaration localVariable = (XVariableDeclaration) featureCall.getFeature();
      if ((!onlyWritable || localVariable.isWriteable()) && !localVariables.containsKey(localVariable)) {
        localVariables.put(localVariable, featureCall);
      }
    }
  }
  return localVariables;
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

@Check
public void checkExplicitOperationCall(XFeatureCall featureCall) {
  if (featureCall.getFeature() instanceof JvmOperation 
      && !featureCall.isExplicitOperationCallOrBuilderSyntax()
      && featureCall.getFeature().getSimpleName().equals(featureCall.getConcreteSyntaxFeatureName())) {
    addIssue("Method call without parentheses", featureCall, XbasePackage.Literals.XABSTRACT_FEATURE_CALL__FEATURE, OPERATION_WITHOUT_PARENTHESES);
  }
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected boolean isReferenceToSelf(XFeatureCall featureCall, JvmType type) {
  return !featureCall.isTypeLiteral() && !featureCall.isPackageFragment()
      && type.equals(featureCall.getFeature())
      && IFeatureNames.SELF.getFirstSegment().equals(featureCall.getConcreteSyntaxFeatureName());
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

/**
 * @return the variable name under which the result of the expression is stored. Returns <code>null</code> if the
 *          expression hasn't been assigned to a local variable before.
 */
/* @Nullable */
protected String getReferenceName(XExpression expr, ITreeAppendable b) {
  if (b.hasName(expr))
    return b.getName(expr);
  if (expr instanceof XFeatureCall) {
    XFeatureCall featureCall = (XFeatureCall) expr;
    if (b.hasName(featureCall.getFeature()))
      return b.getName(featureCall.getFeature());
  }
  return null;
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected Object _doEvaluate(XFeatureCall featureCall, IEvaluationContext context, CancelIndicator indicator) {
  if (featureCall.isTypeLiteral()) {
    JvmType type = (JvmType) featureCall.getFeature();
    Object result = translateJvmTypeToResult(type, 0);
    return result;
  } else {
    return _doEvaluate((XAbstractFeatureCall) featureCall, context, indicator);
  }
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected boolean isValidStaticState(XExpression receiver) {
  boolean validStaticState = true;
  if (receiver instanceof XMemberFeatureCall) {
    XExpression thisReference = ((XMemberFeatureCall) receiver).getMemberCallTarget();
    if (thisReference instanceof XFeatureCall && ((XFeatureCall) thisReference).getFeature() instanceof JvmType) {
      validStaticState = getSession().isInstanceContext();
    }
  }
  return validStaticState;
}

代码示例来源:origin: io.sarl.lang/io.sarl.lang

private static void loopReceiver(LinkedList<String> sourceFeature, Object obj) {
  if (obj instanceof XMemberFeatureCall) {
    final XMemberFeatureCall memberFeatureCall = (XMemberFeatureCall) obj;
    sourceFeature.addFirst(memberFeatureCall.getFeature().getSimpleName());
    loopReceiver(sourceFeature, memberFeatureCall.getMemberCallTarget());
  } else if (obj instanceof XFeatureCall) {
    final XFeatureCall featureCall = (XFeatureCall) obj;
    sourceFeature.addFirst(featureCall.getFeature().getIdentifier());
  }
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected void _toJavaStatement(final XFeatureCall expr, final ITreeAppendable b, boolean isReferenced) {
  // if it's a call to this() or super() make sure the arguments are forced to be compiled to expressions.
  if (expr.getFeature() instanceof JvmConstructor) {
    b.newLine();
    featureCalltoJavaExpression(expr, b, false);
    b.append(";");
  } else {
    _toJavaStatement((XAbstractFeatureCall) expr, b, isReferenced);
  }
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected boolean hasConstructorCallWithThis(JvmConstructor constr) {
  XExpression associatedExpression = logicalContainerProvider.getAssociatedExpression(constr);
  if (associatedExpression == null) {
    return false;
  }
  TreeIterator<EObject> contents = associatedExpression.eAllContents();
  while (contents.hasNext()) {
    EObject next = contents.next();
    if (next instanceof XFeatureCall) {
      XFeatureCall featureCall = (XFeatureCall) next;
      if (featureCall.getFeature() instanceof JvmConstructor && featureCall.getConcreteSyntaxFeatureName().equals(IFeatureNames.THIS.toString())) {
        return true;
      }
    }
  }
  return false;
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected String getSwitchLocalVariableSimpleName(XSwitchExpression expr) {
  IdentifiableSimpleNameProvider nameProvider = getNameProvider();
  String varName = nameProvider.getSimpleName(expr.getDeclaredParam());
  if (varName != null) {
    return varName;
  }
  XExpression expression = expr.getSwitch();
  if (!(expression instanceof XFeatureCall)) {
    return null;
  }
  XFeatureCall featureCall = (XFeatureCall) expression;
  JvmIdentifiableElement feature = featureCall.getFeature();
  return nameProvider.getSimpleName(feature);
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

@Override
protected boolean validateArity(IAcceptor<? super AbstractDiagnostic> result) {
  if (getFeatureCall() instanceof XFeatureCall) {
    XExpression implicitReceiver = getImplicitReceiver();
    if (implicitReceiver instanceof XFeatureCall) {
      JvmIdentifiableElement feature = ((XFeatureCall) implicitReceiver).getFeature();
      if (feature instanceof JvmType && !getState().isInstanceContext()) {
        return false;
      }
    }
  }
  return super.validateArity(result);
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

@Check
public void checkDelegateConstructorIsFirst(XFeatureCall featureCall) {
  JvmIdentifiableElement feature = featureCall.getFeature();
  if (feature != null && !feature.eIsProxy() && feature instanceof JvmConstructor) {
    JvmIdentifiableElement container = logicalContainerProvider.getNearestLogicalContainer(featureCall);
    if (container != null) {
      if (container instanceof JvmConstructor) {
        XExpression body = logicalContainerProvider.getAssociatedExpression(container);
        if (body == featureCall)
          return;
        if (body instanceof XBlockExpression) {
          List<XExpression> expressions = ((XBlockExpression) body).getExpressions();
          if (expressions.isEmpty() || expressions.get(0) != featureCall) {
            error("Constructor call must be the first expression in a constructor", null, INVALID_CONSTRUCTOR_INVOCATION);
          }
        }
      } else {
        error("Constructor call must be the first expression in a constructor", null, INVALID_CONSTRUCTOR_INVOCATION);
      }
    }
  }
}

代码示例来源:origin: io.sarl.lang/io.sarl.lang

/** Check for usage of the event functions in the behavior units.
 *
 * @param unit the unit to analyze.
 */
@Check(CheckType.EXPENSIVE)
public void checkUnmodifiableEventAccess(SarlBehaviorUnit unit) {
  final boolean enable1 = !isIgnored(IssueCodes.DISCOURAGED_OCCURRENCE_READONLY_USE);
  final XExpression root = unit.getExpression();
  final String occurrenceKw = this.grammarAccess.getOccurrenceKeyword();
  for (final XFeatureCall child : EcoreUtil2.getAllContentsOfType(root, XFeatureCall.class)) {
    if (occurrenceKw.equals(child.getFeature().getIdentifier())) {
      checkUnmodifiableFeatureAccess(enable1, child, occurrenceKw);
    }
  }
}

代码示例来源:origin: org.eclipse.xtext/org.eclipse.xtext.xbase

protected String getSwitchLocalVariableName(XSwitchExpression expr, ITreeAppendable b) {
  JvmFormalParameter declaredParam = expr.getDeclaredParam();
  if (declaredParam != null) {
    if (b.hasName(declaredParam)) {
      return b.getName(declaredParam);
    }
    return null;
  }
  XExpression switchExpression = expr.getSwitch();
  if (b.hasName(switchExpression)) {
    return b.getName(switchExpression);
  } 
  if (switchExpression instanceof XFeatureCall) {
    XFeatureCall featureCall = (XFeatureCall) switchExpression;
    JvmIdentifiableElement feature = featureCall.getFeature();
    if (b.hasName(feature)) {
      return b.getName(feature);
    }
  }
  return null;
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com