本文整理汇总了Java中org.eclipse.xtext.common.types.JvmGenericArrayTypeReference类的典型用法代码示例。如果您正苦于以下问题:Java JvmGenericArrayTypeReference类的具体用法?Java JvmGenericArrayTypeReference怎么用?Java JvmGenericArrayTypeReference使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JvmGenericArrayTypeReference类属于org.eclipse.xtext.common.types包,在下文中一共展示了JvmGenericArrayTypeReference类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: test_ParameterizedTypes_Inner_05
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Test
public void test_ParameterizedTypes_Inner_05() {
String typeName = ParameterizedTypes.class.getName();
JvmGenericType type = (JvmGenericType) getTypeProvider().findTypeByName(typeName);
JvmOperation methodV = getMethodFromType(type, ParameterizedTypes.Inner.class, "methodVArray_01()");
JvmTypeReference listT = methodV.getReturnType();
assertEquals("java.util.List<? extends V>[]", listT.getIdentifier());
JvmParameterizedTypeReference listType = (JvmParameterizedTypeReference) ((JvmGenericArrayTypeReference) listT)
.getComponentType();
assertEquals(1, listType.getArguments().size());
JvmTypeReference typeArgument = listType.getArguments().get(0);
assertTrue(typeArgument instanceof JvmWildcardTypeReference);
JvmWildcardTypeReference wildcardTypeArgument = (JvmWildcardTypeReference) typeArgument;
assertEquals("? extends V", wildcardTypeArgument.getIdentifier());
assertEquals(1, wildcardTypeArgument.getConstraints().size());
JvmUpperBound upperBound = (JvmUpperBound) wildcardTypeArgument.getConstraints().get(0);
JvmTypeParameter v = type.getTypeParameters().get(3);
assertSame(v, upperBound.getTypeReference().getType());
}
示例2: test_ParameterizedTypes_Inner_08
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Test
public void test_ParameterizedTypes_Inner_08() {
String typeName = ParameterizedTypes.Inner.class.getName();
JvmGenericType type = (JvmGenericType) getTypeProvider().findTypeByName(typeName);
JvmOperation methodV = getMethodFromType(type, ParameterizedTypes.Inner.class, "methodZArray_02()");
JvmTypeReference listZ = methodV.getReturnType();
assertEquals("java.util.List<Z[]>[]", listZ.getIdentifier());
JvmParameterizedTypeReference listType = (JvmParameterizedTypeReference) ((JvmGenericArrayTypeReference) listZ)
.getComponentType();
assertEquals(1, listType.getArguments().size());
JvmTypeReference typeArgument = listType.getArguments().get(0);
JvmType argumentType = typeArgument.getType();
assertTrue(argumentType instanceof JvmArrayType);
JvmComponentType componentType = ((JvmArrayType) argumentType).getComponentType();
JvmTypeParameter z = type.getTypeParameters().get(2);
assertSame(z, componentType);
}
示例3: parametersToString
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
protected String parametersToString(Iterable<? extends JvmFormalParameter> elements, boolean isVarArgs, boolean includeName) {
StringBuilder result = new StringBuilder();
boolean needsSeparator = false;
Iterator<? extends JvmFormalParameter> iterator = elements.iterator();
while (iterator.hasNext()) {
JvmFormalParameter parameter = iterator.next();
if (needsSeparator)
result.append(", ");
needsSeparator = true;
JvmTypeReference typeRef = parameter.getParameterType();
if (isVarArgs && !iterator.hasNext() && typeRef instanceof JvmGenericArrayTypeReference) {
typeRef = ((JvmGenericArrayTypeReference) typeRef).getComponentType();
result.append(referenceToString(typeRef, "[null]"));
result.append("...");
} else {
result.append(referenceToString(typeRef, "[null]"));
}
if (includeName) {
result.append(" " + parameter.getName());
}
}
return result.toString();
}
示例4: generateParameter
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
public void generateParameter(final JvmFormalParameter it, final ITreeAppendable appendable, final boolean vararg, final GeneratorConfig config) {
final ITreeAppendable tracedAppendable = appendable.trace(it);
this.generateAnnotations(it.getAnnotations(), tracedAppendable, false, config);
tracedAppendable.append("final ");
if (vararg) {
JvmTypeReference _parameterType = it.getParameterType();
boolean _not = (!(_parameterType instanceof JvmGenericArrayTypeReference));
if (_not) {
tracedAppendable.append("/* Internal Error: Parameter was vararg but not an array type. */");
} else {
JvmTypeReference _parameterType_1 = it.getParameterType();
this._errorSafeExtensions.serializeSafely(((JvmGenericArrayTypeReference) _parameterType_1).getComponentType(), "Object", tracedAppendable);
}
tracedAppendable.append("...");
} else {
this._errorSafeExtensions.serializeSafely(it.getParameterType(), "Object", tracedAppendable);
}
tracedAppendable.append(" ");
final String name = tracedAppendable.declareVariable(it, this.makeJavaIdentifier(it.getSimpleName()));
this._treeAppendableUtil.traceSignificant(tracedAppendable, it).append(name);
}
示例5: toTypeReference
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
protected JvmTypeReference toTypeReference(final JvmType type, final int arrayDimensions) {
if ((type == null)) {
return null;
}
JvmParameterizedTypeReference _createJvmParameterizedTypeReference = TypesFactory.eINSTANCE.createJvmParameterizedTypeReference();
final Procedure1<JvmParameterizedTypeReference> _function = (JvmParameterizedTypeReference it) -> {
it.setType(type);
};
JvmTypeReference resultTypeRef = ObjectExtensions.<JvmParameterizedTypeReference>operator_doubleArrow(_createJvmParameterizedTypeReference, _function);
ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, arrayDimensions, true);
for (final Integer i : _doubleDotLessThan) {
{
final JvmGenericArrayTypeReference arrayRef = TypesFactory.eINSTANCE.createJvmGenericArrayTypeReference();
arrayRef.setComponentType(resultTypeRef);
resultTypeRef = arrayRef;
}
}
return resultTypeRef;
}
示例6: getFragment
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Override
public String getFragment(EObject obj, IFragmentProvider.Fallback fallback) {
if (obj instanceof JvmTypeParameter)
return getFragment(obj.eContainer(), fallback) + "/" + ((JvmTypeParameter) obj).getName();
if (obj instanceof JvmTypeReference || obj instanceof JvmFormalParameter)
return fallback.getFragment(obj);
if (obj instanceof JvmIdentifiableElement) {
if (obj instanceof JvmArrayType) {
if (obj.eContainer() instanceof JvmGenericArrayTypeReference)
return fallback.getFragment(obj);
if (obj.eContainer() instanceof JvmIdentifiableElement) {
return getFragment(obj.eContainer(), fallback) + "[]";
}
}
return ((JvmIdentifiableElement) obj).getIdentifier();
}
return fallback.getFragment(obj);
}
示例7: sequence_JvmTypeReference
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
/**
* Contexts:
* JvmTypeReference returns JvmGenericArrayTypeReference
* JvmTypeReference.JvmGenericArrayTypeReference_0_1_0_0 returns JvmGenericArrayTypeReference
* JvmArgumentTypeReference returns JvmGenericArrayTypeReference
*
* Constraint:
* componentType=JvmTypeReference_JvmGenericArrayTypeReference_0_1_0_0
*/
protected void sequence_JvmTypeReference(ISerializationContext context, JvmGenericArrayTypeReference semanticObject) {
if (errorAcceptor != null) {
if (transientValues.isValueTransient(semanticObject, TypesPackage.Literals.JVM_GENERIC_ARRAY_TYPE_REFERENCE__COMPONENT_TYPE) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, TypesPackage.Literals.JVM_GENERIC_ARRAY_TYPE_REFERENCE__COMPONENT_TYPE));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), semanticObject.getComponentType());
feeder.finish();
}
示例8: test_arrayWildcard_02
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Test
public void test_arrayWildcard_02() {
JvmOperation arrayWildcard = getMethodFromParameterizedMethods("arrayWildcard(java.util.List[])");
JvmTypeReference paramType = arrayWildcard.getParameters().get(0).getParameterType();
assertEquals("java.util.List<? extends java.lang.Object>[]", paramType.getIdentifier());
assertTrue(paramType.getType() instanceof JvmArrayType);
JvmArrayType arrayType = (JvmArrayType) paramType.getType();
assertTrue(arrayType.getComponentType() instanceof JvmDeclaredType);
assertTrue(paramType instanceof JvmGenericArrayTypeReference);
assertTrue(
((JvmGenericArrayTypeReference) paramType).getComponentType() instanceof JvmParameterizedTypeReference);
}
示例9: test_arrayParameterized_02
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Test
public void test_arrayParameterized_02() {
JvmOperation arrayParameterized = getMethodFromParameterizedMethods("arrayParameterized(java.util.List[])");
JvmTypeReference paramType = arrayParameterized.getParameters().get(0).getParameterType();
assertEquals("java.util.List<T>[]", paramType.getIdentifier());
assertTrue(paramType.getType() instanceof JvmArrayType);
JvmArrayType arrayType = (JvmArrayType) paramType.getType();
assertTrue(arrayType.getComponentType() instanceof JvmDeclaredType);
assertTrue(paramType instanceof JvmGenericArrayTypeReference);
assertTrue(
((JvmGenericArrayTypeReference) paramType).getComponentType() instanceof JvmParameterizedTypeReference);
}
示例10: testVarArgs_02
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Test
public void testVarArgs_02() {
String typeName = ClassWithVarArgs.class.getName();
JvmGenericType type = (JvmGenericType) getTypeProvider().findTypeByName(typeName);
JvmOperation method = getMethodFromType(type, ClassWithVarArgs.class, "method(java.lang.String[])");
assertTrue(method.isVarArgs());
assertEquals(1, method.getParameters().size());
assertTrue(method.getParameters().get(0).getParameterType() instanceof JvmGenericArrayTypeReference);
}
示例11: testVarArgs_03
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Test
public void testVarArgs_03() {
String typeName = ClassWithVarArgs.class.getName();
JvmGenericType type = (JvmGenericType) getTypeProvider().findTypeByName(typeName);
JvmConstructor constructor = getConstructorFromType(type, ClassWithVarArgs.class,
"ClassWithVarArgs(int,java.lang.String[])");
assertTrue(constructor.isVarArgs());
assertEquals(2, constructor.getParameters().size());
assertTrue(constructor.getParameters().get(0).getParameterType() instanceof JvmParameterizedTypeReference);
assertTrue(constructor.getParameters().get(1).getParameterType() instanceof JvmGenericArrayTypeReference);
}
示例12: checkTypeParameterConstraintIsValid
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Check
public void checkTypeParameterConstraintIsValid(JvmTypeParameter typeParameter) {
if(!typeParameter.getConstraints().isEmpty()) {
for(JvmTypeConstraint constraint: typeParameter.getConstraints()) {
JvmTypeReference typeReference = constraint.getTypeReference();
if(typeReference instanceof JvmGenericArrayTypeReference)
error(String.format("The array type %s cannot be used as a type parameter bound", typeReference.getSimpleName()),
typeReference, null, INVALID_TYPE_PARAMETER_BOUNDS);
else if (typeReference.getType() instanceof JvmTypeParameter && typeParameter.getConstraints().size() > 1)
error(String.format("The type parameter %s cannot be used as a type parameter bound with additional bounds", typeReference.getSimpleName()),
typeReference, null, INVALID_TYPE_PARAMETER_BOUNDS);
}
}
}
示例13: doVisitGenericArrayTypeReference
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Override
public StringBuilder doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference reference, StringBuilder param) {
param = visit(reference.getComponentType(), param);
if (param != null) {
param.append("[]");
}
return param;
}
示例14: doVisitGenericArrayTypeReference
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
@Override
public LightweightTypeReference doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference reference) {
JvmTypeReference originalComponentType = reference.getComponentType();
LightweightTypeReference lightweightComponentType = null;
if (originalComponentType != null) {
lightweightComponentType = visit(originalComponentType);
if (lightweightComponentType.isAny())
return lightweightComponentType;
} else {
lightweightComponentType = getObjectReference();
}
return owner.newArrayTypeReference(lightweightComponentType);
}
示例15: acceptType
import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference; //导入依赖的package包/类
protected void acceptType(JvmTypeReference ref) {
if (ref instanceof XFunctionTypeRef
|| ref instanceof JvmWildcardTypeReference
|| ref instanceof JvmGenericArrayTypeReference
|| (ref.eContainer() instanceof XFunctionTypeRef
&& ref.eContainmentFeature() == JVM_SPECIALIZED_TYPE_REFERENCE__EQUIVALENT)
|| NodeModelUtils.findActualNodeFor(ref) == null)
return;
else
acceptPreferredType(ref);
}