当前位置: 首页>>代码示例>>Java>>正文


Java JvmGenericArrayTypeReference类代码示例

本文整理汇总了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());
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:20,代码来源:AbstractTypeProviderTest.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:18,代码来源:AbstractTypeProviderTest.java

示例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();
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:24,代码来源:UIStrings.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:22,代码来源:JvmModelGenerator.java

示例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;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:20,代码来源:AbstractConstantExpressionsInterpreter.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:19,代码来源:AbstractClassMirror.java

示例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();
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:19,代码来源:PureXbaseSemanticSequencer.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:13,代码来源:AbstractTypeProviderTest.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:13,代码来源:AbstractTypeProviderTest.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:10,代码来源:AbstractTypeProviderTest.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:12,代码来源:AbstractTypeProviderTest.java

示例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);
		}
	}
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:15,代码来源:XbaseValidator.java

示例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;
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:9,代码来源:ProxyAwareUIStrings.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:14,代码来源:LightweightTypeReferenceFactory.java

示例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);
}
 
开发者ID:eclipse,项目名称:xtext-extras,代码行数:12,代码来源:TypeUsageCollector.java


注:本文中的org.eclipse.xtext.common.types.JvmGenericArrayTypeReference类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。