|
| 1 | +package dotty.tools.dotc.tastyreflect |
| 2 | + |
| 3 | +import dotty.tools.dotc.core.Symbols._ |
| 4 | + |
| 5 | +trait StandardDefinitions extends scala.tasty.reflect.StandardDefinitions with FromSymbol { |
| 6 | + tasty: TastyImpl => |
| 7 | + |
| 8 | + private implicit def ctx: Context = rootContext |
| 9 | + |
| 10 | + val definitions: DefinitionsApi = new DefinitionsApi { |
| 11 | + |
| 12 | + def ScalaPackageClass: PackageDef = packageDefFromSym(defn.ScalaPackageClass) |
| 13 | + def ScalaPackage: ValDef = ??? |
| 14 | + |
| 15 | + def AnyClass: ClassDef = classDef(defn.AnyClass) |
| 16 | + def AnyValClass: ClassDef = classDef(defn.AnyValClass) |
| 17 | + def ObjectClass: ClassDef = classDef(defn.ObjectClass) |
| 18 | + def AnyRefClass: TypeDef = typeDefFromSym(defn.AnyRefAlias) |
| 19 | + def NullClass: ClassDef = classDef(defn.AnyClass) |
| 20 | + def NothingClass: ClassDef = classDef(defn.NothingClass) |
| 21 | + def UnitClass: ClassDef = classDef(defn.UnitClass) |
| 22 | + def ByteClass: ClassDef = classDef(defn.ByteClass) |
| 23 | + def ShortClass: ClassDef = classDef(defn.ShortClass) |
| 24 | + def CharClass: ClassDef = classDef(defn.CharClass) |
| 25 | + def IntClass: ClassDef = classDef(defn.IntClass) |
| 26 | + def LongClass: ClassDef = classDef(defn.LongClass) |
| 27 | + def FloatClass: ClassDef = classDef(defn.FloatClass) |
| 28 | + def DoubleClass: ClassDef = classDef(defn.DoubleClass) |
| 29 | + def BooleanClass: ClassDef = classDef(defn.BooleanClass) |
| 30 | + def StringClass: ClassDef = classDef(defn.StringClass) |
| 31 | + def ClassClass: ClassDef = classDef(defn.ClassClass) |
| 32 | + def ArrayClass: ClassDef = classDef(defn.ArrayClass) |
| 33 | + def ListClass: ClassDef = ??? |
| 34 | + def PredefModule: ValDef = valDefFromSym(defn.ScalaPredefModule.asTerm) |
| 35 | + |
| 36 | + def JavaLangPackage: PackageDefinition = ??? |
| 37 | + |
| 38 | + def JavaLangPackageClass: PackageDef = packageDefFromSym(defn.JavaLangPackageVal) |
| 39 | + |
| 40 | + def ArrayModule: ValDef = ??? |
| 41 | + def ArrayModule_overloadedApply: DefDef = ??? |
| 42 | + |
| 43 | + def Array_apply: DefDef = defDefFromSym(defn.Array_apply.asTerm) |
| 44 | + def Array_clone: DefDef = defDefFromSym(defn.Array_clone.asTerm) |
| 45 | + def Array_length: DefDef = defDefFromSym(defn.Array_length.asTerm) |
| 46 | + def Array_update: DefDef = defDefFromSym(defn.Array_update.asTerm) |
| 47 | + |
| 48 | + def JavaRepeatedParamClass: ClassDef = ??? |
| 49 | + def RepeatedParamClass: ClassDef = classDef(defn.RepeatedParamClass) |
| 50 | + |
| 51 | + def ListModule: ValDef = ??? |
| 52 | + def List_apply: DefDef = ??? |
| 53 | + |
| 54 | + def NilModule: ValDef = ??? |
| 55 | + |
| 56 | + def OptionClass: TypeDef = classDef(defn.OptionClass) |
| 57 | + def NoneModule: ValDef = ??? |
| 58 | + def SomeModule: ValDef = ??? |
| 59 | + |
| 60 | + def ProductClass: VarArityClassApi = ??? |
| 61 | + def FunctionClass(isImplicit: Boolean = false, isErased: Boolean = false): VarArityClassApi = new VarArityClassApi { |
| 62 | + def apply(arity: Int): TypeDef = classDef(defn.FunctionClass(arity, isImplicit, isErased).asClass) |
| 63 | + } |
| 64 | + def TupleClass: VarArityClassApi = ??? |
| 65 | + |
| 66 | + def ScalaPrimitiveValueClasses: List[ClassDef] = |
| 67 | + UnitClass :: BooleanClass :: ScalaNumericValueClasses |
| 68 | + def ScalaNumericValueClasses: List[ClassDef] = |
| 69 | + ByteClass :: ShortClass :: IntClass :: LongClass :: FloatClass :: DoubleClass :: CharClass :: Nil |
| 70 | + |
| 71 | + def UnitTpe: Type = defn.UnitType |
| 72 | + def ByteTpe: Type = defn.ByteType |
| 73 | + def ShortTpe: Type = defn.ShortType |
| 74 | + def CharTpe: Type = defn.CharType |
| 75 | + def IntTpe: Type = defn.IntType |
| 76 | + def LongTpe: Type = defn.LongType |
| 77 | + def FloatTpe: Type = defn.FloatType |
| 78 | + def DoubleTpe: Type = defn.DoubleType |
| 79 | + def BooleanTpe: Type = defn.BooleanType |
| 80 | + def AnyTpe: Type = defn.AnyType |
| 81 | + def AnyValTpe: Type = defn.AnyValType |
| 82 | + def AnyRefTpe: Type = defn.AnyRefType |
| 83 | + def ObjectTpe: Type = defn.ObjectType |
| 84 | + def NothingTpe: Type = defn.NothingType |
| 85 | + def NullTpe: Type = defn.NullType |
| 86 | + } |
| 87 | +} |
0 commit comments