Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1155)

Unified Diff: pkg/analysis_server/tool/spec/codegen_java_types.dart

Issue 498593003: Generate hashcode on the java types. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/generated/types/TypeHierarchyItem.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/tool/spec/codegen_java_types.dart
diff --git a/pkg/analysis_server/tool/spec/codegen_java_types.dart b/pkg/analysis_server/tool/spec/codegen_java_types.dart
index 5cf86d43875ec2184b2a394ca4814547116a54f9..ac87243b4c4e70048520529d820e6ee6c6c40a63 100644
--- a/pkg/analysis_server/tool/spec/codegen_java_types.dart
+++ b/pkg/analysis_server/tool/spec/codegen_java_types.dart
@@ -81,6 +81,7 @@ class CodegenJavaType extends CodegenJavaVisitor {
writeln('import com.google.gson.JsonElement;');
writeln('import com.google.gson.JsonObject;');
writeln('import com.google.gson.JsonPrimitive;');
+ writeln('import org.apache.commons.lang3.builder.HashCodeBuilder;');
writeln('import java.util.ArrayList;');
writeln('import java.util.Iterator;');
writeln('import org.apache.commons.lang3.StringUtils;');
@@ -357,7 +358,19 @@ class CodegenJavaType extends CodegenJavaVisitor {
//
// hashCode
//
- // TODO (jwren) have hashCode written out
+ publicMethod('hashCode', () {
+ writeln('@Override');
+ writeln('public int hashCode() {');
+ indent(() {
+ writeln('HashCodeBuilder builder = new HashCodeBuilder();');
+ for (int i = 0; i < fields.length; i++) {
+ writeln("builder.append(${javaName(fields[i].name)});");
+ }
+ writeln('return builder.toHashCode();');
+ });
+ writeln('}');
+ });
+
//
// toString
//
« no previous file with comments | « editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/generated/types/TypeHierarchyItem.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698