Beispiel #1
0
 protected override bool IsFilterExisting(FilterCall filterCall, SequenceRuleCall seq)
 {
     if(filterCall.Name == "keepFirst" || filterCall.Name == "removeFirst"
         || filterCall.Name == "keepFirstFraction" || filterCall.Name == "removeFirstFraction"
         || filterCall.Name == "keepLast" || filterCall.Name == "removeLast"
         || filterCall.Name == "keepLastFraction" || filterCall.Name == "removeLastFraction")
     {
         filterCall.Package = null;
         filterCall.PackagePrefixedName = filterCall.Name;
         return true;
     }
     filterCall.Package = filterCall.PrePackage;
     filterCall.PackagePrefixedName = filterCall.Package != null ? filterCall.Package + "::" + filterCall.Name : filterCall.Name;
     if(filterCall.IsContainedIn(seq.ParamBindings.Action.RulePattern.Filters))
         return true;
     if(filterCall.IsAutoGenerated && seq.ParamBindings.Package != null)
     {
         filterCall.Package = seq.ParamBindings.Package;
         filterCall.PackagePrefixedName = seq.ParamBindings.Package + "::" + filterCall.Name;
         return filterCall.IsContainedIn(seq.ParamBindings.Action.RulePattern.Filters);
     }
     return false;
 }
Beispiel #2
0
        protected override bool IsFilterExisting(FilterCall filterCall, SequenceRuleCall seq)
        {
            if(filterCall.Name == "keepFirst" || filterCall.Name == "removeFirst"
                || filterCall.Name == "keepFirstFraction" || filterCall.Name == "removeFirstFraction"
                || filterCall.Name == "keepLast" || filterCall.Name == "removeLast"
                || filterCall.Name == "keepLastFraction" || filterCall.Name == "removeLastFraction")
            {
                filterCall.Package = null;
                filterCall.PackagePrefixedName = filterCall.Name;
                return true;
            }

            if(filterCall.PrePackage != null)
            {
                filterCall.Package = filterCall.PrePackage;
                filterCall.PackagePrefixedName = filterCall.PrePackage + "::" + filterCall.Name;
                return filterCall.IsContainedIn(rulesToFilters[seq.ParamBindings.PackagePrefixedName]);
            }
            else
            {
                filterCall.Package = null;
                filterCall.PackagePrefixedName = filterCall.Name;
                if(filterCall.IsContainedIn(rulesToFilters[seq.ParamBindings.PackagePrefixedName]))
                    return true;
                if(filterCall.PrePackageContext != null)
                {
                    filterCall.Package = filterCall.PrePackageContext;
                    filterCall.PackagePrefixedName = filterCall.PrePackageContext + "::" + filterCall.Name;
                    if(filterCall.IsContainedIn(rulesToFilters[seq.ParamBindings.PackagePrefixedName]))
                        return true;
                }
                if(filterCall.IsAutoGenerated && seq.ParamBindings.Package != null)
                {
                    filterCall.Package = seq.ParamBindings.Package;
                    filterCall.PackagePrefixedName = seq.ParamBindings.Package + "::" + filterCall.Name;
                    return filterCall.IsContainedIn(rulesToFilters[seq.ParamBindings.PackagePrefixedName]);
                }
                return false;
            }
        }