Ejemplo n.º 1
0
 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);
         }
     }
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
        }