Module: Duby::JVM::Types
- Included in:
- Typer::JVM, Typer::JavaSource, Typer::JavaTyper
- Defined in:
- lib/duby/jvm/types.rb,
lib/duby/jvm/types/floats.rb,
lib/duby/jvm/types/number.rb,
lib/duby/jvm/types/boolean.rb,
lib/duby/jvm/types/factory.rb,
lib/duby/jvm/types/literals.rb,
lib/duby/jvm/types/enumerable.rb,
lib/duby/jvm/types/basic_types.rb,
lib/duby/jvm/types/intrinsics.rb,
lib/duby/jvm/types/integers.rb,
lib/duby/jvm/types/methods.rb
Defined Under Namespace
Modules: ArgumentConversion Classes: ArrayType, BooleanType, DoubleType, DubyMember, DynamicType, FixnumLiteral, FixnumLiteralNode, FloatLiteral, FloatLiteralNode, FloatType, IntegerType, InterfaceDefinition, Intrinsic, IterableType, JavaCallable, JavaConstructor, JavaDynamicMethod, JavaFieldAccessor, JavaFieldGetter, JavaFieldSetter, JavaMethod, JavaStaticMethod, LongType, MetaType, NarrowingType, NullType, Number, PrimitiveType, StringType, Type, TypeDefMeta, TypeDefinition, TypeFactory, VoidType
Constant Summary collapse
- Boolean =
BooleanType.new('boolean', java.lang.Boolean)
- Byte =
IntegerType.new('byte', java.lang.Byte)
- Char =
IntegerType.new('char', java.lang.Character)
- Short =
IntegerType.new('short', java.lang.Short)
- Int =
IntegerType.new('int', java.lang.Integer)
- Long =
LongType.new('long', java.lang.Long)
- Float =
FloatType.new('float', java.lang.Float)
- Double =
DoubleType.new('double', java.lang.Double)
- Object =
TODO these shouldn’t be constants. They should be loaded from the compilation class path.
Type.new(BiteScript::ASM::ClassMirror.load('java.lang.Object'))
- String =
StringType.new( BiteScript::ASM::ClassMirror.load('java.lang.String'))
- Iterable =
IterableType.new( BiteScript::ASM::ClassMirror.load('java.lang.Iterable'))
- Void =
VoidType.new
- Null =
NullType.new
- WIDENING_CONVERSIONS =
{ Byte => [Byte, Short, Int, Long, Float, Double], Short => [Short, Int, Long, Float, Double], Char => [Char, Int, Long, Float, Double], Int => [Int, Long, Float, Double], Long => [Long, Float, Double], Float => [Float, Double], Double => [Double] }
- TYPE_ORDERING =
[Byte, Short, Int, Long, Float, Double]