protected void consumeMethodHeaderExtendedDims() { // MethodHeaderExtendedDims ::= Dimsopt // now we update the returnType of the method MethodDeclaration md = (MethodDeclaration) this.astStack[this.astPtr]; int extendedDims = this.intStack[this.intPtr--]; this.extendsDim = extendedDims; if (extendedDims != 0) { TypeReference returnType = md.returnType; md.sourceEnd = this.endPosition; int dims = returnType.dimensions() + extendedDims; md.returnType = copyDims(returnType, dims); if (this.currentToken == TokenNameLBRACE) { md.bodyStart = this.endPosition + 1; } } } protected void consumeMethodHeaderName(boolean isAnnotationMethod) {
/** * Checks if the given type reference represents a primitive type. */ public static boolean isPrimitive(TypeReference ref) { if (ref.dimensions() > 0) return false; return PRIMITIVE_TYPE_NAME_PATTERN.matcher(toQualifiedName(ref.getTypeName())).matches(); }
private void formatLeadingDimensions(TypeReference typeReference) { int leadingDimensions = Math.min(getDimensions(), typeReference != null ? typeReference.dimensions() : 0); if (leadingDimensions != 0) formatDimensions(typeReference, 0, leadingDimensions); }
private void formatLeadingDimensions(TypeReference typeReference) { int leadingDimensions = Math.min(getDimensions(), typeReference != null ? typeReference.dimensions() : 0); if (leadingDimensions != 0) formatDimensions(typeReference, 0, leadingDimensions); }
private static char[] getTypeName(TypeReference typeReference) { char[] typeName = CharOperation.concatWith(typeReference.getTypeName(), '.'); int dims = typeReference.dimensions(); if (dims > 0) { int length = typeName.length; int newLength = length + (dims*2); System.arraycopy(typeName, 0, typeName = new char[newLength], 0, length); for (int k = length; k < newLength; k += 2) { typeName[k] = '['; typeName[k+1] = ']'; } } return typeName; }
private static char[] getTypeName(TypeReference typeReference) { char[] typeName = CharOperation.concatWith(typeReference.getTypeName(), '.'); int dims = typeReference.dimensions(); if (dims > 0) { int length = typeName.length; int newLength = length + (dims*2); System.arraycopy(typeName, 0, typeName = new char[newLength], 0, length); for (int k = length; k < newLength; k += 2) { typeName[k] = '['; typeName[k+1] = ']'; } } return typeName; }
private static char[] getTypeName(TypeReference typeReference) { char[] typeName = CharOperation.concatWith(typeReference.getTypeName(), '.'); int dims = typeReference.dimensions(); if (dims > 0) { int length = typeName.length; int newLength = length + (dims*2); System.arraycopy(typeName, 0, typeName = new char[newLength], 0, length); for (int k = length; k < newLength; k += 2) { typeName[k] = '['; typeName[k+1] = ']'; } } return typeName; }
private static char[] getTypeName(TypeReference typeReference) { char[] typeName = CharOperation.concatWith(typeReference.getTypeName(), '.'); int dims = typeReference.dimensions(); if (dims > 0) { int length = typeName.length; int newLength = length + (dims*2); System.arraycopy(typeName, 0, typeName = new char[newLength], 0, length); for (int k = length; k < newLength; k += 2) { typeName[k] = '['; typeName[k+1] = ']'; } } return typeName; }
private static char[] getTypeName(TypeReference typeReference) { char[] typeName = CharOperation.concatWith(typeReference.getTypeName(), '.'); int dims = typeReference.dimensions(); if (dims > 0) { int length = typeName.length; int newLength = length + (dims*2); System.arraycopy(typeName, 0, typeName = new char[newLength], 0, length); for (int k = length; k < newLength; k += 2) { typeName[k] = '['; typeName[k+1] = ']'; } } return typeName; }
private static char[] getTypeName(TypeReference typeReference) { char[] typeName = CharOperation.concatWith(typeReference.getTypeName(), '.'); int dims = typeReference.dimensions(); if (dims > 0) { int length = typeName.length; int newLength = length + (dims*2); System.arraycopy(typeName, 0, typeName = new char[newLength], 0, length); for (int k = length; k < newLength; k += 2) { typeName[k] = '['; typeName[k+1] = ']'; } } return typeName; }
private void formatExtraDimensions(TypeReference typeReference) { /* * Check for extra dimensions */ int extraDimensions = getDimensions(); if (extraDimensions != 0) { int anchor = typeReference != null ? (typeReference.dimensions() - extraDimensions) : 0; formatDimensions(typeReference, anchor, extraDimensions); } }
private void formatExtraDimensions(TypeReference typeReference) { /* * Check for extra dimensions */ int extraDimensions = getDimensions(); if (extraDimensions != 0) { int anchor = typeReference != null ? (typeReference.dimensions() - extraDimensions) : 0; formatDimensions(typeReference, anchor, extraDimensions); } }
private char[] returnTypeName(TypeReference type) { int dimension = type.dimensions(); if (dimension != 0) { char[] dimensionsArray = new char[dimension * 2]; for (int i = 0; i < dimension; i++) { dimensionsArray[i*2] = '['; dimensionsArray[(i*2) + 1] = ']'; } return CharOperation.concat( CharOperation.concatWith(type.getTypeName(), '.'), dimensionsArray); } return CharOperation.concatWith(type.getTypeName(), '.'); } @Override
private char[] returnTypeName(TypeReference type) { int dimension = type.dimensions(); if (dimension != 0) { char[] dimensionsArray = new char[dimension * 2]; for (int i = 0; i < dimension; i++) { dimensionsArray[i*2] = '['; dimensionsArray[(i*2) + 1] = ']'; } return CharOperation.concat( CharOperation.concatWith(type.getTypeName(), '.'), dimensionsArray); } return CharOperation.concatWith(type.getTypeName(), '.'); } public String toString() {
private char[] returnTypeName(TypeReference type) { int dimension = type.dimensions(); if (dimension != 0) { char[] dimensionsArray = new char[dimension * 2]; for (int i = 0; i < dimension; i++) { dimensionsArray[i*2] = '['; dimensionsArray[(i*2) + 1] = ']'; } return CharOperation.concat( CharOperation.concatWith(type.getTypeName(), '.'), dimensionsArray); } return CharOperation.concatWith(type.getTypeName(), '.'); } public String toString() {
private char[] returnTypeName(TypeReference type) { int dimension = type.dimensions(); if (dimension != 0) { char[] dimensionsArray = new char[dimension * 2]; for (int i = 0; i < dimension; i++) { dimensionsArray[i*2] = '['; dimensionsArray[(i*2) + 1] = ']'; } return CharOperation.concat( CharOperation.concatWith(type.getTypeName(), '.'), dimensionsArray); } return CharOperation.concatWith(type.getTypeName(), '.'); } public String toString() {
private char[] returnTypeName(TypeReference type) { int dimension = type.dimensions(); if (dimension != 0) { char[] dimensionsArray = new char[dimension * 2]; for (int i = 0; i < dimension; i++) { dimensionsArray[i*2] = '['; dimensionsArray[(i*2) + 1] = ']'; } return CharOperation.concat( CharOperation.concatWith(type.getTypeName(), '.'), dimensionsArray); } return CharOperation.concatWith(type.getTypeName(), '.'); } public String toString() {
private char[] returnTypeName(TypeReference type) { int dimension = type.dimensions(); if (dimension != 0) { char[] dimensionsArray = new char[dimension * 2]; for (int i = 0; i < dimension; i++) { dimensionsArray[i*2] = '['; dimensionsArray[(i*2) + 1] = ']'; } return CharOperation.concat( CharOperation.concatWith(type.getTypeName(), '.'), dimensionsArray); } return CharOperation.concatWith(type.getTypeName(), '.'); } public String toString() {
private char[] returnTypeName(TypeReference type) { int dimension = type.dimensions(); if (dimension != 0) { char[] dimensionsArray = new char[dimension * 2]; for (int i = 0; i < dimension; i++) { dimensionsArray[i*2] = '['; dimensionsArray[(i*2) + 1] = ']'; } return CharOperation.concat( CharOperation.concatWith(type.getTypeName(), '.'), dimensionsArray); } return CharOperation.concatWith(type.getTypeName(), '.'); } public String toString() {
private boolean argumentsTypeVar(BlockScope blockScope) { if (blockScope.compilerOptions().complianceLevel < ClassFileConstants.getComplianceLevelForJavaVersion(ClassFileConstants.MAJOR_VERSION_11)) return false; boolean retval = false, isVar = false, mixReported = false; Argument[] args = this.arguments; for (int i = 0, l = args.length; i < l; ++i) { Argument arg = args[i]; TypeReference type = arg.type; if (type == null) continue; boolean prev = isVar; retval |= isVar = type.isTypeNameVar(blockScope); if (i > 0 && prev != isVar && !mixReported) { // report only once per list blockScope.problemReporter().varCannotBeMixedWithNonVarParams(isVar ? arg : args[i - 1]); mixReported = true; } if (isVar && (type.dimensions() > 0 || type.extraDimensions() > 0)) { blockScope.problemReporter().varLocalCannotBeArray(arg); } } return retval; }