Skip to content

TODO #2

Description

@alexeyr
  • SUnitDef can be created and passed to Scalanizer without corresponding UnitConfig, so path information is lost.

  • @throws[Exception] annotation is not in SMethodDef.annotations.

  • SAnnotation needs typeArgs (e.g. @throws[SomeException]).

  • From Enums.scalan:

    trait NanPropagationCompanion {
      val `NonPropagate `: Rep[NanPropagation] = NanPropagation(toRep(1.asInstanceOf[Int]));
      def NonPropagate: Rep[NanPropagation] = NanPropagation.this.`NonPropagate `;
      val `Propagate `: Rep[NanPropagation] = NanPropagation(toRep(2.asInstanceOf[Int]));
      def Propagate: Rep[NanPropagation] = NanPropagation.this.`Propagate `
    }
    
  • enumeration name lost: for SomeEnumeration.Value, parser produces STraitCall("Value", Nil). I think this is because in ScalanParsers, you have

    case select: Select =>
      STraitCall(select.name, List())
    
  • Big issue, can be delayed: in STraitCall we only have name as String, it should probably be SSymbol. Otherwise we can't distinguish two classes with same names in different packages, class A from type parameter A, etc.

  • Why do we want

      case STpePrimitive(name, _) => STraitCall(name, List())
    

    in traitCall? And more generally, STraitCalls with empty type param lists?

  • Lower type bound is ignored in def tpeArg(tdTree: TypeDef).

  • Equivalent to RefTreeApi: SIdent, SSelect, and STpeSelectFromTT need to carry SSymbols they reference.

  • Type of DnnExample.ctx is represented as Some(STpeSingle(STpeThis(DnnExample),ctx)), expected Some(STraitCall(DnnContext)).

  • Also from previous, it should be STpeThis(fullNameString: String). DnnExample is not full name. STpeThis should carry an SSymbol instead of/in addition to String as well.

  • Add SThrow.

  • When reading Cols.scala from a dependency, types aren't set properly. Even 1 is parsed as SConst(1, None).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions