Skip to content

Commit

Permalink
Rename getSpecificObjCType() back to getObjCType().
Browse files Browse the repository at this point in the history
	Change on 2016/04/21 by kstanger <kstanger@google.com>

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120464792
  • Loading branch information
kstanger authored and Keith Stanger committed Apr 28, 2016
1 parent 8aafa36 commit a09f369
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 40 deletions.
Expand Up @@ -320,7 +320,7 @@ public boolean visit(CStringLiteral node) {
public boolean visit(CastExpression node) { public boolean visit(CastExpression node) {
ITypeBinding type = node.getType().getTypeBinding(); ITypeBinding type = node.getType().getTypeBinding();
buffer.append("("); buffer.append("(");
buffer.append(nameTable.getSpecificObjCType(type)); buffer.append(nameTable.getObjCType(type));
buffer.append(") "); buffer.append(") ");
node.getExpression().accept(this); node.getExpression().accept(this);
return false; return false;
Expand Down Expand Up @@ -485,7 +485,7 @@ private void printGenericArgumentsInner(IMethodBinding methodBinding, boolean is
delimiterFlag = true; delimiterFlag = true;
} }
if (withTypes) { if (withTypes) {
buffer.append(nameTable.getSpecificObjCType(t)); buffer.append(nameTable.getObjCType(t));
buffer.append(' '); buffer.append(' ');
} }
buffer.append(var); buffer.append(var);
Expand All @@ -500,7 +500,7 @@ private void printGenericArgumentsInner(IMethodBinding methodBinding, boolean is
delimiterFlag = true; delimiterFlag = true;
} }
if (withTypes) { if (withTypes) {
buffer.append(nameTable.getSpecificObjCType(t)); buffer.append(nameTable.getObjCType(t));
buffer.append(' '); buffer.append(' ');
} }
buffer.append(var); buffer.append(var);
Expand All @@ -516,7 +516,7 @@ private void printGenericArgumentsInner(IMethodBinding methodBinding, boolean is
private void printBlockPreExpression(IMethodBinding functionalInterface, private void printBlockPreExpression(IMethodBinding functionalInterface,
ITypeBinding returnType) { ITypeBinding returnType) {
buffer.append('^'); buffer.append('^');
buffer.append(nameTable.getSpecificObjCType(returnType)); buffer.append(nameTable.getObjCType(returnType));
// Required argument for imp_implementationWithBlock. // Required argument for imp_implementationWithBlock.
buffer.append("(id _self"); buffer.append("(id _self");
if (functionalInterface.getParameterTypes().length > 0) { if (functionalInterface.getParameterTypes().length > 0) {
Expand Down Expand Up @@ -740,7 +740,7 @@ private void printBlockCallWrapper(IMethodBinding methodBinding) {
boolean isSelector = false; boolean isSelector = false;
ITypeBinding returnType = methodBinding.getReturnType(); ITypeBinding returnType = methodBinding.getReturnType();
printBlockPreExpression(methodBinding, returnType); printBlockPreExpression(methodBinding, returnType);
buffer.append(nameTable.getSpecificObjCType(returnType)); buffer.append(nameTable.getObjCType(returnType));
buffer.append(" (^block)"); buffer.append(" (^block)");
buffer.append(Options.getLanguage() == Options.OutputLanguageOption.OBJECTIVE_CPLUSPLUS buffer.append(Options.getLanguage() == Options.OutputLanguageOption.OBJECTIVE_CPLUSPLUS
? "(...)" : "()"); ? "(...)" : "()");
Expand Down Expand Up @@ -835,13 +835,13 @@ private void printLambdaCallBlocks(IMethodBinding functionalInterface,
buffer.append(",\n"); buffer.append(",\n");
} }
buffer.append('^'); buffer.append('^');
buffer.append(nameTable.getSpecificObjCType(functionalInterface.getReturnType())); buffer.append(nameTable.getObjCType(functionalInterface.getReturnType()));
// Required argument for imp_implementationWithBlock. // Required argument for imp_implementationWithBlock.
buffer.append("(id _self"); buffer.append("(id _self");
for (VariableDeclaration x : parameters) { for (VariableDeclaration x : parameters) {
IVariableBinding variableBinding = x.getVariableBinding(); IVariableBinding variableBinding = x.getVariableBinding();
buffer.append(", "); buffer.append(", ");
buffer.append(nameTable.getSpecificObjCType(x.getVariableBinding().getType())); buffer.append(nameTable.getObjCType(x.getVariableBinding().getType()));
buffer.append(' '); buffer.append(' ');
buffer.append(nameTable.getVariableQualifiedName(variableBinding.getVariableDeclaration())); buffer.append(nameTable.getVariableQualifiedName(variableBinding.getVariableDeclaration()));
} }
Expand Down Expand Up @@ -1072,7 +1072,7 @@ public boolean visit(SingleMemberAnnotation node) {


@Override @Override
public boolean visit(SingleVariableDeclaration node) { public boolean visit(SingleVariableDeclaration node) {
buffer.append(nameTable.getSpecificObjCType(node.getVariableBinding())); buffer.append(nameTable.getObjCType(node.getVariableBinding()));
if (node.isVarargs()) { if (node.isVarargs()) {
buffer.append("..."); buffer.append("...");
} }
Expand Down Expand Up @@ -1373,7 +1373,7 @@ public boolean visit(TypeMethodReference node) {


@Override @Override
public boolean visit(VariableDeclarationExpression node) { public boolean visit(VariableDeclarationExpression node) {
String typeString = nameTable.getSpecificObjCType(node.getTypeBinding()); String typeString = nameTable.getObjCType(node.getTypeBinding());
boolean needsAsterisk = typeString.endsWith("*"); boolean needsAsterisk = typeString.endsWith("*");
buffer.append(typeString); buffer.append(typeString);
if (!needsAsterisk) { if (!needsAsterisk) {
Expand Down Expand Up @@ -1412,7 +1412,7 @@ public boolean visit(VariableDeclarationStatement node) {
if (BindingUtil.suppressesWarning("unused", binding)) { if (BindingUtil.suppressesWarning("unused", binding)) {
buffer.append("__unused "); buffer.append("__unused ");
} }
String objcType = nameTable.getSpecificObjCType(binding); String objcType = nameTable.getObjCType(binding);
String objcTypePointers = " "; String objcTypePointers = " ";
int idx = objcType.indexOf(" *"); int idx = objcType.indexOf(" *");
if (idx != -1) { if (idx != -1) {
Expand Down
Expand Up @@ -220,7 +220,7 @@ protected void printStaticAccessors() {
for (VariableDeclarationFragment fragment : getStaticFields()) { for (VariableDeclarationFragment fragment : getStaticFields()) {
IVariableBinding var = fragment.getVariableBinding(); IVariableBinding var = fragment.getVariableBinding();
String accessorName = nameTable.getStaticAccessorName(var); String accessorName = nameTable.getStaticAccessorName(var);
String objcType = nameTable.getSpecificObjCType(var.getType()); String objcType = nameTable.getObjCType(var.getType());
printf("\n+ (%s)%s;\n", objcType, accessorName); printf("\n+ (%s)%s;\n", objcType, accessorName);
if (!Modifier.isFinal(var.getModifiers())) { if (!Modifier.isFinal(var.getModifiers())) {
printf("\n+ (void)set%s:(%s)value;\n", NameTable.capitalize(accessorName), objcType); printf("\n+ (void)set%s:(%s)value;\n", NameTable.capitalize(accessorName), objcType);
Expand Down Expand Up @@ -331,7 +331,7 @@ protected void printProperties() {
print(") "); print(") ");
} }


String objcType = nameTable.getSpecificObjCType(varType); String objcType = nameTable.getObjCType(varType);
print(objcType); print(objcType);
if (!objcType.endsWith("*")) { if (!objcType.endsWith("*")) {
print(' '); print(' ');
Expand Down Expand Up @@ -401,7 +401,7 @@ protected void printFieldSetters() {
newline(); newline();
for (VariableDeclarationFragment fragment : fields) { for (VariableDeclarationFragment fragment : fields) {
IVariableBinding var = fragment.getVariableBinding(); IVariableBinding var = fragment.getVariableBinding();
String typeStr = nameTable.getSpecificObjCType(var.getType()); String typeStr = nameTable.getObjCType(var.getType());
if (typeStr.contains(",")) { if (typeStr.contains(",")) {
typeStr = "J2OBJC_ARG(" + typeStr + ')'; typeStr = "J2OBJC_ARG(" + typeStr + ')';
} }
Expand All @@ -428,7 +428,7 @@ protected void printStaticFieldDeclaration(
private void printStaticFieldFullDeclaration(VariableDeclarationFragment fragment) { private void printStaticFieldFullDeclaration(VariableDeclarationFragment fragment) {
IVariableBinding var = fragment.getVariableBinding(); IVariableBinding var = fragment.getVariableBinding();
boolean isVolatile = BindingUtil.isVolatile(var); boolean isVolatile = BindingUtil.isVolatile(var);
String objcType = nameTable.getSpecificObjCType(var.getType()); String objcType = nameTable.getObjCType(var.getType());
String objcTypePadded = objcType + (objcType.endsWith("*") ? "" : " "); String objcTypePadded = objcType + (objcType.endsWith("*") ? "" : " ");
String declType = getDeclarationType(var); String declType = getDeclarationType(var);
declType += (declType.endsWith("*") ? "" : " "); declType += (declType.endsWith("*") ? "" : " ");
Expand Down Expand Up @@ -725,7 +725,7 @@ protected String getConstructorSignature(IMethodBinding m) {
sb.append('\n'); sb.append('\n');
sb.append(pad(baseLength - selParts[i].length())); sb.append(pad(baseLength - selParts[i].length()));
} }
String typeName = nameTable.getSpecificObjCType(params[i]); String typeName = nameTable.getObjCType(params[i]);
sb.append(UnicodeUtils.format("%s:(%s)arg%d", selParts[i], typeName, i)); sb.append(UnicodeUtils.format("%s:(%s)arg%d", selParts[i], typeName, i));
} }
} }
Expand Down
Expand Up @@ -252,7 +252,7 @@ protected String getDeclarationType(IVariableBinding var) {
if (BindingUtil.isVolatile(var)) { if (BindingUtil.isVolatile(var)) {
return "volatile_" + NameTable.getPrimitiveObjCType(type); return "volatile_" + NameTable.getPrimitiveObjCType(type);
} else { } else {
return nameTable.getSpecificObjCType(type); return nameTable.getObjCType(type);
} }
} }


Expand All @@ -263,7 +263,7 @@ protected String getMethodSignature(MethodDeclaration m) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
IMethodBinding binding = m.getMethodBinding(); IMethodBinding binding = m.getMethodBinding();
char prefix = Modifier.isStatic(m.getModifiers()) ? '+' : '-'; char prefix = Modifier.isStatic(m.getModifiers()) ? '+' : '-';
String returnType = nameTable.getSpecificObjCType(binding.getReturnType()); String returnType = nameTable.getObjCType(binding.getReturnType());
String selector = nameTable.getMethodSelector(binding); String selector = nameTable.getMethodSelector(binding);
if (m.isConstructor()) { if (m.isConstructor()) {
returnType = "instancetype"; returnType = "instancetype";
Expand All @@ -288,7 +288,7 @@ protected String getMethodSignature(MethodDeclaration m) {
sb.append(pad(baseLength - selParts[i].length())); sb.append(pad(baseLength - selParts[i].length()));
} }
IVariableBinding var = params.get(i).getVariableBinding(); IVariableBinding var = params.get(i).getVariableBinding();
String typeName = nameTable.getSpecificObjCType(var.getType()); String typeName = nameTable.getObjCType(var.getType());
sb.append(UnicodeUtils.format("%s:(%s%s)%s", selParts[i], typeName, nullability(var, true), sb.append(UnicodeUtils.format("%s:(%s%s)%s", selParts[i], typeName, nullability(var, true),
nameTable.getVariableShortName(var))); nameTable.getVariableShortName(var)));
} }
Expand Down Expand Up @@ -383,13 +383,13 @@ public void endVisit(MethodDeclaration node) {


protected String getFunctionSignature(FunctionDeclaration function) { protected String getFunctionSignature(FunctionDeclaration function) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
String returnType = nameTable.getSpecificObjCType(function.getReturnType().getTypeBinding()); String returnType = nameTable.getObjCType(function.getReturnType().getTypeBinding());
returnType += returnType.endsWith("*") ? "" : " "; returnType += returnType.endsWith("*") ? "" : " ";
sb.append(returnType).append(function.getName()).append('('); sb.append(returnType).append(function.getName()).append('(');
for (Iterator<SingleVariableDeclaration> iter = function.getParameters().iterator(); for (Iterator<SingleVariableDeclaration> iter = function.getParameters().iterator();
iter.hasNext(); ) { iter.hasNext(); ) {
IVariableBinding var = iter.next().getVariableBinding(); IVariableBinding var = iter.next().getVariableBinding();
String paramType = nameTable.getSpecificObjCType(var.getType()); String paramType = nameTable.getObjCType(var.getType());
paramType += (paramType.endsWith("*") ? "" : " "); paramType += (paramType.endsWith("*") ? "" : " ");
sb.append(paramType + nameTable.getVariableShortName(var)); sb.append(paramType + nameTable.getVariableShortName(var));
if (iter.hasNext()) { if (iter.hasNext()) {
Expand Down
Expand Up @@ -179,7 +179,7 @@ protected void printStaticAccessors() {
boolean isPrimitive = type.isPrimitive(); boolean isPrimitive = type.isPrimitive();
String accessorName = nameTable.getStaticAccessorName(varBinding); String accessorName = nameTable.getStaticAccessorName(varBinding);
String varName = nameTable.getVariableQualifiedName(varBinding); String varName = nameTable.getVariableQualifiedName(varBinding);
String objcType = nameTable.getSpecificObjCType(type); String objcType = nameTable.getObjCType(type);
String typeSuffix = isPrimitive ? NameTable.capitalize(type.getName()) : "Id"; String typeSuffix = isPrimitive ? NameTable.capitalize(type.getName()) : "Id";
if (isVolatile) { if (isVolatile) {
printf("\n+ (%s)%s {\n return JreLoadVolatile%s(&%s);\n}\n", printf("\n+ (%s)%s {\n return JreLoadVolatile%s(&%s);\n}\n",
Expand Down Expand Up @@ -318,7 +318,7 @@ private void printJniFunctionAndWrapper(FunctionDeclaration function) {
if (returnType.isPrimitive()) { if (returnType.isPrimitive()) {
print("return "); print("return ");
} else { } else {
printf("return (%s) ", nameTable.getSpecificObjCType(returnType)); printf("return (%s) ", nameTable.getObjCType(returnType));
} }
} }
print(function.getJniSignature()); print(function.getJniSignature());
Expand Down
Expand Up @@ -183,8 +183,8 @@ private void addReturnTypeNarrowingDeclarations(AbstractTypeDeclaration node) {
continue; continue;
} }
if (declaredReturnType != returnType if (declaredReturnType != returnType
&& !nameTable.getSpecificObjCType(declaredReturnType).equals( && !nameTable.getObjCType(declaredReturnType).equals(
nameTable.getSpecificObjCType(returnType))) { nameTable.getObjCType(returnType))) {
newDeclarations.put(selector, method); newDeclarations.put(selector, method);
declaredReturnTypes.put(selector, returnType); declaredReturnTypes.put(selector, returnType);
} }
Expand Down
Expand Up @@ -122,7 +122,7 @@ private void addMemberProperties(
IMethodBinding memberBinding = member.getMethodBinding(); IMethodBinding memberBinding = member.getMethodBinding();
ITypeBinding memberType = memberBinding.getReturnType(); ITypeBinding memberType = memberBinding.getReturnType();
String propName = NameTable.getAnnotationPropertyName(memberBinding); String propName = NameTable.getAnnotationPropertyName(memberBinding);
String memberTypeStr = nameTable.getSpecificObjCType(memberType); String memberTypeStr = nameTable.getObjCType(memberType);


String fieldName = nameTable.getVariableShortName(fieldBindings.get(memberBinding)); String fieldName = nameTable.getVariableShortName(fieldBindings.get(memberBinding));
propertyDecls.append(UnicodeUtils.format("@property (readonly) %s%s%s;\n", propertyDecls.append(UnicodeUtils.format("@property (readonly) %s%s%s;\n",
Expand Down
Expand Up @@ -739,18 +739,17 @@ public static String getPrimitiveObjCType(ITypeBinding type) {
/** /**
* Convert a Java type to an equivalent Objective-C type with type variables * Convert a Java type to an equivalent Objective-C type with type variables
* resolved to their bounds. * resolved to their bounds.
* TODO(kstanger): Rename to getObjCType and remove expandBounds paramter from getObjCTypeInner.
*/ */
public String getSpecificObjCType(ITypeBinding type) { public String getObjCType(ITypeBinding type) {
return getObjCTypeInner(type, null, true); return getObjCTypeInner(type, null);
} }


public String getSpecificObjCType(IVariableBinding var) { public String getObjCType(IVariableBinding var) {
String qualifiers = null; String qualifiers = null;
if (var instanceof GeneratedVariableBinding) { if (var instanceof GeneratedVariableBinding) {
qualifiers = ((GeneratedVariableBinding) var).getTypeQualifiers(); qualifiers = ((GeneratedVariableBinding) var).getTypeQualifiers();
} }
return getObjCTypeInner(var.getType(), qualifiers, true); return getObjCTypeInner(var.getType(), qualifiers);
} }


/** /**
Expand All @@ -772,7 +771,7 @@ public String getJniType(ITypeBinding type) {
return "jobject"; return "jobject";
} }


private String getObjCTypeInner(ITypeBinding type, String qualifiers, boolean expandBounds) { private String getObjCTypeInner(ITypeBinding type, String qualifiers) {
String objCType; String objCType;
if (type instanceof PointerTypeBinding) { if (type instanceof PointerTypeBinding) {
String pointeeQualifiers = null; String pointeeQualifiers = null;
Expand All @@ -783,15 +782,10 @@ private String getObjCTypeInner(ITypeBinding type, String qualifiers, boolean ex
qualifiers = qualifiers.substring(idx + 1); qualifiers = qualifiers.substring(idx + 1);
} }
} }
objCType = getObjCTypeInner( objCType = getObjCTypeInner(((PointerTypeBinding) type).getPointeeType(), pointeeQualifiers);
((PointerTypeBinding) type).getPointeeType(), pointeeQualifiers, expandBounds);
objCType = objCType.endsWith("*") ? objCType + "*" : objCType + " *"; objCType = objCType.endsWith("*") ? objCType + "*" : objCType + " *";
} else if (type.isTypeVariable() || type.isCapture() || type.isWildcardType()) { } else if (type.isTypeVariable() || type.isCapture() || type.isWildcardType()) {
if (expandBounds) { objCType = constructObjCType(BindingUtil.getTypeBounds(type));
objCType = constructObjCType(BindingUtil.getTypeBounds(type));
} else {
objCType = ID_TYPE;
}
} else if (BindingUtil.isCompound(type)) { } else if (BindingUtil.isCompound(type)) {
// TODO(kstanger): Handle compound types in BindingUtil.getTypeBounds(). // TODO(kstanger): Handle compound types in BindingUtil.getTypeBounds().
objCType = constructObjCType(Arrays.asList(type.getInterfaces())); objCType = constructObjCType(Arrays.asList(type.getInterfaces()));
Expand Down
Expand Up @@ -93,7 +93,7 @@ public void testCompoundTypeFullName() throws IOException {
// its return statement is. // its return statement is.
ReturnStatement stmt = (ReturnStatement) function.getBody().getStatements().get(0); ReturnStatement stmt = (ReturnStatement) function.getBody().getStatements().get(0);
ITypeBinding binding = stmt.getExpression().getTypeBinding(); ITypeBinding binding = stmt.getExpression().getTypeBinding();
String typeName = unit.getNameTable().getSpecificObjCType(binding); String typeName = unit.getNameTable().getObjCType(binding);
assertEquals("id<FooBarTest, JavaIoSerializable>", typeName); assertEquals("id<FooBarTest, JavaIoSerializable>", typeName);
return; return;
} }
Expand Down
Expand Up @@ -105,7 +105,7 @@ public void testTypeVariableWithTypeVariableBounds() {
}); });
assertNotNull(methodBinding[0]); assertNotNull(methodBinding[0]);
ITypeBinding paramType = methodBinding[0].getParameterTypes()[0]; ITypeBinding paramType = methodBinding[0].getParameterTypes()[0];
assertEquals("id", nameTable.getSpecificObjCType(paramType)); assertEquals("id", nameTable.getObjCType(paramType));
} }


public void testPrimitiveArrayParameterName() throws IOException { public void testPrimitiveArrayParameterName() throws IOException {
Expand Down

0 comments on commit a09f369

Please sign in to comment.