示例#1
0
 public BuildMatchObject(
     BuildMatchObjectType type,
     string patternElementUnprefixedName,
     string patternElementName,
     string rulePatternClassName,
     string matchObjectName,
     string matchClassName)
 {
     Debug.Assert(type == BuildMatchObjectType.Independent);
     Type = type;
     PatternElementUnprefixedName = patternElementUnprefixedName;
     PatternElementName           = patternElementName;
     RulePatternClassName         = rulePatternClassName;
     MatchObjectName = matchObjectName;
     MatchClassName  = matchClassName;
 }
示例#2
0
 public BuildMatchObject(
     BuildMatchObjectType type,
     string patternElementType,
     string patternElementUnprefixedName,
     string patternElementName,
     string rulePatternClassName,
     string pathPrefixForEnum,
     string matchObjectName,
     int numSubpatterns)
 {
     Debug.Assert(type != BuildMatchObjectType.Independent);
     Type = type;
     PatternElementType           = patternElementType;
     PatternElementUnprefixedName = patternElementUnprefixedName;
     PatternElementName           = patternElementName;
     RulePatternClassName         = rulePatternClassName;
     PathPrefixForEnum            = pathPrefixForEnum;
     MatchObjectName = matchObjectName;
     NumSubpatterns  = numSubpatterns; // only valid if type == Alternative
 }
示例#3
0
        /// <summary>
        /// Returns name of the given element in the match class with correct match part prefix
        /// </summary>
        public static string MatchName(string unprefixedElementName, BuildMatchObjectType matchPart)
        {
            switch (matchPart)
            {
            case BuildMatchObjectType.Node: return("node_" + unprefixedElementName);

            case BuildMatchObjectType.Edge: return("edge_" + unprefixedElementName);

            case BuildMatchObjectType.Variable: return("var_" + unprefixedElementName);

            case BuildMatchObjectType.Subpattern: return(unprefixedElementName);

            case BuildMatchObjectType.InlinedSubpattern: return(unprefixedElementName);

            case BuildMatchObjectType.Iteration: return(unprefixedElementName);

            case BuildMatchObjectType.Alternative: return(unprefixedElementName);

            case BuildMatchObjectType.Independent: return(unprefixedElementName);

            default: return("INTERNAL ERROR");
            }
        }
示例#4
0
 /// <summary>
 /// Returns name of the given element in the match class with correct match part prefix
 /// </summary>
 public static string MatchName(string unprefixedElementName, BuildMatchObjectType matchPart)
 {
     switch (matchPart)
     {
         case BuildMatchObjectType.Node: return "node_" + unprefixedElementName;
         case BuildMatchObjectType.Edge: return "edge_" + unprefixedElementName;
         case BuildMatchObjectType.Variable: return "var_" + unprefixedElementName;
         case BuildMatchObjectType.Subpattern: return unprefixedElementName;
         case BuildMatchObjectType.InlinedSubpattern: return unprefixedElementName;
         case BuildMatchObjectType.Iteration: return unprefixedElementName;
         case BuildMatchObjectType.Alternative: return unprefixedElementName;
         case BuildMatchObjectType.Independent: return unprefixedElementName;
         default: return "INTERNAL ERROR";
     }
 }
示例#5
0
 public BuildMatchObject(
     BuildMatchObjectType type,
     string patternElementUnprefixedName,
     string patternElementName,
     string rulePatternClassName,
     string matchObjectName,
     string matchClassName)
 {
     Debug.Assert(type == BuildMatchObjectType.Independent);
     Type = type;
     PatternElementUnprefixedName = patternElementUnprefixedName;
     PatternElementName = patternElementName;
     RulePatternClassName = rulePatternClassName;
     MatchObjectName = matchObjectName;
     MatchClassName = matchClassName;
 }
示例#6
0
 public BuildMatchObject(
     BuildMatchObjectType type,
     string patternElementType,
     string patternElementUnprefixedName,
     string patternElementName,
     string rulePatternClassName,
     string pathPrefixForEnum,
     string matchObjectName,
     int numSubpatterns)
 {
     Debug.Assert(type != BuildMatchObjectType.Independent);
     Type = type;
     PatternElementType = patternElementType;
     PatternElementUnprefixedName = patternElementUnprefixedName;
     PatternElementName = patternElementName;
     RulePatternClassName = rulePatternClassName;
     PathPrefixForEnum = pathPrefixForEnum;
     MatchObjectName = matchObjectName;
     NumSubpatterns = numSubpatterns; // only valid if type == Alternative
 }