コード例 #1
0
        protected string NormalTranslate(bool excludeTypeParameter = false)
        {
            string strIdentifier = Syntax.Identifier.ToString();

            if (ExcludeTypeParameter || excludeTypeParameter)
            {
                return($"{strIdentifier}");
            }

            return($"{strIdentifier}{TypeArgumentList.Translate()}");
        }
コード例 #2
0
        protected override string InnerTranslate()
        {
            string syntaxStr = Syntax.ToString();

            syntaxStr = Helper.NormalizeVariabeleName(syntaxStr);

            // hopefully we guess right
            if (syntaxStr == "DateTime" && !(Parent is TypeTranslation))
            {
                return("Date");
            }

            if (syntaxStr == "Action")
            {
                return("() => void");
            }

            if (!DetectApplyThis && TypeArgumentList != null)
            {
                return($"{syntaxStr}{TypeArgumentList.Translate()}");
            }

            if (IsArrayType(syntaxStr))
            {
                return("Array<any>");
            }

            if (IsLengthArrayOrString(syntaxStr))
            {
                return("length");
            }

            if (!DetectApplyThis)
            {
                return(syntaxStr);
            }

            var result = HandleApplyStaticOrThis(syntaxStr);

            if (result != null)
            {
                return(result);
            }

            return(syntaxStr);
        }