List of usage examples for org.eclipse.jdt.core Signature C_VOID
char C_VOID
To view the source code for org.eclipse.jdt.core Signature C_VOID.
Click Source Link
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); }