gpt4 book ai didi

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

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

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

XFeatureCall.setFeature介绍

暂无

代码示例

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

protected IFeatureScopeSession addExtensionsToMemberSession(ResolvedTypes resolvedTypes,
    IFeatureScopeSession featureScopeSession, JvmDeclaredType type) {
  IEObjectDescription thisDescription = featureScopeSession.getLocalElement(IFeatureNames.THIS);
  if (thisDescription == null) {
    throw new IllegalStateException("Cannot find feature 'THIS'");
  }
  JvmIdentifiableElement thisFeature = (JvmIdentifiableElement) thisDescription.getEObjectOrProxy();
  IFeatureScopeSession childSession = addExtensionFieldsToMemberSession(
      resolvedTypes, featureScopeSession, type, thisFeature, Sets.<String>newHashSetWithExpectedSize(8), Sets.<JvmType>newHashSetWithExpectedSize(4));
  XFeatureCall thisAccess = getXbaseFactory().createXFeatureCall();
  thisAccess.setFeature(thisFeature);
  LightweightTypeReference thisType = resolvedTypes.getActualType(thisFeature);
  childSession = childSession.addToExtensionScope(Collections.<XExpression, LightweightTypeReference>singletonMap(thisAccess, thisType));
  return childSession;
}

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

@Override
public void addExtensionsToCurrentScope(List<? extends JvmIdentifiableElement> extensionProviders) {
  if (extensionProviders.isEmpty())
    return;
  if (extensionProviders.size() == 1) {
    addExtensionToCurrentScope(extensionProviders.get(0));
    return;
  }
  Map<XExpression, LightweightTypeReference> prototypeToType = Maps2.newLinkedHashMapWithExpectedSize(extensionProviders.size());
  for(JvmIdentifiableElement extensionProvider: extensionProviders) {
    LightweightTypeReference knownType = getResolvedTypes().getActualType(extensionProvider);
    if (knownType != null && !knownType.isAny() && !knownType.isUnknown()) {
      XFeatureCall prototype = getResolver().getXbaseFactory().createXFeatureCall();
      prototype.setFeature(extensionProvider);
      prototypeToType.put(prototype, knownType);
    }
  }
  if (!prototypeToType.isEmpty())
    featureScopeSession = featureScopeSession.addToExtensionScope(prototypeToType);
}

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

private static void createInfoCall(IExpressionBuilder builder, String message) {
  final JvmParameterizedTypeReference capacity = builder.newTypeRef(null, LOGGING_CAPACITY_NAME);
  final String objectType = Object.class.getName();
  final String objectArrayType = objectType + "[]"; //$NON-NLS-1$
  final JvmOperation infoMethod = Iterables.find(
      ((JvmDeclaredType) capacity.getType()).getDeclaredOperations(), it -> {
      if (Objects.equals(it.getSimpleName(), "info") //$NON-NLS-1$
          && it.getParameters().size() == 2) {
        final String type1 = it.getParameters().get(0).getParameterType().getIdentifier();
        final String type2 = it.getParameters().get(1).getParameterType().getIdentifier();
        return Objects.equals(objectType, type1) && Objects.equals(objectArrayType, type2);
      }
      return false;
    },
    null);
  if (infoMethod != null) {
    builder.setExpression("info(\"" + message + "\")"); //$NON-NLS-1$ //$NON-NLS-2$
    ((XFeatureCall) builder.getXExpression()).setFeature(infoMethod);
  }
}

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

protected XAbstractFeatureCall createExtensionProvider(JvmIdentifiableElement thisFeature, JvmField field) {
  if (field.isStatic()) {
    XFeatureCall extensionProvider = getXbaseFactory().createXFeatureCall();
    extensionProvider.setFeature(field);
    return extensionProvider;
  } else {
    XMemberFeatureCall extensionProvider = getXbaseFactory().createXMemberFeatureCall();
    extensionProvider.setFeature(field);
    XFeatureCall thisAccess = getXbaseFactory().createXFeatureCall();
    thisAccess.setFeature(thisFeature);
    extensionProvider.setMemberCallTarget(thisAccess);
    return extensionProvider;
  }
}

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

/** Create a reference to "this" object or to the current type.
 *
 * @return the reference.
 */
public XFeatureCall createReferenceToThis() {
  final XExpression expr = getXExpression();
  XtendTypeDeclaration type = EcoreUtil2.getContainerOfType(expr, XtendTypeDeclaration.class);
  JvmType jvmObject = getAssociatedElement(JvmType.class, type, expr.eResource());
  final XFeatureCall thisFeature = XbaseFactory.eINSTANCE.createXFeatureCall();
  thisFeature.setFeature(jvmObject);
  return thisFeature;
}

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

@Override
public void addExtensionToCurrentScope(JvmIdentifiableElement extensionProvider) {
  LightweightTypeReference knownType = getResolvedTypes().getActualType(extensionProvider);
  if (knownType != null && !knownType.isAny() && !knownType.isUnknown()) {
    XFeatureCall prototype = getResolver().getXbaseFactory().createXFeatureCall();
    prototype.setFeature(extensionProvider);
    featureScopeSession = featureScopeSession.addToExtensionScope(Collections.<XExpression, LightweightTypeReference>singletonMap(prototype, knownType));
  }
}

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

protected IScope createImplicitExtensionScope(QualifiedName implicitName, EObject featureCall,
    IFeatureScopeSession session, IResolvedTypes resolvedTypes, IScope parent) {
  IEObjectDescription thisDescription = session.getLocalElement(implicitName);
  if (thisDescription != null) {
    JvmIdentifiableElement thisElement = (JvmIdentifiableElement) thisDescription.getEObjectOrProxy();
    LightweightTypeReference type = resolvedTypes.getActualType(thisElement);
    if (type != null && !type.isUnknown()) {
      XFeatureCall implicitReceiver = xbaseFactory.createXFeatureCall();
      implicitReceiver.setFeature(thisElement);
      return createStaticExtensionsScope(featureCall, implicitReceiver, type, true, parent, session);
    }
  }
  return parent;
}

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

