MCPcopy Index your code
hub / github.com/nodejs/node / Operation

Class Operation

tools/test.py:1064–1096  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1062
1063
1064class Operation(Expression):
1065
1066 def __init__(self, left, op, right):
1067 self.left = left
1068 self.op = op
1069 self.right = right
1070
1071 def Evaluate(self, env, defs):
1072 if self.op == '||' or self.op == ',':
1073 return self.left.Evaluate(env, defs) or self.right.Evaluate(env, defs)
1074 elif self.op == 'if':
1075 return False
1076 elif self.op == '!=':
1077 inter = self.left.GetOutcomes(env, defs) != self.right.GetOutcomes(env, defs)
1078 return bool(inter)
1079 elif self.op == '==':
1080 inter = self.left.GetOutcomes(env, defs) & self.right.GetOutcomes(env, defs)
1081 return bool(inter)
1082 else:
1083 assert self.op == '&&'
1084 return self.left.Evaluate(env, defs) and self.right.Evaluate(env, defs)
1085
1086 def GetOutcomes(self, env, defs):
1087 if self.op == '||' or self.op == ',':
1088 return self.left.GetOutcomes(env, defs) | self.right.GetOutcomes(env, defs)
1089 elif self.op == 'if':
1090 if self.right.Evaluate(env, defs):
1091 return self.left.GetOutcomes(env, defs)
1092 else:
1093 return set()
1094 else:
1095 assert self.op == '&&'
1096 return self.left.GetOutcomes(env, defs) & self.right.GetOutcomes(env, defs)
1097
1098
1099def IsAlpha(str):

Callers 3

ParseOperatorExpressionFunction · 0.70
ParseLogicalExpressionFunction · 0.70

Calls

no outgoing calls

Tested by 3

ParseOperatorExpressionFunction · 0.56
ParseLogicalExpressionFunction · 0.56

Used in the wild real call sites across dependent graphs

searching dependent graphs…