/**
* @author Martin Bravenboer <martin@cs.uu.nl>
*/
module dryad/util/jtree-overlays
imports libstratego-lib
/**
* Type names
*/
overlays
/**
* @type s String
* @type TypeName
*/
JavaLangTypeName(s) =
TypeName(PackageName([Id("java"), Id("lang")]), Id(s))
/**
* @type TypeName
*/
TypeNameString() =
JavaLangTypeName("String")
/**
* @type TypeName
*/
TypeNameClass() =
JavaLangTypeName("Class")
TypeNameObject() =
JavaLangTypeName("Object")
/**
* Types
*/
overlays
TypeObject() =
ClassType(TypeNameObject(), None())
TypeString() =
RefTypeString()
/**
* @type Type
*/
TypeVoid() =
ClassType(JavaLangTypeName("Void"), None())
/**
* @type s Type
* @type Type
*/
TypeClass(c) =
ClassType(TypeNameClass(), Some(TypeArgs([c])))
TypeException() =
ClassType(JavaLangTypeName("Exception"), None())
overlays
/**
* @type Type
*/
RefTypeString() =
ClassType(TypeNameString(), None())
RefTypeBoolean() =
ClassType(JavaLangTypeName("Boolean"), None())
RefTypeByte() =
ClassType(JavaLangTypeName("Byte"), None())
RefTypeShort() =
ClassType(JavaLangTypeName("Short"), None())
RefTypeCharacter() =
ClassType(JavaLangTypeName("Character"), None())
RefTypeInteger() =
ClassType(JavaLangTypeName("Integer"), None())
RefTypeLong() =
ClassType(JavaLangTypeName("Long"), None())
RefTypeFloat() =
ClassType(JavaLangTypeName("Float"), None())
RefTypeDouble() =
ClassType(JavaLangTypeName("Double"), None())
TypeString() =
RefTypeString()
/**
* There are no overlays for the other primitives, since the
* reference types of these primitives have the same name as
* their primitive counterparts, which is confusing.
*/
TypeCharacter() =
RefTypeCharacter()
TypeInteger() =
RefTypeInteger()
/**
* Common library types
*/
overlays
TypeSerializable() =
InterfaceType(
TypeName(PackageName([Id("java"), Id("io")]), Id("Serializable"))
, None()
)
TypeCloneable() =
InterfaceType(
TypeName(PackageName([Id("java"), Id("lang")]), Id("Cloneable"))
, None()
)
TypeIterable() =
InterfaceType(
TypeName(PackageName([Id("java"), Id("lang")]), Id("Iterable"))
, None()
)