Example usage for org.eclipse.jdt.core Signature C_VOID

List of usage examples for org.eclipse.jdt.core Signature C_VOID

Introduction

In this page you can find the example usage for org.eclipse.jdt.core Signature C_VOID.

Prototype

char C_VOID

To view the source code for org.eclipse.jdt.core Signature C_VOID.

Click Source Link

Document

Character constant indicating result type void in a signature.

Usage

From source file:ca.mcgill.cs.swevo.jayfx.FastConverter.java

License:Open Source License

public String resolveType(String pType, final IType pEnclosingType) throws ConversionException {
    String lReturn = "";
    int lDepth = 0;
    int lIndex = 0;
    while (pType.charAt(lIndex) == Signature.C_ARRAY) {
        lDepth++;/*from   ww  w .  j av  a  2 s  . c om*/
        lIndex++;
    }

    if (pType.charAt(lIndex) == Signature.C_BYTE || pType.charAt(lIndex) == Signature.C_CHAR
            || pType.charAt(lIndex) == Signature.C_DOUBLE || pType.charAt(lIndex) == Signature.C_FLOAT
            || pType.charAt(lIndex) == Signature.C_INT || pType.charAt(lIndex) == Signature.C_LONG
            || pType.charAt(lIndex) == Signature.C_SHORT || pType.charAt(lIndex) == Signature.C_VOID
            || pType.charAt(lIndex) == Signature.C_BOOLEAN || pType.charAt(lIndex) == Signature.C_RESOLVED)
        lReturn = pType;
    else
        try {
            pType = Signature.getTypeErasure(pType);
            final int lIndex2 = pType.indexOf(Signature.C_NAME_END);
            final String lType = pType.substring(lIndex + 1, lIndex2);
            final String[][] lTypes = pEnclosingType.resolveType(lType);
            if (lTypes == null)
                throw new ConversionException("Cannot convert type " + lType + " in " + pEnclosingType);
            if (lTypes.length != 1)
                throw new ConversionException("Cannot convert type " + lType + " in " + pEnclosingType);
            for (int i = 0; i < lDepth; i++)
                lReturn += "[";
            lReturn += "L" + lTypes[0][0] + "." + lTypes[0][1].replace('.', '$') + ";";
        } catch (final JavaModelException pException) {
            throw new ConversionException(pException);
        }
    return lReturn;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.util.Util.java

License:Open Source License

static void appendTypeSignature(char[] string, int start, StringBuffer buffer, boolean compact) {
    char c = string[start];
    switch (c) {/*from  www .  j av  a 2 s .  c  o  m*/
    case Signature.C_ARRAY:
        appendArrayTypeSignature(string, start, buffer, compact);
        break;
    case Signature.C_RESOLVED:
        appendClassTypeSignature(string, start, buffer, compact);
        break;
    case Signature.C_TYPE_VARIABLE:
        int e = org.eclipse.jdt.internal.compiler.util.Util.scanTypeVariableSignature(string, start);
        buffer.append(string, start + 1, e - start - 1);
        break;
    case Signature.C_BOOLEAN:
        buffer.append(BOOLEAN);
        break;
    case Signature.C_BYTE:
        buffer.append(BYTE);
        break;
    case Signature.C_CHAR:
        buffer.append(CHAR);
        break;
    case Signature.C_DOUBLE:
        buffer.append(DOUBLE);
        break;
    case Signature.C_FLOAT:
        buffer.append(FLOAT);
        break;
    case Signature.C_INT:
        buffer.append(INT);
        break;
    case Signature.C_LONG:
        buffer.append(LONG);
        break;
    case Signature.C_SHORT:
        buffer.append(SHORT);
        break;
    case Signature.C_VOID:
        buffer.append(VOID);
        break;
    }
}

From source file:com.codenvy.ide.ext.java.server.internal.core.util.Util.java

License:Open Source License

private static int appendTypeSignatureForAnchor(char[] string, int start, StringBuffer buffer,
        boolean isVarArgs) {
    // need a minimum 1 char
    if (start >= string.length) {
        throw new IllegalArgumentException();
    }/*from  ww  w.j  a  va2  s.com*/
    char c = string[start];
    if (isVarArgs) {
        switch (c) {
        case Signature.C_ARRAY:
            return appendArrayTypeSignatureForAnchor(string, start, buffer, true);
        case Signature.C_RESOLVED:
        case Signature.C_TYPE_VARIABLE:
        case Signature.C_BOOLEAN:
        case Signature.C_BYTE:
        case Signature.C_CHAR:
        case Signature.C_DOUBLE:
        case Signature.C_FLOAT:
        case Signature.C_INT:
        case Signature.C_LONG:
        case Signature.C_SHORT:
        case Signature.C_VOID:
        case Signature.C_STAR:
        case Signature.C_EXTENDS:
        case Signature.C_SUPER:
        case Signature.C_CAPTURE:
        default:
            throw new IllegalArgumentException(); // a var args is an array type
        }
    } else {
        switch (c) {
        case Signature.C_ARRAY:
            return appendArrayTypeSignatureForAnchor(string, start, buffer, false);
        case Signature.C_RESOLVED:
            return appendClassTypeSignatureForAnchor(string, start, buffer);
        case Signature.C_TYPE_VARIABLE:
            int e = org.eclipse.jdt.internal.compiler.util.Util.scanTypeVariableSignature(string, start);
            buffer.append(string, start + 1, e - start - 1);
            return e;
        case Signature.C_BOOLEAN:
            buffer.append(BOOLEAN);
            return start;
        case Signature.C_BYTE:
            buffer.append(BYTE);
            return start;
        case Signature.C_CHAR:
            buffer.append(CHAR);
            return start;
        case Signature.C_DOUBLE:
            buffer.append(DOUBLE);
            return start;
        case Signature.C_FLOAT:
            buffer.append(FLOAT);
            return start;
        case Signature.C_INT:
            buffer.append(INT);
            return start;
        case Signature.C_LONG:
            buffer.append(LONG);
            return start;
        case Signature.C_SHORT:
            buffer.append(SHORT);
            return start;
        case Signature.C_VOID:
            buffer.append(VOID);
            return start;
        case Signature.C_CAPTURE:
            return appendCaptureTypeSignatureForAnchor(string, start, buffer);
        case Signature.C_STAR:
        case Signature.C_EXTENDS:
        case Signature.C_SUPER:
            return appendTypeArgumentSignatureForAnchor(string, start, buffer);
        default:
            throw new IllegalArgumentException();
        }
    }
}

From source file:com.ibm.safe.internal.entrypoints.XMLEntryPointsReader.java

License:Open Source License

private String createMethodDescriptor() {
    final StringBuffer buf = new StringBuffer();
    buf.append('(');
    for (Iterator<String> iter = this.parametersTypes.iterator(); iter.hasNext();) {
        buf.append(iter.next().replace('.', '/'));
    }/*from ww w .j av  a2 s  .c o  m*/
    buf.append(')');

    if (this.returnType == null) {
        buf.append(Signature.C_VOID);
    } else {
        buf.append(this.returnType);
    }

    return buf.toString();
}

From source file:edu.ohio_state.cse.khatchad.ajplugintools.ajayfx.Converter.java

License:Open Source License

/**
 * Converts a string type in Eclipse to a String representation of a type in
 * the Concern Graphs model.//from  ww w  . j a  v  a  2 s . c  o m
 * 
 * @param pType
 *            The Eclipse type to convert.
 * @param aMember
 *            the member declaring pType type.
 * @return A String representing pType in a way understandable by the
 *         Concern Graphs model.
 * @exception ConversionException
 *                If the type cannot be converted.
 */
public static String convertType(final String pType, final IMember aMember) throws ConversionException {
    String lReturn = "";
    int lDepth = 0;
    int lIndex = 0;
    while (pType.charAt(lIndex) == Signature.C_ARRAY) {
        lDepth++;
        lIndex++;
    }

    if (pType.charAt(lIndex) == Signature.C_BYTE)
        lReturn = Converter.BYTE;
    else if (pType.charAt(lIndex) == Signature.C_CHAR)
        lReturn = Converter.CHAR;
    else if (pType.charAt(lIndex) == Signature.C_DOUBLE)
        lReturn = Converter.DOUBLE;
    else if (pType.charAt(lIndex) == Signature.C_FLOAT)
        lReturn = Converter.FLOAT;
    else if (pType.charAt(lIndex) == Signature.C_INT)
        lReturn = Converter.INT;
    else if (pType.charAt(lIndex) == Signature.C_LONG)
        lReturn = Converter.LONG;
    else if (pType.charAt(lIndex) == Signature.C_SHORT)
        lReturn = Converter.SHORT;
    else if (pType.charAt(lIndex) == Signature.C_VOID)
        lReturn = Converter.VOID;
    else if (pType.charAt(lIndex) == Signature.C_BOOLEAN)
        lReturn = Converter.BOOLEAN;
    else if (pType.charAt(lIndex) == Signature.C_RESOLVED) {
        final int lIndex2 = pType.indexOf(Signature.C_NAME_END);
        lReturn = pType.substring(lIndex + 1, lIndex2);
    } else if (pType.charAt(lIndex) == Signature.C_UNRESOLVED) {
        final int lIndex2 = pType.indexOf(Signature.C_NAME_END);
        final String lType = pType.substring(lIndex + 1, lIndex2);

        try {
            lReturn = Converter.resolveType(aMember, lType);
        } catch (final ConversionException e) {
            // We take one crack at inner classes
            final int lIndex3 = lType.lastIndexOf(Converter.DOT_CHAR);
            if (lIndex3 > 0) {
                String lType1 = lType.substring(0, lIndex3);
                lType1 = Converter.resolveType(aMember, lType1);
                Converter.resolveType(aMember,
                        lType1 + Converter.DOT + lType.substring(lIndex3 + 1, lType.length()));
                lReturn = lType1 + Converter.DOLLAR + lType.substring(lIndex3 + 1, lType.length());
            }

        }
    }
    for (int i = 0; i < lDepth; i++)
        lReturn += Converter.BRACKETS;
    return lReturn;
}

From source file:jayfx.Converter.java

License:Open Source License

/**
 * Converts a string type in Eclipse to a String representation of a type in the
 * Concern Graphs model./*w w w .  ja v a  2s  .  c  om*/
 * @param pType The Eclipse type to convert.
 * @param pMethod the method declaring pType as a parameter type.
 * @return A String representing pType in a way understandable by the Concern
 * Graphs model.
 * @exception ConversionException If the type cannot be converted.
 */
public static String convertType(String pType, IMethod pMethod) throws ConversionException {
    String lReturn = "";
    int lDepth = 0;
    int lIndex = 0;
    while (pType.charAt(lIndex) == Signature.C_ARRAY) {
        lDepth++;
        lIndex++;
    }

    if (pType.charAt(lIndex) == Signature.C_BYTE)
        lReturn = BYTE;
    else if (pType.charAt(lIndex) == Signature.C_CHAR)
        lReturn = CHAR;
    else if (pType.charAt(lIndex) == Signature.C_DOUBLE)
        lReturn = DOUBLE;
    else if (pType.charAt(lIndex) == Signature.C_FLOAT)
        lReturn = FLOAT;
    else if (pType.charAt(lIndex) == Signature.C_INT)
        lReturn = INT;
    else if (pType.charAt(lIndex) == Signature.C_LONG)
        lReturn = LONG;
    else if (pType.charAt(lIndex) == Signature.C_SHORT)
        lReturn = SHORT;
    else if (pType.charAt(lIndex) == Signature.C_VOID)
        lReturn = VOID;
    else if (pType.charAt(lIndex) == Signature.C_BOOLEAN)
        lReturn = BOOLEAN;
    else if (pType.charAt(lIndex) == Signature.C_RESOLVED) {
        int lIndex2 = pType.indexOf(Signature.C_NAME_END);
        lReturn = pType.substring(lIndex + 1, lIndex2);
    } else if (pType.charAt(lIndex) == Signature.C_UNRESOLVED) {
        int lIndex2 = pType.indexOf(Signature.C_NAME_END);
        String lType = pType.substring(lIndex + 1, lIndex2);

        try {
            lReturn = resolveType(pMethod, lType);
        } catch (ConversionException e) {
            // We take one crack at inner classes
            int lIndex3 = lType.lastIndexOf(DOT_CHAR);
            if (lIndex3 > 0) {
                String lType1 = lType.substring(0, lIndex3);
                lType1 = resolveType(pMethod, lType1);
                resolveType(pMethod, lType1 + DOT + lType.substring(lIndex3 + 1, lType.length()));
                lReturn = lType1 + DOLLAR + lType.substring(lIndex3 + 1, lType.length());
            }

        }
    }
    for (int i = 0; i < lDepth; i++) {
        lReturn += BRACKETS;
    }
    return lReturn;
}

From source file:jayfx.FastConverter.java

License:Open Source License

public String resolveType(String pType, IType pEnclosingType) throws ConversionException {
    String lReturn = "";
    int lDepth = 0;
    int lIndex = 0;
    while (pType.charAt(lIndex) == Signature.C_ARRAY) {
        lDepth++;//from w  w  w  .  jav a2s .  c om
        lIndex++;
    }

    if ((pType.charAt(lIndex) == Signature.C_BYTE) || (pType.charAt(lIndex) == Signature.C_CHAR)
            || (pType.charAt(lIndex) == Signature.C_DOUBLE) || (pType.charAt(lIndex) == Signature.C_FLOAT)
            || (pType.charAt(lIndex) == Signature.C_INT) || (pType.charAt(lIndex) == Signature.C_LONG)
            || (pType.charAt(lIndex) == Signature.C_SHORT) || (pType.charAt(lIndex) == Signature.C_VOID)
            || (pType.charAt(lIndex) == Signature.C_BOOLEAN)
            || (pType.charAt(lIndex) == Signature.C_RESOLVED)) {
        lReturn = pType;
    } else {
        try {
            int lIndex2 = pType.indexOf(Signature.C_NAME_END);
            String lType = pType.substring(lIndex + 1, lIndex2);
            String[][] lTypes = pEnclosingType.resolveType(lType);
            if (lTypes == null)
                throw new ConversionException("Cannot convert type " + lType + " in " + pEnclosingType);
            if (lTypes.length != 1)
                throw new ConversionException("Cannot convert type " + lType + " in " + pEnclosingType);
            for (int i = 0; i < lDepth; i++) {
                lReturn += "[";
            }
            lReturn += "L" + lTypes[0][0] + "." + lTypes[0][1].replace('.', '$') + ";";
        } catch (JavaModelException pException) {
            throw new ConversionException(pException);
        }
    }
    return lReturn;
}

From source file:net.harawata.mybatipse.bean.BeanPropertyCache.java

License:Open Source License

protected static void parseBinaryMethods(final IType type, final Map<String, String> readableFields,
        final Map<String, String> writableFields) throws JavaModelException {
    for (IMethod method : type.getMethods()) {
        int flags = method.getFlags();
        if (Flags.isPublic(flags)) {
            final String methodName = method.getElementName();
            final int parameterCount = method.getParameters().length;
            final String returnType = method.getReturnType();
            if (Signature.C_VOID == returnType.charAt(0)) {
                if (BeanPropertyVisitor.isSetter(methodName, parameterCount)) {
                    String fieldName = BeanPropertyVisitor.getFieldNameFromAccessor(methodName);
                    String paramType = method.getParameterTypes()[0];
                    writableFields.put(fieldName, Signature.toString(paramType));
                }/*from w ww  . j av a 2 s  . c o  m*/
            } else {
                if (BeanPropertyVisitor.isGetter(methodName, parameterCount)) {
                    String fieldName = BeanPropertyVisitor.getFieldNameFromAccessor(methodName);
                    readableFields.put(fieldName, Signature.toString(returnType));
                }
            }
        }
    }
}

From source file:org.eclipse.flux.jdt.services.CompletionProposalReplacementProvider.java

License:Open Source License

private final boolean canAutomaticallyAppendSemicolon(CompletionProposal proposal) {
    return !proposal.isConstructor() && CharOperation.equals(new char[] { Signature.C_VOID },
            Signature.getReturnType(proposal.getSignature()));
}

From source file:org.eclipse.recommenders.jdt.JavaElementsFinder.java

License:Open Source License

/**
 *
 * @param typeSignature//from www .jav  a  2s.co m
 *            e.g., QList;
 * @param enclosing
 * @return
 */
public static Optional<ITypeName> resolveType(char[] typeSignature, @Nullable IJavaElement enclosing) {
    typeSignature = CharOperation.replaceOnCopy(typeSignature, '.', '/');
    VmTypeName res = null;
    try {
        int dimensions = Signature.getArrayCount(typeSignature);
        outer: switch (typeSignature[dimensions]) {

        case Signature.C_BOOLEAN:
        case Signature.C_BYTE:
        case Signature.C_CHAR:
        case Signature.C_DOUBLE:
        case Signature.C_FLOAT:
        case Signature.C_INT:
        case Signature.C_LONG:
        case Signature.C_SHORT:
        case Signature.C_VOID:
            // take the whole string including any arrays
            res = VmTypeName.get(new String(typeSignature, 0, typeSignature.length));
            break;
        case Signature.C_RESOLVED:
            // take the whole string including any arrays but remove the trailing ';'
            res = VmTypeName.get(new String(typeSignature, 0, typeSignature.length - 1 /* ';' */));
            break;
        case Signature.C_UNRESOLVED:
            if (enclosing == null) {
                break;
            }
            // take the whole string (e.g. QList; or [QList;)
            String unresolved = new String(typeSignature, dimensions + 1,
                    typeSignature.length - (dimensions + 2 /* 'Q' + ';' */));
            IType ancestor = (IType) enclosing.getAncestor(IJavaElement.TYPE);
            if (ancestor == null) {
                break;
            }
            final String[][] resolvedNames = ancestor.resolveType(unresolved);
            if (isEmpty(resolvedNames)) {
                break;
            }
            String array = repeat('[', dimensions);
            final String pkg = resolvedNames[0][0].replace('.', '/');
            final String name = resolvedNames[0][1].replace('.', '$');
            res = VmTypeName.get(array + 'L' + pkg + '/' + name);
            break;
        case Signature.C_TYPE_VARIABLE:
            String varName = new String(typeSignature, dimensions + 1,
                    typeSignature.length - (dimensions + 2 /* 'Q' + ';' */));
            array = repeat('[', dimensions);

            for (IJavaElement cur = enclosing; cur instanceof IType
                    || cur instanceof IMethod; cur = cur.getParent()) {
                switch (cur.getElementType()) {
                case TYPE: {
                    IType type = (IType) cur;
                    ITypeParameter param = type.getTypeParameter(varName);
                    if (param.exists()) {
                        String[] signatures = getBoundSignatures(param);
                        if (isEmpty(signatures)) {
                            res = VmTypeName.OBJECT;
                            break outer;
                        }
                        // XXX we only consider the first type.
                        char[] append = array.concat(signatures[0]).toCharArray();
                        return resolveType(append, type);
                    }
                }
                case METHOD: {
                    IMethod method = (IMethod) cur;
                    ITypeParameter param = method.getTypeParameter(varName);
                    if (param.exists()) {
                        String[] signatures = getBoundSignatures(param);
                        if (isEmpty(signatures)) {
                            res = dimensions == 0 ? OBJECT
                                    : VmTypeName.get(repeat('[', dimensions) + OBJECT.getIdentifier());
                            break outer;
                        }
                        // XXX we only consider the first type.
                        char[] append = array.concat(signatures[0]).toCharArray();
                        return resolveType(append, method);
                    }
                }
                }
            }

            break;
        default:
            break;
        }
    } catch (Exception e) {
        Logs.log(LogMessages.ERROR_FAILED_TO_CREATE_TYPENAME, e,
                charToString(typeSignature) + (enclosing != null ? " in " + enclosing.getElementName() : ""));
    }
    return Optional.<ITypeName>fromNullable(res);
}