/** Replies the JvmIdentifiable that corresponds to the formal parameter.
 *
 * @param container the feature call that is supposed to contains the replied identifiable element.
 */
public void setReferenceInto(XFeatureCall container) {
  JvmVoid jvmVoid = this.jvmTypesFactory.createJvmVoid();
  if (jvmVoid instanceof InternalEObject) {
    final InternalEObject			jvmVoidProxy = (InternalEObject) jvmVoid;
    final EObject param = getSarlFormalParameter();
    final Resource resource = param.eResource();
    // Get the derived object
    final SarlFormalParameter jvmParam = getAssociatedElement(SarlFormalParameter.class, param, resource);
    // Set the proxy URI
    final URI uri = EcoreUtil2.getNormalizedURI(jvmParam);
    jvmVoidProxy.eSetProxyURI(uri);
  }
  container.setFeature(jvmVoid);
}

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

protected IScope createDynamicExtensionsScope(QualifiedName implicitFirstArgumentName, IEObjectDescription firstArgumentDescription, EObject featureCall,
    IFeatureScopeSession captureLayer, IFeatureScopeSession session, IResolvedTypes resolvedTypes, IScope parent) {
  JvmIdentifiableElement feature = (JvmIdentifiableElement) firstArgumentDescription.getEObjectOrProxy();
  if (feature instanceof JvmType && THIS.equals(implicitFirstArgumentName) && !session.isInstanceContext()) {
    return parent;
  }
  LightweightTypeReference type = resolvedTypes.getActualType(feature);
  if (type != null && !type.isUnknown()) {
    XFeatureCall implicitArgument = xbaseFactory.createXFeatureCall();
    implicitArgument.setFeature(feature);
    return createDynamicExtensionsScope(featureCall, implicitArgument, type, true, parent, captureLayer);
  }
  return parent;
}

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

protected IScope createImplicitFeatureCallScope(QualifiedName implicitName, EObject featureCall,
    IFeatureScopeSession session, IResolvedTypes resolvedTypes, IScope parent) {
  IEObjectDescription thisDescription = session.getLocalElement(implicitName);
  if (thisDescription != null) {
    JvmIdentifiableElement thisElement = (JvmIdentifiableElement) thisDescription.getEObjectOrProxy();
    boolean validStaticScope = true;
    if (thisElement instanceof JvmType && THIS.equals(implicitName) && !session.isInstanceContext()) {
      validStaticScope = false;
    }
    LightweightTypeReference type = resolvedTypes.getActualType(thisElement);
    if (type !=null && !type.isUnknown()) {
      XFeatureCall implicitReceiver = xbaseFactory.createXFeatureCall();
      implicitReceiver.setFeature(thisElement);
      return createFeatureScopeForTypeRef(implicitReceiver, type, true, featureCall, session, thisElement, parent, validStaticScope);
    }
  }
  return parent;
}

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

/** Create the extension provider dedicated to the access to the used capacity functions.
 *
 * @param thisFeature the current object.
 * @param field the extension field.
 * @return the SARL capacity extension provider, or {@code null}.
 */
protected XAbstractFeatureCall createSarlCapacityExtensionProvider(JvmIdentifiableElement thisFeature, JvmField field) {
  // For capacity call redirection
  if (thisFeature instanceof JvmDeclaredType) {
    final JvmAnnotationReference capacityAnnotation = this.annotationLookup.findAnnotation(field,
        ImportedCapacityFeature.class);
    if (capacityAnnotation != null) {
      final String methodName = Utils.createNameForHiddenCapacityImplementationCallingMethodFromFieldName(
          field.getSimpleName());
      final JvmOperation callerOperation = findOperation((JvmDeclaredType) thisFeature, methodName);
      if (callerOperation != null) {
        final XbaseFactory baseFactory = getXbaseFactory();
        final XMemberFeatureCall extensionProvider = baseFactory.createXMemberFeatureCall();
        extensionProvider.setFeature(callerOperation);
        final XFeatureCall thisAccess = baseFactory.createXFeatureCall();
        thisAccess.setFeature(thisFeature);
        extensionProvider.setMemberCallTarget(thisAccess);
        return extensionProvider;
      }
    }
  }
  return null;
}

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

call.setFeature(getJvmConstructor(constructor, context));
call.setExplicitOperationCall(true);
final List<XExpression> arguments = call.getFeatureCallArguments();

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

/** Create a reference to "super" object or to the super type.
 *
 * @return the reference.
 */
public XFeatureCall createReferenceToSuper() {
  final XExpression expr = getXExpression();
  XtendTypeDeclaration type = EcoreUtil2.getContainerOfType(expr, XtendTypeDeclaration.class);
  JvmType jvmObject = getAssociatedElement(JvmType.class, type, expr.eResource());
  final XFeatureCall superFeature = XbaseFactory.eINSTANCE.createXFeatureCall();
  JvmIdentifiableElement feature;
  if (jvmObject instanceof JvmDeclaredType) {
    feature = ((JvmDeclaredType) jvmObject).getExtendedClass().getType();
  } else {
    feature = findType(expr, getQualifiedName(type)).getType();
    if (feature instanceof JvmDeclaredType) {
      feature = ((JvmDeclaredType) feature).getExtendedClass().getType();
    } else {
      feature = null;
    }
  }
  if (feature == null) {
    return null;
  }
  superFeature.setFeature(feature);
  return superFeature;
}

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