Skip to content

Commit f6a458a

Browse files
committed
remove CastToBooleanNode from DirEntryBuiltins
1 parent b8622e9 commit f6a458a

File tree

1 file changed

+6
-4
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/posix

1 file changed

+6
-4
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/posix/DirEntryBuiltins.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@
4949
import com.oracle.graal.python.builtins.PythonBuiltins;
5050
import com.oracle.graal.python.builtins.modules.PosixModuleBuiltins;
5151
import com.oracle.graal.python.builtins.objects.PNone;
52+
import com.oracle.graal.python.builtins.objects.function.PArguments;
53+
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
5254
import com.oracle.graal.python.nodes.SpecialMethodNames;
5355
import com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode;
5456
import com.oracle.graal.python.nodes.attributes.WriteAttributeToObjectNode;
55-
import com.oracle.graal.python.nodes.expression.CastToBooleanNode;
5657
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
5758
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
5859
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
@@ -62,6 +63,7 @@
6263
import com.oracle.truffle.api.dsl.NodeFactory;
6364
import com.oracle.truffle.api.dsl.Specialization;
6465
import com.oracle.truffle.api.frame.VirtualFrame;
66+
import com.oracle.truffle.api.library.CachedLibrary;
6567

6668
@CoreFunctions(extendClasses = PythonBuiltinClassType.PDirEntry)
6769
public class DirEntryBuiltins extends PythonBuiltins {
@@ -128,11 +130,11 @@ boolean testNone(PDirEntry self, @SuppressWarnings("unused") PNone followSymlink
128130
return testBool(self, true);
129131
}
130132

131-
@Specialization
133+
@Specialization(limit = "1")
132134
boolean testAny(VirtualFrame frame, Object self, Object followSymlinks,
133-
@Cached("createIfTrueNode()") CastToBooleanNode isTrue) {
135+
@CachedLibrary("followSymlinks") PythonObjectLibrary lib) {
134136
if (self instanceof PDirEntry) {
135-
return testBool((PDirEntry) self, isTrue.executeBoolean(frame, followSymlinks));
137+
return testBool((PDirEntry) self, lib.isTrueWithState(followSymlinks, PArguments.getThreadState(frame)));
136138
} else {
137139
throw raise(PythonBuiltinClassType.TypeError, "descriptor 'is_dir' requires a 'posix.DirEntry' object but received a '%p'", self);
138140
}

0 commit comments

Comments
 (0)