Exemple #1
0
        public virtual bool PropagateUp(SecondaryEntity target)
        {
            Trace.Assert(target?.TopLevelClosure != null);
            if (target?.TopLevelClosure != null)
            {
                return(TopLevelClosure.Value.Propagate(target.TopLevelClosure.Value));
            }

            return(false);
        }
Exemple #2
0
        public virtual bool PropagateForward(SecondaryEntity target)
        {
            //Trace.Assert(target?.TopLevelClosure != null);
            if (target?.TopLevelClosure != null)
            {
                var shouldContinue = TopLevelClosure.Value.Propagate(target.TopLevelClosure.Value);
                shouldContinue = shouldContinue && BottomLevelClosure.Value.Propagate(target.BottomLevelClosure.Value);
                return(shouldContinue);
            }

            return(false);
        }
Exemple #3
0
 public ResolvedObjectField(SecondaryEntity owningObject, int variableId)
 {
     OwningObject = owningObject;
     FieldId      = variableId;
 }
Exemple #4
0
 public override bool PropagateDown(SecondaryEntity target)
 {
     return(PropagateForward(target));
 }
Exemple #5
0
 public ResolvedObjectMethodReference(SecondaryEntity owningObject, ResolvedMethodId methodId)
 {
     OwningObject = owningObject;
     MethodId     = methodId;
 }