Mercurial > projects > dang
comparison sema/AstAction.d @ 102:cd066f3b539a new_gen
Parsing methods in structs - error on semantics though.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Thu, 08 May 2008 10:32:41 +0200 |
parents | 857f0d530789 |
children | 7ff4bc2accf2 |
comparison
equal
deleted
inserted
replaced
101:fea8d61a2451 | 102:cd066f3b539a |
---|---|
89 return new StructDecl(identifierFromTok(id.tok)); | 89 return new StructDecl(identifierFromTok(id.tok)); |
90 else | 90 else |
91 return new VarDecl(handleType(type), identifierFromTok(id.tok), exp); | 91 return new VarDecl(handleType(type), identifierFromTok(id.tok), exp); |
92 } | 92 } |
93 | 93 |
94 override void actOnStructMember(DeclT decl, ref Id type, ref Id name, ExprT init) | 94 override void actOnStructMember(DeclT st_decl, DeclT m_decl) //ref Id type, ref Id name, ExprT init) |
95 { | 95 { |
96 Exp exp = cast(Exp)init; | 96 StructDecl st = cast(StructDecl)st_decl; |
97 StructDecl st = cast(StructDecl)decl; | 97 st.addMember(cast(Decl)m_decl); |
98 st.addMember( | |
99 identifierFromTok(type.tok), | |
100 identifierFromTok(name.tok), | |
101 exp); | |
102 } | 98 } |
103 | 99 |
104 override ExprT actOnMemberReference(ExprT lhs, SLoc op, Id member) | 100 override ExprT actOnMemberReference(ExprT lhs, SLoc op, Id member) |
105 { | 101 { |
106 Exp exp = cast(Exp)lhs; | 102 Exp exp = cast(Exp)lhs; |