Hi David,

You’re arguably deep in the weeds. Try starting by adding new nodes to 
ExprNodes.def and DeclNodes.def and watch what blows up. Once you do that, crib 
code similar nodes to get your new Expr/Decl nodes to start compiling.

Please also keep in mind that LLVM and derived projects like Swift have custom 
RTTI logic (which is partly why these “.defs” files exist), and therefore 
language features like multiple inheritance don’t “just work” like you might 
expect.

Dave


> On Aug 29, 2017, at 14:04, David Sweeris via swift-dev <swift-dev@swift.org> 
> wrote:
> 
> Hi everyone! I'm trying to implement literal values as generic types. So far, 
> I've made `LiteralExpr` inherit from both `Expr` and `GenericTypeDecl` 
> (instead of just `Expr`), and did whatever other changes were necessary to 
> get that compiling (mostly putting several "using Expr::setImplicit;" kind of 
> lines within `LiteralExpr`'s declaration and prepending "(Expr*)" to a bunch 
> of variables in what are now ambiguous function calls).
> 
> Anyway, I haven't done any testing yet to see how much I've broken (compiles 
> != works), but before I get neck-deep in everything I thought I'd ask if 
> anyone sees any fundamental issues with this approach, or has any better 
> ideas.
> 
> - Dave Sweeris
> _______________________________________________
> swift-dev mailing list
> swift-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to