本文整理汇总了Java中org.eclipse.xtext.xbase.XMemberFeatureCall类的典型用法代码示例。如果您正苦于以下问题:Java XMemberFeatureCall类的具体用法?Java XMemberFeatureCall怎么用?Java XMemberFeatureCall使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XMemberFeatureCall类属于org.eclipse.xtext.xbase包,在下文中一共展示了XMemberFeatureCall类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: checkIsValidConstructorArgument
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected void checkIsValidConstructorArgument(XExpression argument, JvmType containerType) {
TreeIterator<EObject> iterator = EcoreUtil2.eAll(argument);
while(iterator.hasNext()) {
EObject partOfArgumentExpression = iterator.next();
if (partOfArgumentExpression instanceof XFeatureCall || partOfArgumentExpression instanceof XMemberFeatureCall) {
XAbstractFeatureCall featureCall = (XAbstractFeatureCall) partOfArgumentExpression;
XExpression actualReceiver = featureCall.getActualReceiver();
if(actualReceiver instanceof XFeatureCall && ((XFeatureCall)actualReceiver).getFeature() == containerType) {
JvmIdentifiableElement feature = featureCall.getFeature();
if (feature != null && !feature.eIsProxy()) {
if (feature instanceof JvmField) {
if (!((JvmField) feature).isStatic())
error("Cannot refer to an instance field " + feature.getSimpleName() + " while explicitly invoking a constructor",
partOfArgumentExpression, null, INVALID_CONSTRUCTOR_ARGUMENT);
} else if (feature instanceof JvmOperation) {
if (!((JvmOperation) feature).isStatic())
error("Cannot refer to an instance method while explicitly invoking a constructor",
partOfArgumentExpression, null, INVALID_CONSTRUCTOR_ARGUMENT);
}
}
}
} else if(isLocalClassSemantics(partOfArgumentExpression)) {
iterator.prune();
}
}
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:27,代码来源:XbaseValidator.java
示例2: checkNoJavaStyleTypeCasting
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected void checkNoJavaStyleTypeCasting(INode node) {
BidiTreeIterator<INode> iterator = node.getAsTreeIterable().reverse().iterator();
ILeafNode child = getFirstLeafNode(iterator);
if (child != null && child.getGrammarElement() == grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()) {
INode expressionNode = getNode(iterator, grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1());
EObject semanticObject = NodeModelUtils.findActualSemanticObjectFor(expressionNode);
if (semanticObject instanceof XFeatureCall || semanticObject instanceof XMemberFeatureCall) {
XAbstractFeatureCall featureCall = (XAbstractFeatureCall) semanticObject;
if (featureCall.isTypeLiteral()) {
ICompositeNode parenthesizedNode = child.getParent();
ITextRegion parenthesizedRegion = parenthesizedNode.getTextRegion();
addIssue("Use 'as' keyword for type casting.", featureCall, parenthesizedRegion.getOffset(), parenthesizedRegion.getLength(), JAVA_STYLE_TYPE_CAST);
}
}
}
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:17,代码来源:XbaseValidator.java
示例3: preApply
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Override
protected void preApply() {
XAbstractFeatureCall expression = getExpression();
JvmType type = getType();
if (expression instanceof XMemberFeatureCall) {
if (type instanceof JvmDeclaredType) {
JvmDeclaredType declaredType = (JvmDeclaredType) type;
if (declaredType.getDeclaringType() == null) {
helper.applyPackageFragment((XMemberFeatureCall) expression, declaredType);
} else {
String queriedName = description.getName().toString(); // may be Map$Entry
String qualifiedName = declaredType.getIdentifier();
String packageName = Strings.emptyIfNull(declaredType.getPackageName());
if (packageName.length() + 1 + queriedName.length() == qualifiedName.length()) {
helper.applyPackageFragment((XMemberFeatureCall) expression, declaredType);
}
}
}
}
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:21,代码来源:TypeLiteralLinkingCandidate.java
示例4: getSyntacticReceiver
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的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
示例5: getSyntacticArguments
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的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
示例6: applyToComputationState
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Override
public void applyToComputationState() {
super.applyToComputationState();
XAbstractFeatureCall featureCall = getFeatureCall();
if (featureCall instanceof XMemberFeatureCall) {
XExpression target = ((XMemberFeatureCall) featureCall).getMemberCallTarget();
if (target == null || !(target instanceof XAbstractFeatureCall))
throw new IllegalStateException();
XAbstractFeatureCall targetFeatureCall = (XAbstractFeatureCall) target;
ResolvedTypes resolvedTypes = getState().getResolvedTypes();
LightweightTypeReference targetType = resolvedTypes.getActualType(targetFeatureCall.getFeature());
if (targetType == null) {
throw new IllegalStateException();
}
TypeExpectation expectation = new TypeExpectation(null, getState(), false);
resolvedTypes.acceptType(targetFeatureCall, expectation, targetType.copyInto(resolvedTypes.getReferenceOwner()), false, ConformanceFlags.UNCHECKED);
}
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:19,代码来源:ImplicitReceiver.java
示例7: testClosureParameter
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Test
public void testClosureParameter() throws Exception {
// List<? super String> list = Lists.newArrayList();
// ListExtensions.map(list, new Functions.Function1<CharSequence, String>() {
// public String apply(CharSequence p) {
// return null;
// }
// });
// ListExtensions.map(list, new Functions.Function1<Object, String>() {
// public String apply(Object p) {
// return null;
// }
// });
XBlockExpression block = (XBlockExpression) expression(
"{\n" +
" var java.util.List<? super String> list = null;\n" +
" list.map(e|e)\n" +
"}");
XMemberFeatureCall featureCall = (XMemberFeatureCall) block.getExpressions().get(1);
XClosure closure = (XClosure) featureCall.getMemberCallArguments().get(0);
JvmFormalParameter e = closure.getDeclaredFormalParameters().get(0);
LightweightTypeReference typeRef = typeResolver.resolveTypes(closure).getActualType(e);
assertEquals("java.lang.Object", typeRef.getIdentifier());
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:25,代码来源:XbaseIdentifiableTypeProviderTest.java
示例8: doGetTypeScope
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected IScope doGetTypeScope(XMemberFeatureCall call, JvmType type) {
if (call.isPackageFragment()) {
if (type instanceof JvmDeclaredType) {
int segmentIndex = countSegments(call);
String packageName = ((JvmDeclaredType) type).getPackageName();
List<String> splitted = Strings.split(packageName, '.');
String segment = splitted.get(segmentIndex);
return new SingletonScope(EObjectDescription.create(segment, type), IScope.NULLSCOPE);
}
return IScope.NULLSCOPE;
} else {
if (type instanceof JvmDeclaredType && ((JvmDeclaredType) type).getDeclaringType() == null) {
return new SingletonScope(EObjectDescription.create(type.getSimpleName(), type), IScope.NULLSCOPE);
} else {
XAbstractFeatureCall target = (XAbstractFeatureCall) call.getMemberCallTarget();
if (target.isPackageFragment()) {
String qualifiedName = type.getQualifiedName();
int dot = qualifiedName.lastIndexOf('.');
String simpleName = qualifiedName.substring(dot + 1);
return new SingletonScope(EObjectDescription.create(simpleName, type), IScope.NULLSCOPE);
} else {
return new SingletonScope(EObjectDescription.create(type.getSimpleName(), type), IScope.NULLSCOPE);
}
}
}
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:27,代码来源:SerializerScopeProvider.java
示例9: doGetRootTypeLiteral
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected XAbstractFeatureCall doGetRootTypeLiteral(XMemberFeatureCall featureCall) {
boolean staticNotation = featureCall.isExplicitStatic();
XMemberFeatureCall current = featureCall;
while(current.eContainingFeature() == XbasePackage.Literals.XMEMBER_FEATURE_CALL__MEMBER_CALL_TARGET) {
XMemberFeatureCall container = (XMemberFeatureCall) current.eContainer();
if (container.isExplicitStatic()) {
if (staticNotation == false) {
return current;
}
current = container;
} else if (staticNotation) {
return (XAbstractFeatureCall) current.getMemberCallTarget();
} else {
current = container;
}
}
if (current != featureCall && staticNotation) {
return (XAbstractFeatureCall) current.getMemberCallTarget();
}
return null;
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:22,代码来源:FeatureCallAsTypeLiteralHelper.java
示例10: getLocationWithoutTypeArguments
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected ILocationData getLocationWithoutTypeArguments(XAbstractFeatureCall call) {
final ICompositeNode startNode = NodeModelUtils.getNode(call);
if (startNode != null) {
List<INode> resultNodes = Lists.newArrayList();
if (call instanceof XFeatureCall || call instanceof XMemberFeatureCall) {
boolean featureReferenceSeen = false;
for (INode child : startNode.getChildren()) {
if (featureReferenceSeen) {
resultNodes.add(child);
} else {
EObject grammarElement = child.getGrammarElement();
if (grammarElement instanceof CrossReference) {
Assignment assignment = GrammarUtil.containingAssignment(grammarElement);
if (assignment != null && "feature".equals(assignment.getFeature())) {
featureReferenceSeen = true;
resultNodes.add(child);
}
}
}
}
}
return toLocationData(resultNodes);
}
return null;
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:26,代码来源:FeatureCallCompiler.java
示例11: prependNewLineIfMultiline
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected boolean prependNewLineIfMultiline(final EObject obj) {
boolean _switchResult = false;
boolean _matched = false;
if (obj instanceof XMemberFeatureCall) {
_matched=true;
_switchResult = this.prependNewLineIfMultiline(this.builder(((XMemberFeatureCall)obj).getMemberCallArguments()));
}
if (!_matched) {
if (obj instanceof XClosure) {
_matched=true;
_switchResult = false;
}
}
if (!_matched) {
if (obj instanceof XBlockExpression) {
_matched=true;
_switchResult = false;
}
}
if (!_matched) {
_switchResult = true;
}
return _switchResult;
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:25,代码来源:XbaseFormatter.java
示例12: _visit
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected void _visit(final XMemberFeatureCall semanticObj, final INode originNode, final ImportsAcceptor acceptor) {
if (((semanticObj.getFeature() instanceof JvmType) && semanticObj.isTypeLiteral())) {
JvmIdentifiableElement _feature = semanticObj.getFeature();
this.visit(((JvmType) _feature), originNode, acceptor);
}
boolean _isExplicitStatic = semanticObj.isExplicitStatic();
boolean _not = (!_isExplicitStatic);
if (_not) {
final XExpression target = semanticObj.getMemberCallTarget();
if ((target instanceof XAbstractFeatureCall)) {
boolean _isTypeLiteral = ((XAbstractFeatureCall)target).isTypeLiteral();
if (_isTypeLiteral) {
return;
}
}
this.collectStaticImportsFrom(semanticObj, acceptor);
}
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:19,代码来源:ImportsCollector.java
示例13: completeXFeatureCall
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected void completeXFeatureCall(final EObject model, final ContentAssistContext context, final IIdeContentProposalAcceptor acceptor) {
if ((model != null)) {
boolean _hasExpressionScope = this.typeResolver.resolveTypes(model).hasExpressionScope(model, IExpressionScope.Anchor.WITHIN);
if (_hasExpressionScope) {
return;
}
}
if ((model instanceof XMemberFeatureCall)) {
final ICompositeNode node = NodeModelUtils.getNode(model);
boolean _isInMemberFeatureCall = this.isInMemberFeatureCall(model, node.getEndOffset(), context);
if (_isInMemberFeatureCall) {
return;
}
}
this.createLocalVariableAndImplicitProposals(model, IExpressionScope.Anchor.AFTER, context, acceptor);
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:17,代码来源:XbaseIdeContentProposalProvider.java
示例14: createReceiverProposals
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
protected void createReceiverProposals(final XExpression receiver, final CrossReference crossReference, final ContentAssistContext context, final IIdeContentProposalAcceptor acceptor) {
final IResolvedTypes resolvedTypes = this.typeResolver.resolveTypes(receiver);
final LightweightTypeReference receiverType = resolvedTypes.getActualType(receiver);
if (((receiverType == null) || receiverType.isPrimitiveVoid())) {
return;
}
final IExpressionScope expressionScope = resolvedTypes.getExpressionScope(receiver, IExpressionScope.Anchor.RECEIVER);
IScope scope = null;
final EObject currentModel = context.getCurrentModel();
if ((currentModel != receiver)) {
if (((currentModel instanceof XMemberFeatureCall) &&
(((XMemberFeatureCall) currentModel).getMemberCallTarget() == receiver))) {
scope = this.syntaxFilteredScopes.create(expressionScope.getFeatureScope(((XAbstractFeatureCall) currentModel)), crossReference);
} else {
scope = this.syntaxFilteredScopes.create(expressionScope.getFeatureScope(), crossReference);
}
} else {
scope = this.syntaxFilteredScopes.create(expressionScope.getFeatureScope(), crossReference);
}
this.getCrossrefProposalProvider().lookupCrossReference(scope, crossReference, context, acceptor, this.featureDescriptionPredicate);
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:22,代码来源:XbaseIdeContentProposalProvider.java
示例15: testClosure_04
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Test
public void testClosure_04() throws Exception {
XBlockExpression block = (XBlockExpression) expression(
"{\n" +
" var java.util.List<? super String> list = null;\n" +
" list.map(e|e == null)\n" +
"}");
XMemberFeatureCall featureCall = (XMemberFeatureCall) block.getExpressions().get(1);
XClosure closure = (XClosure) featureCall.getMemberCallArguments().get(0);
LightweightTypeReference typeRef = getType(closure);
assertEquals("(java.lang.Object)=>boolean", toString(typeRef));
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:13,代码来源:XbaseTypeProviderTest.java
示例16: testStaticFeatureCall_08
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Ignore("TODO eager binding of type arguments to expectation")
@Test public void testStaticFeatureCall_08() throws Exception {
XBlockExpression block = (XBlockExpression) expression("{ val Iterable<CharSequence> iterable = testdata::MethodOverrides4::staticM5(null) }");
XVariableDeclaration variable = (XVariableDeclaration) block.getExpressions().get(0);
XMemberFeatureCall featureCall = (XMemberFeatureCall) variable.getRight();
assertEquals("testdata.MethodOverrides3.staticM5(T)", featureCall.getFeature().getIdentifier());
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:8,代码来源:AbstractXbaseLinkingTest.java
示例17: testOverloadedMethods_04
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Test public void testOverloadedMethods_04() throws Exception {
XBlockExpression block = (XBlockExpression) expression(
"{\n" +
" var java.util.List<? extends Object> objects = null\n" +
" var testdata.OverloadedMethods<Object> receiver = null\n" +
" receiver.overloaded(objects, objects)\n" +
"}");
XMemberFeatureCall featureCall = (XMemberFeatureCall) block.getExpressions().get(2);
JvmIdentifiableElement overloaded = featureCall.getFeature();
assertNotNull(overloaded);
assertFalse(overloaded.eIsProxy());
assertEquals("testdata.OverloadedMethods.overloaded(java.lang.Iterable,java.lang.Iterable)", overloaded.getIdentifier());
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:14,代码来源:AbstractXbaseLinkingTest.java
示例18: preApply
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Override
protected void preApply() {
JvmType type = getType();
XAbstractFeatureCall expression = getExpression();
if (expression instanceof XMemberFeatureCall) {
if (type instanceof JvmDeclaredType) {
JvmDeclaredType declaredType = (JvmDeclaredType) type;
if (declaredType.getDeclaringType() == null) {
helper.applyPackageFragment((XMemberFeatureCall) expression, declaredType);
}
}
}
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:14,代码来源:ResolvedTypeLiteral.java
示例19: isStaticWithDeclaringType
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的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
示例20: testTypeParamInference_04
import org.eclipse.xtext.xbase.XMemberFeatureCall; //导入依赖的package包/类
@Test public void testTypeParamInference_04() throws Exception {
XBlockExpression block = (XBlockExpression) expression("{ var Integer i = new testdata.ClosureClient().invoke1([e|null],'foo') }");
XVariableDeclaration var = (XVariableDeclaration) block.getExpressions().get(0);
XMemberFeatureCall fc = (XMemberFeatureCall) var.getRight();
final XExpression closure = fc.getMemberCallArguments().get(0);
assertExpected(Functions.class.getCanonicalName()+"$Function1<java.lang.String, java.lang.Integer>", closure);
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:8,代码来源:XbaseExpectedTypeProviderTest.java
注:本文中的org.eclipse.xtext.xbase.XMemberFeatureCall类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论