List of usage examples for org.eclipse.jdt.core Signature C_BOOLEAN
char C_BOOLEAN
To view the source code for org.eclipse.jdt.core Signature C_BOOLEAN.
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 w w w.j a v a 2s . 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.SourceMapper.java
License:Open Source License
private int getUnqualifiedTypeSignature(String qualifiedTypeSig, int start, int length, StringBuffer unqualifiedTypeSig, boolean noDollar) { char firstChar = qualifiedTypeSig.charAt(start); int end = start + 1; boolean sigStart = false; firstPass: for (int i = start; i < length; i++) { char current = qualifiedTypeSig.charAt(i); switch (current) { case Signature.C_ARRAY: case Signature.C_SUPER: case Signature.C_EXTENDS: unqualifiedTypeSig.append(current); start = i + 1;/*from w w w . j a v a 2s . c o m*/ end = start + 1; firstChar = qualifiedTypeSig.charAt(start); break; case Signature.C_RESOLVED: case Signature.C_UNRESOLVED: case Signature.C_TYPE_VARIABLE: if (!sigStart) { start = ++i; sigStart = true; } break; case Signature.C_NAME_END: case Signature.C_GENERIC_START: end = i; break firstPass; case Signature.C_STAR: unqualifiedTypeSig.append(current); start = i + 1; end = start + 1; firstChar = qualifiedTypeSig.charAt(start); break; case Signature.C_GENERIC_END: return i; case Signature.C_DOT: start = ++i; break; 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: if (!sigStart) { unqualifiedTypeSig.append(current); return i + 1; } } } switch (firstChar) { case Signature.C_RESOLVED: case Signature.C_UNRESOLVED: case Signature.C_TYPE_VARIABLE: unqualifiedTypeSig.append(Signature.C_UNRESOLVED); if (noDollar) { int lastDollar = qualifiedTypeSig.lastIndexOf('$', end); if (lastDollar > start) start = lastDollar + 1; } for (int i = start; i < length; i++) { char current = qualifiedTypeSig.charAt(i); switch (current) { case Signature.C_GENERIC_START: unqualifiedTypeSig.append(current); i++; do { i = getUnqualifiedTypeSignature(qualifiedTypeSig, i, length, unqualifiedTypeSig, noDollar); } while (qualifiedTypeSig.charAt(i) != Signature.C_GENERIC_END); unqualifiedTypeSig.append(Signature.C_GENERIC_END); break; case Signature.C_NAME_END: unqualifiedTypeSig.append(current); return i + 1; default: unqualifiedTypeSig.append(current); break; } } return length; default: // primitive type or wildcard unqualifiedTypeSig.append(qualifiedTypeSig.substring(start, end)); return end; } }
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(); }//ww w .j av a2 s . c o m 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:de.uka.ilkd.key.casetool.eclipse.EclipseSignaturesHelper.java
License:Open Source License
public static String determineJavaType(String eclipseSignature, IType surroundingType) { switch (eclipseSignature.charAt(0)) { case Signature.C_ARRAY: // this parameter is an array int depth = Signature.getArrayCount(eclipseSignature); StringBuffer type = new StringBuffer( determineJavaType(Signature.getElementType(eclipseSignature), surroundingType)); // array type is <element type> ([])+, now create the []s for (int i = 0; i < depth; i++) type.append('['); type.append(']'); // this is probably much faster, than handling String-objects ?! return type.toString(); // primitive types: case Signature.C_BOOLEAN: return "boolean"; case Signature.C_BYTE: return "byte"; case Signature.C_CHAR: return "char"; case Signature.C_DOUBLE: return "double"; case Signature.C_FLOAT: return "float"; case Signature.C_INT: return "int"; case Signature.C_LONG: return "long"; case Signature.C_SHORT: return "short"; // arbitrary types with fully-qualified name case Signature.C_RESOLVED: return eclipseSignature.substring(1, eclipseSignature.length() - 1); // eclipse input is "Lpackage.Type;", so // cut off the first and last character // arbitrary types with unresolved names case Signature.C_UNRESOLVED: String unqualifiedTypeName = eclipseSignature.substring(1, eclipseSignature.length() - 1); try {/*from w w w .ja v a 2s . c om*/ String[][] resolvedTypes = surroundingType.resolveType(unqualifiedTypeName); if (resolvedTypes != null && resolvedTypes.length > 0) { return (resolvedTypes[0][0].equals("") ? "" : resolvedTypes[0][0] + ".") + resolvedTypes[0][1]; } else { return null; } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } } throw new RuntimeException("Eclipse Signature type " + eclipseSignature + "not checked, add support !!"); }
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./*w ww . ja v a 2 s.com*/ * * @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.// ww w . j a va 2 s .c o m * @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++;// w w w . ja va 2 s . c o m 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:org.datanucleus.ide.eclipse.wizard.createappid.CodeGenerationUtil.java
License:Open Source License
private static String getWrapper(String typeSignature) { char c = typeSignature.charAt(0); switch (c) {//from w w w .j a v a2s . co m case Signature.C_BOOLEAN: return "java.lang.Boolean"; case Signature.C_BYTE: return "java.lang.Byte"; case Signature.C_CHAR: return "java.lang.Character"; case Signature.C_DOUBLE: return "java.lang.Double"; case Signature.C_FLOAT: return "java.lang.Float"; case Signature.C_INT: return "java.lang.Integer"; case Signature.C_LONG: return "java.lang.Long"; case Signature.C_SHORT: return "java.lang.Short"; } return Signature.toString(typeSignature); }
From source file:org.datanucleus.ide.eclipse.wizard.createappid.CodeGenerationUtil.java
License:Open Source License
public static boolean isPrimitiveType(String typeSignature) { if (typeSignature.length() > 1) { return false; } else {//from w w w .java 2 s . co m char c = typeSignature.charAt(0); return (c == Signature.C_BOOLEAN || c == Signature.C_BYTE || c == Signature.C_CHAR || c == Signature.C_DOUBLE || c == Signature.C_FLOAT || c == Signature.C_INT || c == Signature.C_LONG || c == Signature.C_SHORT); } }