added ignore and refactored code into a more maven plugin kinda layout

This commit is contained in:
James Strachan
2012-02-21 11:35:46 +00:00
parent 9af12d1bac
commit 0ed8e19eaf
4 changed files with 72 additions and 5 deletions
+1
View File
@@ -0,0 +1 @@
target
@@ -0,0 +1,71 @@
package org.jetbrains.kotlin.model
import std.*
import std.util.*
import java.util.*
import org.jetbrains.jet.lang.psi.*
class KModel {
// TODO generates java.lang.NoSuchMethodError: std.util.namespace.hashMap(Ljet/TypeInfo;Ljet/TypeInfo;)Ljava/util/HashMap;
//val packages = sortedMap<String,KPackage>()
public val packageMap: SortedMap<String,KPackage> = TreeMap<String,KPackage>()
public val packages: Collection<KPackage> = packageMap.values().sure()
/* Returns the package for the given name, creating one if its not already been create yet */
fun getPackage(name: String): KPackage {
return packageMap.getOrPut(name){ KPackage(name) }
}
/* Returns the class for the given qualified name, creating one if its not already been created yet */
fun getClass(qualifiedName: String): KClass {
val idx = qualifiedName.lastIndexOf('.')
return if (idx > 0) {
getPackage(qualifiedName.substring(0, idx)).getClass(qualifiedName.substring(idx + 1))
} else {
getPackage("").getClass(qualifiedName)
}
}
}
class KPackage(val name: String) : Comparable<KPackage> {
override fun compareTo(other: KPackage): Int = name.compareTo(other.name)
fun equals(other: KPackage) = name == other.name
fun toString() = "KPackage($name)"
// TODO generates java.lang.NoSuchMethodError: std.util.namespace.hashMap(Ljet/TypeInfo;Ljet/TypeInfo;)Ljava/util/HashMap;
//val classes = sortedMap<String,KClass>()
public val classMap: SortedMap<String,KClass> = TreeMap<String,KClass>()
public val classes: Collection<KClass> = classMap.values().sure()
/* Returns the class for the given name, creating one if its not already been create yet */
fun getClass(simpleName: String): KClass {
return classMap.getOrPut(simpleName){ KClass(this, simpleName) }
}
fun qualifiedName(simpleName: String): String {
return if (name.length() > 0) {
"${name}.${simpleName}"
} else {
simpleName
}
}
}
class KClass(val kpackage: KPackage, val simpleName: String) : Comparable<KClass> {
override fun compareTo(other: KClass): Int = name.compareTo(other.name)
fun equals(other: KClass) = name == other.name
fun toString() = "KClass($name)"
public val name: String = kpackage.qualifiedName(simpleName)
public val packageName: String = kpackage.name
}
@@ -1,5 +0,0 @@
package org.jetbrains.kotlin.model
/**
*/