public override void VisitArgument(Argument arg) { arg.TypeSpecifier.Accept(this); arg.NodeType = arg.TypeSpecifier.NodeType; if (arg.Mode == ArgumentMode.Out || arg.Mode == ArgumentMode.InOut) { arg.NodeType = arg.NodeType.ReferenceType; } }
protected virtual MethodBuilder DefineWriter(TypeBuilder type, string name, MethodAttributes attributes, TypeSpecifier attrType) { Argument arg = new Argument(ArgumentMode.In, "value", attrType, Location.Null); arg.Index = 1; arg.NodeType = attrType.NodeType; TypedNodeList args = new TypedNodeList(arg); CheckMethodConfliction(typeManager.GetTypeData(type), name, typeManager.VoidType, new TypedNodeList()); return DefineMethod(type, name, attributes, typeManager.VoidType, args); }
public virtual void VisitArgument(Argument argument) { }