public virtual void Visit(TraitsArgument arg) { if (arg.Type != null) arg.Type.Accept(this); if (arg.AssignExpression != null) arg.AssignExpression.Accept(this); }
AbstractType E(TraitsArgument arg, TraitsExpression te) { if(arg.Type != null) { return TypeDeclarationResolver.ResolveSingle(arg.Type, ctxt); } else if(arg.AssignExpression != null) { return DResolver.StripAliasSymbol(EvaluateType(arg.AssignExpression, ctxt)); } else { EvalError(te, "Argument must be a type or an expression!"); return null; } }