コード例 #1
0
    public CSProperty(string rawContent, CSEntity parent) : base(rawContent, parent)
    {
        string[] splitContent     = rawContent.Split(' ', '=');
        int      hasVisibilityKey = 0;

        for (int i = 0; i < splitContent.Length; i++)
        {
            if (CSParsingTool.IsVisibilityKeyword(splitContent[i]))
            {
                hasVisibilityKey = 1;
                this.visibility  = splitContent[i];
            }
        }
        if (hasVisibilityKey == 0)
        {
            this.visibility = "public";
        }
        this.type = splitContent[hasVisibilityKey];
        this.name = splitContent[hasVisibilityKey + 1].Replace(";", "");
        int equalIndex = rawContent.IndexOf('=');

        if (equalIndex != -1)
        {
            string rawInitializer = rawContent.Substring(equalIndex + 1);
            this.initializer = rawInitializer.Trim();
        }
    }
コード例 #2
0
ファイル: CSClass.cs プロジェクト: SvenFrankson/hammurabi
 public CSClass(string rawContent, CSEntity parent) : base(rawContent, parent)
 {
     string[] splitContent = rawContent.Split(' ');
     for (int i = 0; i < splitContent.Length; i++)
     {
         if (splitContent[i] == "class")
         {
             if (i + 1 < splitContent.Length)
             {
                 this.name = splitContent[i + 1];
             }
         }
         else if (CSParsingTool.IsVisibilityKeyword(splitContent[i]))
         {
             this.visibility = splitContent[i];
         }
         else if (splitContent[i] == ":")
         {
             if (i + 1 < splitContent.Length)
             {
                 this.baseName = splitContent[i + 1];
             }
         }
     }
 }
コード例 #3
0
    public CSMethod(string rawContent, CSEntity parent) : base(rawContent, parent)
    {
        string[] splitContent     = rawContent.Split(' ');
        int      hasVisibilityKey = 0;

        for (int i = 0; i < splitContent.Length; i++)
        {
            if (CSParsingTool.IsVisibilityKeyword(splitContent[i]))
            {
                hasVisibilityKey = 1;
                this.visibility  = splitContent[i];
            }
        }
        if (hasVisibilityKey == 0)
        {
            this.visibility = "public";
        }
        this.returnType = splitContent[hasVisibilityKey];
        this.name       = splitContent[hasVisibilityKey + 1].Replace("(", "");
        int    startParametersIndex = rawContent.IndexOf('(');
        int    endParametersIndex   = rawContent.LastIndexOf(')');
        int    lengthParameters     = endParametersIndex - startParametersIndex + 1;
        string rawParameters        = rawContent.Substring(startParametersIndex, lengthParameters);

        rawParameters = rawParameters.Replace("(", "");
        rawParameters = rawParameters.Replace(")", "");
        string[] splitParameters = rawParameters.Split(',');
        for (int i = 0; i < splitParameters.Length; i++)
        {
            splitParameters[i] = splitParameters[i].Trim();
            string[] splitParameter = splitParameters[i].Split(' ');
            if (splitParameter.Length >= 2)
            {
                this.parameters.Add(
                    new CSParameter(
                        splitParameter[0],
                        splitParameter[splitParameter.Length - 1]
                        )
                    );
            }
        }
    }