Mercurial > hg > truffle
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeImport.java @ 16908:d3f282a9e287
Truffle-DSL: optimize import generation.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Sat, 23 Aug 2014 19:31:13 +0200 |
parents | 23415229349b |
children |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeImport.java Sat Aug 23 19:31:09 2014 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeImport.java Sat Aug 23 19:31:13 2014 +0200 @@ -22,32 +22,32 @@ */ package com.oracle.truffle.dsl.processor.java.model; -import javax.lang.model.type.*; +import java.util.*; public class CodeImport implements Comparable<CodeImport> { - private final TypeMirror importType; - private final String importString; + private final String packageName; + private final String symbolName; private final boolean staticImport; - public CodeImport(TypeMirror importedType, String importString, boolean staticImport) { - this.importType = importedType; - this.importString = importString; + public CodeImport(String packageName, String symbolName, boolean staticImport) { + this.packageName = packageName; + this.symbolName = symbolName; this.staticImport = staticImport; } - public TypeMirror getImportType() { - return importType; + public String getPackageName() { + return packageName; + } + + public String getSymbolName() { + return symbolName; } public boolean isStaticImport() { return staticImport; } - public String getImportString() { - return importString; - } - @Override public int compareTo(CodeImport o) { if (staticImport && !o.staticImport) { @@ -55,7 +55,11 @@ } else if (!staticImport && o.staticImport) { return -1; } else { - return importString.compareTo(o.getImportString()); + int result = getPackageName().compareTo(o.getPackageName()); + if (result == 0) { + return getSymbolName().compareTo(o.getSymbolName()); + } + return result; } } @@ -65,36 +69,16 @@ @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((importString == null) ? 0 : importString.hashCode()); - result = prime * result + (staticImport ? 1231 : 1237); - return result; + return Objects.hash(packageName, symbolName, staticImport); } @Override public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; + if (obj instanceof CodeImport) { + CodeImport otherImport = (CodeImport) obj; + return getPackageName().equals(otherImport.getPackageName()) && getSymbolName().equals(otherImport.getSymbolName()) // + && staticImport == otherImport.staticImport; } - CodeImport other = (CodeImport) obj; - if (importString == null) { - if (other.importString != null) { - return false; - } - } else if (!importString.equals(other.importString)) { - return false; - } - if (staticImport != other.staticImport) { - return false; - } - return true; + return super.equals(obj); } - }