org.eclipse.xtext.xbase.XMemberFeatureCall类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(15.2k)|赞(0)|评价(0)|浏览(157)

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

XMemberFeatureCall介绍

[英]A representation of the model object 'XMember Feature Call'.
[中]模型对象“XMember功能调用”的表示形式。

代码示例

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

  1. protected void _visit(final XMemberFeatureCall semanticObj, final INode originNode, final ImportsAcceptor acceptor) {
  2. if (((semanticObj.getFeature() instanceof JvmType) && semanticObj.isTypeLiteral())) {
  3. JvmIdentifiableElement _feature = semanticObj.getFeature();
  4. this.visit(((JvmType) _feature), originNode, acceptor);
  5. }
  6. boolean _isExplicitStatic = semanticObj.isExplicitStatic();
  7. boolean _not = (!_isExplicitStatic);
  8. if (_not) {
  9. final XExpression target = semanticObj.getMemberCallTarget();
  10. if ((target instanceof XAbstractFeatureCall)) {
  11. boolean _isTypeLiteral = ((XAbstractFeatureCall)target).isTypeLiteral();
  12. if (_isTypeLiteral) {
  13. return;
  14. }
  15. }
  16. this.collectStaticImportsFrom(semanticObj, acceptor);
  17. }
  18. }

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

  1. protected String _getFullName(final XMemberFeatureCall call) {
  2. final String prefix = this.getFullName(call.getMemberCallTarget());
  3. String _concreteSyntaxFeatureName = call.getConcreteSyntaxFeatureName();
  4. return ((prefix + ".") + _concreteSyntaxFeatureName);
  5. }

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

  1. @Override
  2. protected ITextRegion getLocationOfContainmentReference(EObject owner, EReference reference, int indexInList, RegionDescription query) {
  3. if (owner instanceof XMemberFeatureCall && reference == XbasePackage.Literals.XMEMBER_FEATURE_CALL__MEMBER_CALL_TARGET) {
  4. XMemberFeatureCall casted = (XMemberFeatureCall) owner;
  5. if (casted.isExplicitStatic() || casted.isStaticWithDeclaringType()) {
  6. XExpression target = ((XMemberFeatureCall) owner).getMemberCallTarget();
  7. return getTextRegion(target, query);
  8. }
  9. }
  10. return super.getLocationOfContainmentReference(owner, reference, indexInList, query);
  11. }

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

  1. protected XAbstractFeatureCall doGetRootTypeLiteral(XMemberFeatureCall featureCall) {
  2. boolean staticNotation = featureCall.isExplicitStatic();
  3. XMemberFeatureCall current = featureCall;
  4. while(current.eContainingFeature() == XbasePackage.Literals.XMEMBER_FEATURE_CALL__MEMBER_CALL_TARGET) {
  5. XMemberFeatureCall container = (XMemberFeatureCall) current.eContainer();
  6. if (container.isExplicitStatic()) {
  7. if (staticNotation == false) {
  8. return current;
  9. }
  10. current = container;
  11. } else if (staticNotation) {
  12. return (XAbstractFeatureCall) current.getMemberCallTarget();
  13. } else {
  14. current = container;
  15. }
  16. }
  17. if (current != featureCall && staticNotation) {
  18. return (XAbstractFeatureCall) current.getMemberCallTarget();
  19. }
  20. return null;
  21. }

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

  1. acceptor.accept(memberFeatureCallElements.getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), featureCall.getMemberCallTarget());
  2. if (featureCall.isNullSafe())
  3. acceptor.accept(memberFeatureCallElements.getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
  4. else if (featureCall.isExplicitStatic())
  5. acceptor.accept(memberFeatureCallElements.getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
  6. List<JvmTypeReference> typeArguments = featureCall.getTypeArguments();
  7. if (!typeArguments.isEmpty()) {
  8. acceptor.accept(memberFeatureCallElements.getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0(), typeArguments.get(0), 0);
  9. acceptor.accept(memberFeatureCallElements.getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1(), featureCall.getFeature());
  10. if (featureCall.isExplicitOperationCallOrBuilderSyntax()) {
  11. if (featureCall.isExplicitOperationCall())
  12. acceptor.accept(memberFeatureCallElements.getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
  13. List<XExpression> arguments = featureCall.getMemberCallArguments();
  14. if (!arguments.isEmpty()) {
  15. if (featureCall.isExplicitOperationCall() && isXShortClosureAndBuilderSyntax(arguments, XbasePackage.Literals.XFEATURE_CALL__FEATURE_CALL_ARGUMENTS, nodes)) {
  16. acceptor.accept(memberFeatureCallElements.getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0(), arguments.get(0), 0);
  17. acceptor.accept(memberFeatureCallElements.getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0(), arguments.get(1), 1);
  18. } else if (featureCall.isExplicitOperationCall() && isXShortClosure(featureCall, XbasePackage.Literals.XMEMBER_FEATURE_CALL__MEMBER_CALL_ARGUMENTS, nodes)) {
  19. acceptor.accept(memberFeatureCallElements.getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0(), arguments.get(0), 0);
  20. } else {
  21. int diff = 0;
  22. if (isBuilderSyntax(featureCall, XbasePackage.Literals.XMEMBER_FEATURE_CALL__MEMBER_CALL_ARGUMENTS, featureCall.isExplicitOperationCall(), nodes)) {
  23. diff = 1;
  24. if (featureCall.isExplicitOperationCall()) {

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

  1. private int countSegments(XMemberFeatureCall call) {
  2. int result = 1;
  3. while(call.getMemberCallTarget() instanceof XMemberFeatureCall) {
  4. call = (XMemberFeatureCall) call.getMemberCallTarget();
  5. result++;
  6. }
  7. return result;
  8. }

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

  1. final XMemberFeatureCall it = ((XMemberFeatureCall)top);
  2. boolean _matched = false;
  3. boolean _isNullSafe = it.isNullSafe();
  4. if (_isNullSafe) {
  5. _matched=true;
  6. boolean _isExplicitStatic = it.isExplicitStatic();
  7. if (_isExplicitStatic) {
  8. _matched=true;
  9. final ISemanticRegion separator = this.textRegionExtensions.regionFor(top).keyword(op);
  10. calls.prependWithLeadingSeparator(((XMemberFeatureCall)top), separator);
  11. top = ((XMemberFeatureCall)top).getMemberCallTarget();
  12. };
  13. format.append(format.prepend(operator, _function), _function_1);
  14. boolean _isExplicitOperationCall = call.isExplicitOperationCall();
  15. if (_isExplicitOperationCall) {
  16. final Procedure1<IHiddenRegionFormatter> _function_2 = (IHiddenRegionFormatter it) -> {
  17. final ISemanticRegion open = format.prepend(this.textRegionExtensions.regionFor(call).keyword(this.grammar.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()), _function_2);
  18. final ISemanticRegion close = this.textRegionExtensions.regionFor(call).keyword(this.grammar.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
  19. this.formatFeatureCallParams(call.getMemberCallArguments(), open, close, format);
  20. } else {
  21. boolean _isEmpty = call.getMemberCallArguments().isEmpty();
  22. boolean _not = (!_isEmpty);
  23. if (_not) {
  24. this.formatBuilderWithLeadingGap(this.builder(call.getMemberCallArguments()), format);

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

  1. @Check
  2. public void checkExplicitOperationCall(XMemberFeatureCall featureCall) {
  3. if (featureCall.getFeature() instanceof JvmOperation
  4. && !featureCall.isExplicitOperationCallOrBuilderSyntax()
  5. && featureCall.getFeature().getSimpleName().equals(featureCall.getConcreteSyntaxFeatureName())) {
  6. addIssue("Method call without parentheses", featureCall, XbasePackage.Literals.XABSTRACT_FEATURE_CALL__FEATURE, OPERATION_WITHOUT_PARENTHESES);
  7. }
  8. }

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

  1. if ((((((XMemberFeatureCall)expression).getFeature() != null) && ((XMemberFeatureCall)expression).getFeature().eIsProxy()) && (!((XMemberFeatureCall)expression).isExplicitOperationCallOrBuilderSyntax()))) {
  2. _matched=true;
  3. final XExpression receiver = ((XMemberFeatureCall)expression).getActualReceiver();
  4. boolean _matched_1 = false;
  5. if (receiver instanceof XAbstractFeatureCall) {
  6. String _identifier = type.getIdentifier();
  7. String _plus = (_identifier + "$");
  8. String _concreteSyntaxFeatureName = ((XMemberFeatureCall)expression).getConcreteSyntaxFeatureName();
  9. String _plus_1 = (_plus + _concreteSyntaxFeatureName);
  10. QualifiedName _lowerCase = this.nameConverter.toQualifiedName(_plus_1).toLowerCase();

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

  1. @Check
  2. void checkNullSafeFeatureCallWithPrimitives(XMemberFeatureCall featureCall) {
  3. if (featureCall.isNullSafe()) {
  4. if (getActualType(featureCall.getMemberCallTarget()).isPrimitive()) {
  5. error("Cannot use null-safe feature call on primitive receiver", featureCall,
  6. Literals.XMEMBER_FEATURE_CALL__NULL_SAFE, NULL_SAFE_FEATURE_CALL_ON_PRIMITIVE);
  7. return;
  8. }
  9. LightweightTypeReference type = getActualType(featureCall);
  10. if (type.isPrimitive() && isValueExpectedRecursive(featureCall)) {
  11. addIssue("Null-safe call of primitive-valued feature " + featureCall.getConcreteSyntaxFeatureName()
  12. + ", default value "+ getDefaultValue(type) +" will be used",
  13. featureCall, NULL_SAFE_FEATURE_CALL_OF_PRIMITIVE_VALUED_FEATURE);
  14. }
  15. }
  16. }

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

  1. private static void loopReceiver(LinkedList<String> sourceFeature, Object obj) {
  2. if (obj instanceof XMemberFeatureCall) {
  3. final XMemberFeatureCall memberFeatureCall = (XMemberFeatureCall) obj;
  4. sourceFeature.addFirst(memberFeatureCall.getFeature().getSimpleName());
  5. loopReceiver(sourceFeature, memberFeatureCall.getMemberCallTarget());
  6. } else if (obj instanceof XFeatureCall) {
  7. final XFeatureCall featureCall = (XFeatureCall) obj;
  8. sourceFeature.addFirst(featureCall.getFeature().getIdentifier());
  9. }
  10. }

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

  1. protected boolean isPotentialTypeLiteralImpl(XExpression featureCall, /* @Nullable */ IResolvedTypes resolvedTypes, boolean staticNotation) {
  2. if (featureCall instanceof XMemberFeatureCall) {
  3. XMemberFeatureCall casted = (XMemberFeatureCall) featureCall;
  4. if (casted.isExplicitOperationCallOrBuilderSyntax() || casted.isNullSafe()) {
  5. return false;
  6. }
  7. XExpression target = casted.getMemberCallTarget();
  8. if (casted.isExplicitStatic() != staticNotation) {
  9. return false;
  10. }
  11. return isPotentialTypeLiteralImpl(target, resolvedTypes, staticNotation);
  12. }
  13. if (featureCall instanceof XFeatureCall) {
  14. XFeatureCall casted = (XFeatureCall) featureCall;
  15. if (casted.isExplicitOperationCallOrBuilderSyntax()) {
  16. return false;
  17. }
  18. if (resolvedTypes == null)
  19. return true;
  20. LightweightTypeReference knownType = resolvedTypes.getActualType(casted);
  21. if (knownType == null || knownType.isUnknown()) {
  22. return true;
  23. }
  24. }
  25. return false;
  26. }

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

  1. if (call instanceof XMemberFeatureCall) {
  2. final XMemberFeatureCall memberFeatureCall = (XMemberFeatureCall) call;
  3. if (memberFeatureCall.isStaticWithDeclaringType()) {
  4. final XAbstractFeatureCall target = (XAbstractFeatureCall) memberFeatureCall.getMemberCallTarget();
  5. final JvmType declaringType = (JvmType) target.getFeature();
  6. output.add(declaringType);

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

  1. protected Object _internalEvaluate(final XMemberFeatureCall it, final Context ctx) {
  2. Object _eGet = it.eGet(XbasePackage.Literals.XABSTRACT_FEATURE_CALL__FEATURE, this.isResolveProxies(it));
  3. final EObject feature = ((EObject) _eGet);
  4. boolean _eIsProxy = feature.eIsProxy();
  5. final String featureName = it.getConcreteSyntaxFeatureName();
  6. try {
  7. final Object receiver = this.evaluate(it.getMemberCallTarget(), ctx);
  8. boolean _matched_1 = false;
  9. if (receiver instanceof JvmTypeReference) {

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

  1. protected Object _doEvaluate(final XMemberFeatureCall featureCall, final IEvaluationContext context, final CancelIndicator indicator) {
  2. if (featureCall.isTypeLiteral()) {
  3. JvmType type = (JvmType) featureCall.getFeature();
  4. Object result = translateJvmTypeToResult(type, 0);
  5. return result;
  6. } else {
  7. XExpression receiver = getActualReceiver(featureCall); //, featureCall.getFeature(), featureCall.getImplicitReceiver());
  8. Object receiverObj = receiver==null?null:internalEvaluate(receiver, context, indicator);
  9. if (featureCall.isNullSafe() && receiverObj==null) {
  10. return getDefaultObjectValue(typeResolver.resolveTypes(featureCall).getActualType(featureCall));
  11. }
  12. return invokeFeature(featureCall.getFeature(), featureCall, receiverObj, context, indicator);
  13. }
  14. }

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

  1. protected XAbstractFeatureCall createExtensionProvider(JvmIdentifiableElement thisFeature, JvmField field) {
  2. if (field.isStatic()) {
  3. XFeatureCall extensionProvider = getXbaseFactory().createXFeatureCall();
  4. extensionProvider.setFeature(field);
  5. return extensionProvider;
  6. } else {
  7. XMemberFeatureCall extensionProvider = getXbaseFactory().createXMemberFeatureCall();
  8. extensionProvider.setFeature(field);
  9. XFeatureCall thisAccess = getXbaseFactory().createXFeatureCall();
  10. thisAccess.setFeature(thisFeature);
  11. extensionProvider.setMemberCallTarget(thisAccess);
  12. return extensionProvider;
  13. }
  14. }

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

  1. superCall.setXExpression(call);
  2. superCall.setDocumentation(block.getAutoGeneratedActionString());
  3. call.setFeature(superOperation);
  4. call.setMemberCallTarget(superCall.createReferenceToSuper());
  5. final List<XExpression> arguments = call.getMemberCallArguments();
  6. for (final IFormalParameterBuilder currentParam : sarlParams) {
  7. final XFeatureCall argumentSource = XbaseFactory.eINSTANCE.createXFeatureCall();

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

  1. @Override
  2. protected void internalSetValue(InternalEObject featureCall, EReference structuralFeature, JvmIdentifiableElement newValue) {
  3. super.internalSetValue(featureCall, structuralFeature, newValue);
  4. if (featureCall instanceof XFeatureCall) {
  5. XFeatureCall casted = (XFeatureCall) featureCall;
  6. if (casted != getExpression()) {
  7. casted.setPackageFragment(true);
  8. } else {
  9. casted.setTypeLiteral(true);
  10. }
  11. } else if (featureCall instanceof XMemberFeatureCall) {
  12. XMemberFeatureCall casted = (XMemberFeatureCall) featureCall;
  13. if (casted != getExpression()) {
  14. casted.setPackageFragment(true);
  15. } else {
  16. casted.setTypeLiteral(true);
  17. }
  18. XExpression target = casted.getMemberCallTarget();
  19. IFeatureLinkingCandidate candidate = getLinkingCandidate(target);
  20. if (candidate == null || !candidate.isTypeLiteral()) {
  21. resolveLinkingProxy((InternalEObject) target, newValue, structuralFeature, XbasePackage.XABSTRACT_FEATURE_CALL__FEATURE);
  22. }
  23. }
  24. }

代码示例来源:origin: org.eclipse.viatra/org.eclipse.viatra.query.patternlanguage.emf

  1. private void checkForImpureJavaCallsInternal(XExpression xExpression) {
  2. Iterator<EObject> eAllContents = Iterators.concat(Iterators.singletonIterator(xExpression),
  3. xExpression.eAllContents());
  4. while (eAllContents.hasNext()) {
  5. EObject nextEObject = eAllContents.next();
  6. if (nextEObject instanceof XMemberFeatureCall) {
  7. XMemberFeatureCall xFeatureCall = (XMemberFeatureCall) nextEObject;
  8. JvmIdentifiableElement jvmIdentifiableElement = xFeatureCall.getFeature();
  9. if (jvmIdentifiableElement instanceof JvmOperation) {
  10. JvmOperation jvmOperation = (JvmOperation) jvmIdentifiableElement;
  11. if (!jvmOperation.eIsProxy() && !isPure(jvmOperation)) {
  12. warning("Impure method call " + jvmOperation.getQualifiedName(), xFeatureCall,
  13. XbasePackage.Literals.XABSTRACT_FEATURE_CALL__FEATURE,
  14. IssueCodes.CHECK_WITH_IMPURE_JAVA_CALLS);
  15. }
  16. }
  17. }
  18. }
  19. }

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

  1. protected IScope doGetTypeScope(XMemberFeatureCall call, JvmType type) {
  2. if (call.isPackageFragment()) {
  3. if (type instanceof JvmDeclaredType) {
  4. int segmentIndex = countSegments(call);
  5. String packageName = ((JvmDeclaredType) type).getPackageName();
  6. List<String> splitted = Strings.split(packageName, '.');
  7. String segment = splitted.get(segmentIndex);
  8. return new SingletonScope(EObjectDescription.create(segment, type), IScope.NULLSCOPE);
  9. }
  10. return IScope.NULLSCOPE;
  11. } else {
  12. if (type instanceof JvmDeclaredType && ((JvmDeclaredType) type).getDeclaringType() == null) {
  13. return new SingletonScope(EObjectDescription.create(type.getSimpleName(), type), IScope.NULLSCOPE);
  14. } else {
  15. XAbstractFeatureCall target = (XAbstractFeatureCall) call.getMemberCallTarget();
  16. if (target.isPackageFragment()) {
  17. String qualifiedName = type.getQualifiedName();
  18. int dot = qualifiedName.lastIndexOf('.');
  19. String simpleName = qualifiedName.substring(dot + 1);
  20. return new SingletonScope(EObjectDescription.create(simpleName, type), IScope.NULLSCOPE);
  21. } else {
  22. return new SingletonScope(EObjectDescription.create(type.getSimpleName(), type), IScope.NULLSCOPE);
  23. }
  24. }
  25. }
  26. }

相关文章