public static MethodStream_Item methodStreamItem(this Saved_MethodStream savedMethodStream, O2MappedAstData astData, IMethod iMethod, MethodStream_ItemType itemType) { var methodStreamItem = new MethodStream_Item(); methodStreamItem.ItemType = itemType; if (iMethod.Parameters.Count > 0) { methodStreamItem.Parameters = new NameValueItems(); foreach(var parameter in iMethod.Parameters) methodStreamItem.Parameters.add(parameter.Name.str(), parameter.ReturnType.FullyQualifiedName); } if (iMethod.Attributes.Count > 0) { methodStreamItem.Attributes = new NameValueItems(); foreach(var attribute in iMethod.Attributes) methodStreamItem.Attributes.add(attribute.AttributeTarget.str(), attribute.AttributeType.FullyQualifiedName); } methodStreamItem.Name = iMethod.name(); methodStreamItem.Class = iMethod.DeclaringType.Name; if (astData.file(iMethod).notNull()) methodStreamItem.Location = new Location(astData, iMethod); methodStreamItem.Namespace = iMethod.DeclaringType.Namespace; methodStreamItem.Signature = iMethod.fullName(); methodStreamItem.ReturnType = iMethod.ReturnType.FullyQualifiedName; methodStreamItem.DotNetName = iMethod.DotNetName; return methodStreamItem; }
public Location(O2MappedAstData astData, IMethod iMethod) { File = astData.file(iMethod); var methodDeclaration = astData.methodDeclaration(iMethod); if (methodDeclaration.notNull()) { Line = methodDeclaration.StartLocation.Line; Column = methodDeclaration.StartLocation.Column; Line_End = methodDeclaration.EndLocation.Line; Column_End = methodDeclaration.EndLocation.Column; } }