public static PatternNode GetSourcePlusInlined(PatternEdge edge, PatternGraph patternGraph, IDictionary<PatternNode, PatternNode> originalToInlinedIndependent)
 {
     PatternNode source = patternGraph.GetSourcePlusInlined(edge);
     if(edge.OriginalIndependentElement != null && source == null)
     {
         PatternNode sourceOriginal = edge.OriginalIndependentElement.pointOfDefinition.GetSourcePlusInlined((PatternEdge)edge.OriginalIndependentElement);
         if(originalToInlinedIndependent.ContainsKey(sourceOriginal))
             source = originalToInlinedIndependent[sourceOriginal];
         else
             source = sourceOriginal; // not declared in independent itself, but in some parent
     }
     return source;
 }
Beispiel #2
0
 PatternNode GetSourcePlusInlined(PatternEdge edge, PatternGraph patternGraph, IDictionary<PatternNode, PatternNode> originalToInlinedIndependent)
 {
     PatternNode source = patternGraph.GetSourcePlusInlined(edge);
     if(edge.OriginalIndependentElement != null && source == null)
     {
         PatternNode sourceOriginal = edge.OriginalIndependentElement.pointOfDefinition.GetSourcePlusInlined((PatternEdge)edge.OriginalIndependentElement);
         source = originalToInlinedIndependent[sourceOriginal];
     }
     return source;
 }