public static FilteredSignature createFilteredSignatureFromJavaMethod(string className, string functionName, string methodDescriptor) { var newFilteredSignature = new FilteredSignature(); newFilteredSignature.sFunctionClass = className; newFilteredSignature.sFunctionName = functionName; // process descriptor var lastParentesis = methodDescriptor.LastIndexOf(')'); if (lastParentesis > -1) { methodDescriptor = methodDescriptor.Replace('/', '.'); lastParentesis++; newFilteredSignature.sParameters = methodDescriptor.Substring(0, lastParentesis); newFilteredSignature.sReturnClass = methodDescriptor.Substring(lastParentesis); // BUG: Major hack to fix the sParameters created by JavaMethod descriptors if (newFilteredSignature.sReturnClass == "V") { newFilteredSignature.sReturnClass = "void"; } newFilteredSignature.sParameters = newFilteredSignature.sParameters.Replace("(I)", "(int)").Replace("(IL", "(int;").Replace(";IL", ";int;"); newFilteredSignature.sParameters = newFilteredSignature.sParameters.Replace("(L", "(").Replace("(IL", "(").Replace(";L", ";").Replace(";)", ")"); if (newFilteredSignature.sParameters[0] == '(' && newFilteredSignature.sParameters[newFilteredSignature.sParameters.Length - 1] == ')') { newFilteredSignature.sParameters = newFilteredSignature.sParameters.Substring(1, newFilteredSignature.sParameters.Length - 2); } // fix the sReturnClass if (newFilteredSignature.sReturnClass[0] == 'L' && newFilteredSignature.sReturnClass[newFilteredSignature.sReturnClass.Length - 1] == ';') { newFilteredSignature.sReturnClass = newFilteredSignature.sReturnClass.Substring(1, newFilteredSignature.sReturnClass.Length - 2); } newFilteredSignature.sSignature = newFilteredSignature.getSignature(); } return(newFilteredSignature); }
public static String filterSignature(String sStringToFilter, bool bShowParameters, bool bShowReturnClass, bool bShowNamespace, int iNamespaceDepth) { if (DI.dFilteredFuntionSignatures.ContainsKey(sStringToFilter)) { return(DI.dFilteredFuntionSignatures[sStringToFilter].getFilteredSignature( bShowParameters, bShowReturnClass, bShowNamespace, iNamespaceDepth)); } var fsFilteredSignature = new FilteredSignature(sStringToFilter); DI.dFilteredFuntionSignatures.Add(sStringToFilter, fsFilteredSignature); return(fsFilteredSignature.getFilteredSignature(bShowParameters, bShowReturnClass, bShowNamespace, iNamespaceDepth)); }
private void filterByFilteredSignature(FilteredSignature filteredSignature) { setFilter1TextValue(filteredSignature.sSignature, true); }
void TextArea_DragDrop(object sender, DragEventArgs e) { var fileOrFolder = Dnd.tryToGetFileOrDirectoryFromDroppedObject(e); if (fileOrFolder.fileExists()) { loadSourceCodeFile(fileOrFolder); return; } var data = Dnd.tryToGetObjectFromDroppedObject(e); if (data != null) { var dsa = data.GetType().FullName; if (data is List<MethodInfo>) { var methods = (List<MethodInfo>)data; if (methods.Count > 0) { var filteredSignature = new FilteredSignature(methods[0]); tecSourceCode.ActiveTextAreaControl.TextArea.InsertString(filteredSignature.sFunctionNameAndParams); // var functionSignature = new FilteredSignature } } else tecSourceCode.ActiveTextAreaControl.TextArea.InsertString(data.ToString()); } }
public Reflection_MethodInfo(MethodInfo method) { Method = method; filteredSignature = new FilteredSignature(method); }
public void onAfterSelectTreeView(TreeNode selectedNode) { try { if (selectedNode != null) { // populate selectedFilteredSignature object if (selectedNode.Tag != null && selectedNode.Tag.GetType().Name == "FilteredSignature") selectedFilteredSignature = (FilteredSignature) selectedNode.Tag; else selectedFilteredSignature = null; // get fucntion's signature var signature = (selectedFilteredSignature!=null) ? selectedFilteredSignature.sOriginalSignature : selectedNode.Name; // raise callbacks Callbacks.raiseRegistedCallbacks(eNodeEvent_AfterSelect, new object[] { signature }); Callbacks.raiseRegistedCallbacks(_onAfterSelect, new [] { selectedNode.Tag }); // need to manual handle this backcolor stuff because we lose it when multiple function's viewers are used at the same time /* if (selectedNode != null) { selectedNode.BackColor = Color.White; selectedNode.ForeColor = Color.Black; } //tnSelectedNode = tvTreeView.SelectedNode; tvTreeView.SelectedNode.BackColor = Color.DarkBlue; tnSelectedNode.ForeColor = Color.White;*/ /*if (onTreNodeAfterSelect != null) foreach (Delegate dDelegate in onTreNodeAfterSelect.GetInvocationList()) { if (selectedNode.Tag != null && selectedNode.Tag.GetType().Name == "FilteredSignature") dDelegate.DynamicInvoke(new[] { ((FilteredSignature) selectedNode.Tag).sOriginalSignature }); else dDelegate.DynamicInvoke(new[] { selectedNode.Text }); }*/ } } catch (Exception ex) { PublicDI.log.error("In tvTreeView_AfterSelect: {0}", ex.Message); } }
public void showSelectedMethodDetails(FilteredSignature filteredSignature) { if (filteredSignature != null) { tbMethodDetails_Name.invokeOnThread( () => { tbMethodDetails_Name.Text = filteredSignature.sFunctionName; tbMethodDetails_OriginalSignature.Text = filteredSignature.sOriginalSignature; tbMethodDetails_Parameters.Text = filteredSignature.sParameters; tbMethodDetails_ReturnType.Text = filteredSignature.sReturnClass; tbMethodDetails_Signature.Text = filteredSignature.sSignature; tbMethodDetails_Type.Text = filteredSignature.sFunctionClass; }); } }
public static void mapMethodsToFilteredSignatures(List<MethodInfo> methodsToMap, ref List<FilteredSignature> filteredSignatures, ref Dictionary<string, MethodInfo> methods_bySignature, bool hideCSharpGeneratedMethods) { filteredSignatures = new List<FilteredSignature>(); methods_bySignature = new Dictionary<string, MethodInfo>(); foreach (var method in methodsToMap) { var filteredSignature = new FilteredSignature(method); if (hideCSharpGeneratedMethods == false || (filteredSignature.sSignature.IndexOf("<>") == -1 && false == filteredSignature.sFunctionName.StartsWith("b__"))) { filteredSignatures.Add(filteredSignature); // create methodsLoaded_bySignature if (methods_bySignature.ContainsKey(filteredSignature.sSignature)) { PublicDI.log.error("in mapMethodsToFilteredSignatures, repeated signature: {0}", filteredSignature.sSignature); } else methods_bySignature.Add(filteredSignature.sSignature, method); } else { //PublicDI.log.info("Skipping: {0}", method.Name); } } }
public static FilteredSignature createFilteredSignatureFromJavaMethod(string className, string functionName, string methodDescriptor) { var newFilteredSignature = new FilteredSignature(); newFilteredSignature.sFunctionClass = className; newFilteredSignature.sFunctionName = functionName; // process descriptor var lastParentesis = methodDescriptor.LastIndexOf(')'); if (lastParentesis > -1) { methodDescriptor = methodDescriptor.Replace('/', '.'); lastParentesis++; newFilteredSignature.sParameters = methodDescriptor.Substring(0, lastParentesis); newFilteredSignature.sReturnClass = methodDescriptor.Substring(lastParentesis); // BUG: Major hack to fix the sParameters created by JavaMethod descriptors if (newFilteredSignature.sReturnClass == "V") { newFilteredSignature.sReturnClass = "void"; } newFilteredSignature.sParameters = newFilteredSignature.sParameters.Replace("(I)", "(int)").Replace("(IL", "(int;").Replace(";IL", ";int;"); newFilteredSignature.sParameters = newFilteredSignature.sParameters.Replace("(L", "(").Replace("(IL", "(").Replace(";L", ";").Replace(";)", ")"); if (newFilteredSignature.sParameters[0] == '(' && newFilteredSignature.sParameters[newFilteredSignature.sParameters.Length -1] == ')') newFilteredSignature.sParameters = newFilteredSignature.sParameters.Substring(1, newFilteredSignature.sParameters.Length - 2); // fix the sReturnClass if (newFilteredSignature.sReturnClass[0] == 'L' && newFilteredSignature.sReturnClass[newFilteredSignature.sReturnClass.Length - 1] == ';') newFilteredSignature.sReturnClass = newFilteredSignature.sReturnClass.Substring(1,newFilteredSignature.sReturnClass.Length - 2); newFilteredSignature.sSignature = newFilteredSignature.getSignature(); } return newFilteredSignature; }
public static String filterSignature(String sStringToFilter, bool bShowParameters, bool bShowReturnClass, bool bShowNamespace, int iNamespaceDepth) { if (DI.dFilteredFuntionSignatures.ContainsKey(sStringToFilter)) return DI.dFilteredFuntionSignatures[sStringToFilter].getFilteredSignature( bShowParameters, bShowReturnClass, bShowNamespace, iNamespaceDepth); var fsFilteredSignature = new FilteredSignature(sStringToFilter); DI.dFilteredFuntionSignatures.Add(sStringToFilter, fsFilteredSignature); return fsFilteredSignature.getFilteredSignature(bShowParameters, bShowReturnClass, bShowNamespace, iNamespaceDepth); }