Lines Matching refs:node

36     public function getSafe(Node $node)  argument
38 $hash = spl_object_hash($node);
44 if ($bucket['key'] !== $node) {
56 private function setSafe(Node $node, array $safe) argument
58 $hash = spl_object_hash($node);
61 if ($bucket['key'] === $node) {
69 'key' => $node,
74 protected function doEnterNode(Node $node, Environment $env) argument
76 return $node;
79 protected function doLeaveNode(Node $node, Environment $env) argument
81 if ($node instanceof ConstantExpression) {
83 $this->setSafe($node, ['all']);
84 } elseif ($node instanceof BlockReferenceExpression) {
86 $this->setSafe($node, ['all']);
87 } elseif ($node instanceof ParentExpression) {
89 $this->setSafe($node, ['all']);
90 } elseif ($node instanceof ConditionalExpression) {
92 …$safe = $this->intersectSafe($this->getSafe($node->getNode('expr2')), $this->getSafe($node->getNod…
93 $this->setSafe($node, $safe);
94 } elseif ($node instanceof FilterExpression) {
96 $name = $node->getNode('filter')->getAttribute('value');
97 $args = $node->getNode('arguments');
101 …$safe = $this->intersectSafe($this->getSafe($node->getNode('node')), $filter->getPreservesSafety()…
103 $this->setSafe($node, $safe);
105 $this->setSafe($node, []);
107 } elseif ($node instanceof FunctionExpression) {
109 $name = $node->getAttribute('name');
110 $args = $node->getNode('arguments');
113 $this->setSafe($node, $function->getSafe($args));
115 $this->setSafe($node, []);
117 } elseif ($node instanceof MethodCallExpression) {
118 if ($node->getAttribute('safe')) {
119 $this->setSafe($node, ['all']);
121 $this->setSafe($node, []);
123 …} elseif ($node instanceof GetAttrExpression && $node->getNode('node') instanceof NameExpression) {
124 $name = $node->getNode('node')->getAttribute('name');
126 $this->setSafe($node, ['all']);
128 $this->setSafe($node, []);
131 $this->setSafe($node, []);
134 return $node;