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; } }
public static TreeView afterSelect_ShowMethodSignatureInSourceCode(this TreeView treeView, O2MappedAstData astData, ascx_SourceCodeViewer codeViewer) { treeView.afterSelect( (treeNode) => { var text = WinForms_ExtensionMethods_TreeView.get_Text(treeNode); var methodDeclaration = astData.methodDeclaration_withSignature(treeNode.get_Text()); if (methodDeclaration != null) { treeNode.color(Color.DarkGreen); var file = astData.file(methodDeclaration); codeViewer.open(file); codeViewer.editor().clearBookmarksAndMarkers(); codeViewer.editor().setSelectionText(methodDeclaration.StartLocation, methodDeclaration.EndLocation); } else { treeNode.color(Color.Red); } }); return(treeView); }
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 static MethodMapping methodMapping(this O2MappedAstData astData, string signature, string key, string parentMethod, string parentClass, INode iNode) { return(new MethodMapping(signature, key, astData.file(iNode), parentMethod, parentClass, iNode)); }
public static TreeView afterSelect_ShowInSourceCodeEditor(this O2MappedAstData o2MappedAstData, TreeView treeView, ascx_SourceCodeEditor codeEditor) { return((TreeView)codeEditor.invokeOnThread(() => { treeView.afterSelect <AstTreeView.ElementNode>((node) => { var element = (INode)node.field("element"); var file = o2MappedAstData.file(element); if (file != null) { codeEditor.open(file); codeEditor.setSelectionText(element.StartLocation, element.EndLocation); } }); // if it is a list select the first one treeView.afterSelect <List <INode> >((nodes) => { if (nodes.size() > 0) { var node = nodes[0]; var file = o2MappedAstData.file(node); if (file != null) { codeEditor.open(file); codeEditor.setSelectionText(node.StartLocation, node.EndLocation); } } }); treeView.afterSelect <INode>((node) => { var file = o2MappedAstData.file(node); if (file != null) { codeEditor.open(file); codeEditor.setSelectionText(node.StartLocation, node.EndLocation); } }); treeView.afterSelect <ISpecial>((iSpecial) => { var file = o2MappedAstData.file(iSpecial); if (file != null) { codeEditor.open(file); codeEditor.setSelectionText(iSpecial.StartPosition, iSpecial.EndPosition); } }); // if it is a list select the first one treeView.afterSelect <List <ISpecial> >((iSpecials) => { if (iSpecials.size() > 0) { var iSpecial = iSpecials[0]; var file = o2MappedAstData.file(iSpecial); if (file != null) { codeEditor.open(file); codeEditor.setSelectionText(iSpecial.StartPosition, iSpecial.EndPosition); } } }); treeView.afterSelect <CodeTypeDeclaration>((codeTypeDeclaration) => { if (o2MappedAstData.MapAstToDom.TypesDomToAst.hasKey(codeTypeDeclaration)) { var typeDeclaration = o2MappedAstData.MapAstToDom.TypesDomToAst[codeTypeDeclaration]; var file = o2MappedAstData.file(typeDeclaration); if (file != null) { codeEditor.open(file); codeEditor.setSelectionText(typeDeclaration.StartLocation, typeDeclaration.EndLocation); } } else { "in afterSelect<CodeTypeDeclaration>, key was node found for :{0}".format(codeTypeDeclaration.str()); } }); treeView.afterSelect <CodeMemberMethod>((codeMemberMethod) => { if (o2MappedAstData.MapAstToDom.MethodsDomToAst.hasKey(codeMemberMethod)) { var methodDeclaration = o2MappedAstData.MapAstToDom.MethodsDomToAst[codeMemberMethod]; var file = o2MappedAstData.file(methodDeclaration); if (file != null) { codeEditor.open(file); codeEditor.setSelectionText(methodDeclaration.StartLocation, methodDeclaration.EndLocation); } } else { "in afterSelect<CodeMemberMethod> no key for {0}".format(codeMemberMethod.str()).error(); } }); treeView.afterSelect <IMethod>((method) => { var file = o2MappedAstData.file(method); if (file != null) { codeEditor.open(file); if (o2MappedAstData.MapAstToNRefactory.IMethodToMethodDeclaration.hasKey(method)) { var methodDeclaration = o2MappedAstData.MapAstToNRefactory.IMethodToMethodDeclaration[method]; codeEditor.setSelectionText(methodDeclaration.StartLocation, methodDeclaration.EndLocation); } else if (o2MappedAstData.MapAstToNRefactory.IMethodToConstructorDeclaration.hasKey(method)) { var constructorDeclaration = o2MappedAstData.MapAstToNRefactory.IMethodToConstructorDeclaration[method]; codeEditor.setSelectionText(constructorDeclaration.StartLocation, constructorDeclaration.EndLocation); } "in afterSelect<CodeMemberMethod> no key for {0}".format(method.str()).error(); } ; }); return treeView; })); }