private boolean hasArrayArgs( IMethodInfo[] methods ) { for( IMethodInfo method : methods ) { if( method.getReturnType().isArray() ) { return true; } } return false; }
private Object extractObjectArray( IType intrType, Object value ) { if( intrType.isArray() && intrType instanceof IJavaArrayType && value instanceof IGosuArrayClassInstance ) { value = ((IGosuArrayClassInstance)value).getObjectArray(); } return value; }
private IType handleSingleElementArrayType( String text, IJavaClassInfo type ) { IType javaType = type.getJavaType(); if( !javaType.isArray() ) { return javaType; } if( text.startsWith( "{" ) ) { return javaType; } return javaType.getComponentType(); }
public IDefaultArrayType getThisRef() { IType compType = this; do { compType = compType.getComponentType(); } while( compType.isArray() ); return compType instanceof INonLoadableType || compType instanceof IJavaType ? this : (IDefaultArrayType)TypeSystem.getOrCreateTypeReference( this ); }
private void addArrayProperties(List<IPropertyInfo> ret) { if ( getOwnersType().isArray()) { for (Iterator<IPropertyInfo> iterator = ret.iterator(); iterator.hasNext();) { IPropertyInfo propertyInfo = iterator.next(); if (propertyInfo.getName().equals(Keyword.KW_length.toString())) { iterator.remove(); } } IPropertyInfo lengthProperty = GosuShop.createPropertyDelegate(JavaTypeInfo.this, GosuShop.createLengthProperty(JavaTypeInfo.this)); ret.add(lengthProperty); } }
@Override public boolean isAssignableFrom( IType type ) { if( type == this ) { return true; } return type.isArray() && !type.getComponentType().isPrimitive(); } }
@Override public boolean isEntityClass(IType type) { if (type.isArray()) { return isEntityClass(type.getComponentType()); } else { String namespace = type.getNamespace(); //TODO-dp simplify this return "entity".equals(namespace); } }
private int getArrayDims( IReducedSymbol reducedSym ) { IType type = reducedSym.getType(); if( type == JavaTypes.OBJECT() ) { // Special case for handling Object -- pcf does strange stuff where it says a var is Object but expects a on dim array return -1; } int iDims; for( iDims = 0; type.isArray(); iDims++ ) { type = type.getComponentType(); } return iDims; }
@Override public boolean isAssignableFrom( IType type ) { if( type == this ) { return true; } return type.isArray() && getComponentType().isAssignableFrom( type.getComponentType() ); } }
public static IType getCoreType( IType type ) { if (TypeSystem.isDeleted(type)) { return null; } if( type.isArray() ) { return getCoreType( type.getComponentType() ); } return type; }
public IType getReturnType() { IType type = _delegate.getReturnType(); if( type.isArray() || type == JavaTypes.pVOID() ) { return type; } return type.getArrayType(); }
/** */ public boolean isAssignableFrom( IType type ) { return type.getAllTypesInHierarchy().contains( getThisRef() ) || (type.isArray() && type.getClass().isInstance( getThisRef() ) && this.getComponentType().isAssignableFrom( type.getComponentType() )); }
public static IType getCoreType( IType type ) { if (TypeSystem.isDeleted(type)) { return null; } if( type.isArray() ) { return getCoreType( type.getComponentType() ); } return type; }
private static boolean needsArg(IPropertyInfo propertyInfo) { boolean requiresArgument = true; if (isBooleanProp(propertyInfo)) { requiresArgument = false; } else if (propertyInfo.getFeatureType().isArray()) { requiresArgument = false; } else if (propertyInfo.hasAnnotation(TypeSystem.get(ArgOptional.class))) { requiresArgument = false; } return requiresArgument; }
public static boolean isConvertible( MemberAccess memberAccess ) { return memberAccess.getMemberExpression() == null && !(memberAccess.getRootType() instanceof INamespaceType) && !(memberAccess.getRootExpression() != null && memberAccess.getRootType().isArray()) && !(memberAccess.getPropertyInfo() instanceof IUncacheableFeature); }
public static boolean supportsArrayAccess( IType type ) { return type.isArray() || (JavaTypes.LIST().isAssignableFrom(type) && !JavaTypes.LINKED_LIST().isAssignableFrom( type )) || JavaTypes.CHAR_SEQUENCE().isAssignableFrom(type) || (type instanceof IDynamicType); }
private IType getComponentType(IType partType) { if ( partType.isArray()) { return getComponentType(partType.getComponentType()); } if ( JavaTypes.LIST().isAssignableFrom( partType )) { IType[] parameters = partType.getTypeParameters(); return parameters.length != 1 ? partType : getComponentType(parameters[0]); } return partType; }
private IType getComponentType(IType partType) { if ( partType.isArray()) { return getComponentType(partType.getComponentType()); } if ( JavaTypes.LIST().isAssignableFrom( partType )) { IType[] parameters = partType.getTypeParameters(); return parameters.length != 1 ? partType : getComponentType(parameters[0]); } return partType; }
public static boolean isIteratorType( IType typeIn ) { return typeIn.isArray() || typeIn instanceof ErrorType || JavaTypes.ITERABLE().isAssignableFrom( typeIn ) || StandardCoercionManager.isStructurallyAssignable_Laxed( JavaTypes.ITERABLE(), typeIn ) || JavaTypes.ITERATOR().isAssignableFrom( typeIn ) || typeIn == GosuParserTypes.STRING_TYPE() || (typeIn instanceof IPlaceholder && ((IPlaceholder)typeIn).isPlaceholder()); }
private boolean isValidAnnotationMethodReturnType( IType returnType ) { return (returnType.isPrimitive() && returnType != JavaTypes.pVOID()) || returnType == JavaTypes.STRING() || returnType.getGenericType() == JavaTypes.CLASS() || JavaTypes.ANNOTATION().isAssignableFrom( returnType ) || returnType.isEnum() || (returnType.isArray() && isValidAnnotationMethodReturnType( returnType.getComponentType())); }