public override void VisitMethodDeclaration(IMethodDeclaration value) { if (value.HasThis) { _formatter.WriteLiteral("# Instance methods are not supported at the moment."); _formatter.WriteLine(); WriteUnsupported(value.ToString()); _formatter.WriteLiteral("# Rendering as static function. Access to 'this' and 'base' will not work."); _formatter.WriteLine(); } if (value.GenericArguments.Count != 0) { WriteUnsupported(value.ToString()); } _formatter.WriteKeyword("function"); WriteWhitespace(); _formatter.WriteDeclaration(value.Name); _formatter.WriteLine(); using (new IndentedCodeBlock(_formatter)) { VisitParameterDeclarationCollection(value.Parameters); if (value.Body is IBlockStatement blockStatement) { VisitBlockStatement(blockStatement); } } }
public MethodInfo Method(IMethodDeclaration method, TypeInfo type) { if (_methodCorrespondence.ContainsKey(method)) { return(_methodCorrespondence[method]); } var methodInfo = new MethodInfo { Text = method.ToString(), Name = method.Name, FullName = method.Name, IsInternal = method.Visibility == MethodVisibility.Assembly, IsPrivate = method.Visibility == MethodVisibility.Private, IsPublic = method.Visibility == MethodVisibility.Public, IsProtected = method.Visibility == MethodVisibility.Family, IsProtectedAndInternal = method.Visibility == MethodVisibility.FamilyAndAssembly, IsProtectedOrInternal = method.Visibility == MethodVisibility.FamilyOrAssembly, IsVirtual = method.Virtual, IsOverride = method.Virtual && !method.NewSlot, IsSpecialName = method.SpecialName, IsStatic = method.Static, IsFinal = method.Final, MemberReference = method, DeclaringType = type }; _methodCorrespondence.Add(method, methodInfo); if (method.Overrides.Count > 0) { var overridden = method.Overrides[0]; var declaringType = overridden.DeclaringType as ITypeReference; if (declaringType.Resolve().Interface) { methodInfo.IsOverride = false; } } int correction = methodInfo.Text.Contains(".ctor") || methodInfo.Text.Contains(".cctor") ? 0 : 1; methodInfo.Text = methodInfo.Text.Substring(methodInfo.Text.LastIndexOf('.') + correction); methodInfo.Name = methodInfo.Name.Substring(methodInfo.Name.LastIndexOf('.') + correction); methodInfo.Icon = Images.Images.GetMethodIcon(methodInfo); return(methodInfo); }
public MethodInfo Method(IMethodDeclaration method, TypeInfo type) { if (_methodCorrespondence.ContainsKey(method)) { return _methodCorrespondence[method]; } var methodInfo = new MethodInfo { Text = method.ToString(), Name = method.Name, FullName = method.Name, IsInternal = method.Visibility == MethodVisibility.Assembly, IsPrivate = method.Visibility == MethodVisibility.Private, IsPublic = method.Visibility == MethodVisibility.Public, IsProtected = method.Visibility == MethodVisibility.Family, IsProtectedAndInternal = method.Visibility == MethodVisibility.FamilyAndAssembly, IsProtectedOrInternal = method.Visibility == MethodVisibility.FamilyOrAssembly, IsVirtual = method.Virtual, IsOverride = method.Virtual && !method.NewSlot, IsSpecialName = method.SpecialName, IsStatic = method.Static, IsFinal = method.Final, MemberReference = method, DeclaringType = type }; _methodCorrespondence.Add(method, methodInfo); if (method.Overrides.Count > 0) { var overridden = method.Overrides[0]; var declaringType = overridden.DeclaringType as ITypeReference; if (declaringType.Resolve().Interface) { methodInfo.IsOverride = false; } } int correction = methodInfo.Text.Contains(".ctor") || methodInfo.Text.Contains(".cctor") ? 0 : 1; methodInfo.Text = methodInfo.Text.Substring(methodInfo.Text.LastIndexOf('.') + correction); methodInfo.Name = methodInfo.Name.Substring(methodInfo.Name.LastIndexOf('.') + correction); methodInfo.Icon = Images.Images.GetMethodIcon(methodInfo); return methodInfo; }