public virtual bool PropagateUp(SecondaryEntity target) { Trace.Assert(target?.TopLevelClosure != null); if (target?.TopLevelClosure != null) { return(TopLevelClosure.Value.Propagate(target.TopLevelClosure.Value)); } return(false); }
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); }
public ResolvedObjectField(SecondaryEntity owningObject, int variableId) { OwningObject = owningObject; FieldId = variableId; }
public override bool PropagateDown(SecondaryEntity target) { return(PropagateForward(target)); }
public ResolvedObjectMethodReference(SecondaryEntity owningObject, ResolvedMethodId methodId) { OwningObject = owningObject; MethodId = methodId; }