public virtual void Visit(TraitsArgument arg) { if (arg.Type != null) { arg.Type.Accept(this); } if (arg.AssignExpression != null) { arg.AssignExpression.Accept(this); } }
public static AbstractType ResolveTraitArgument(ResolutionContext ctxt, TraitsArgument arg) { if (arg.Type != null) { return(TypeDeclarationResolver.ResolveSingle(arg.Type, ctxt)); } else if (arg.AssignExpression != null) { return(EvaluateType(arg.AssignExpression, ctxt)); } else { return(null); } }
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); } }
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; } }