-
-
Notifications
You must be signed in to change notification settings - Fork 925
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Truffle] Move basic guards into a separate class.
- 9.4.12.0
- 9.4.11.0
- 9.4.10.0
- 9.4.9.0
- 9.4.8.0
- 9.4.7.0
- 9.4.6.0
- 9.4.5.0
- 9.4.4.0
- 9.4.3.0
- 9.4.2.0
- 9.4.1.0
- 9.4.0.0
- 9.3.15.0
- 9.3.14.0
- 9.3.13.0
- 9.3.12.0
- 9.3.11.0
- 9.3.10.0
- 9.3.9.0
- 9.3.8.0
- 9.3.7.0
- 9.3.6.0
- 9.3.5.0
- 9.3.4.0
- 9.3.3.0
- 9.3.2.0
- 9.3.1.0
- 9.3.0.0
- 9.2.21.0
- 9.2.20.1
- 9.2.20.0
- 9.2.19.0
- 9.2.18.0
- 9.2.17.0
- 9.2.16.0
- 9.2.15.0
- 9.2.14.0
- 9.2.13.0
- 9.2.12.0
- 9.2.11.1
- 9.2.11.0
- 9.2.10.0
- 9.2.9.0
- 9.2.8.0
- 9.2.7.0
- 9.2.6.0
- 9.2.5.0
- 9.2.4.1
- 9.2.4.0
- 9.2.3.0
- 9.2.2.0
- 9.2.1.0
- 9.2.0.0
- 9.1.17.0
- 9.1.16.0
- 9.1.15.0
- 9.1.14.0
- 9.1.13.0
- 9.1.12.0
- 9.1.11.0
- 9.1.10.0
- 9.1.9.0
- 9.1.8.0
- 9.1.7.0
- 9.1.6.0
- 9.1.5.0
- 9.1.4.0
- 9.1.3.0
- 9.1.2.0
- 9.1.1.0
- 9.1.0.0
- 9.0.5.0
- 9.0.4.0
- 9.0.3.0
- 9.0.1.0
- 9.0.0.0
- 9.0.0.0.rc2
- 9.0.0.0.rc1
1 parent
7c46185
commit 6a374e6
Showing
12 changed files
with
163 additions
and
252 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
122 changes: 122 additions & 0 deletions
122
truffle/src/main/java/org/jruby/truffle/nodes/RubyGuards.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
/* | ||
* Copyright (c) 2013, 2015 Oracle and/or its affiliates. All rights reserved. This | ||
* code is released under a tri EPL/GPL/LGPL license. You can use it, | ||
* redistribute it and/or modify it under the terms of the: | ||
* | ||
* Eclipse Public License version 1.0 | ||
* GNU General Public License version 2 | ||
* GNU Lesser General Public License version 2.1 | ||
*/ | ||
package org.jruby.truffle.nodes; | ||
|
||
import com.oracle.truffle.api.interop.TruffleObject; | ||
import org.jruby.truffle.runtime.UndefinedPlaceholder; | ||
import org.jruby.truffle.runtime.core.*; | ||
|
||
public abstract class RubyGuards { | ||
|
||
public static boolean isUndefinedPlaceholder(Object value) { | ||
return value instanceof UndefinedPlaceholder; | ||
} | ||
|
||
public static boolean isBoolean(Object value) { | ||
return value instanceof Boolean; | ||
} | ||
|
||
public static boolean isInteger(Object value) { | ||
return value instanceof Integer; | ||
} | ||
|
||
public static boolean isLong(Object value) { | ||
return value instanceof Long; | ||
} | ||
|
||
public static boolean isDouble(Object value) { | ||
return value instanceof Double; | ||
} | ||
|
||
public static boolean isRubyBignum(Object value) { | ||
return value instanceof RubyBignum; | ||
} | ||
|
||
public static boolean isIntegerFixnumRange(Object value) { | ||
return value instanceof RubyRange.IntegerFixnumRange; | ||
} | ||
|
||
public static boolean isRubyArray(Object value) { | ||
return value instanceof RubyArray; | ||
} | ||
|
||
public static boolean isRubyBinding(Object value) { | ||
return value instanceof RubyBinding; | ||
} | ||
|
||
public static boolean isRubyClass(Object value) { | ||
return value instanceof RubyClass; | ||
} | ||
|
||
public static boolean isRubyHash(Object value) { | ||
return value instanceof RubyHash; | ||
} | ||
|
||
public static boolean isRubyModule(Object value) { | ||
return value instanceof RubyModule; | ||
} | ||
|
||
public static boolean isRubyNilClass(Object value) { | ||
return value instanceof RubyNilClass; | ||
} | ||
|
||
public static boolean isRubyRange(Object value) { | ||
return value instanceof RubyRange; | ||
} | ||
|
||
public static boolean isRubyRegexp(Object value) { | ||
return value instanceof RubyRegexp; | ||
} | ||
|
||
public static boolean isRubyString(Object value) { | ||
return value instanceof RubyString; | ||
} | ||
|
||
public static boolean isRubyEncoding(Object value) { | ||
return value instanceof RubyEncoding; | ||
} | ||
|
||
public static boolean isRubySymbol(Object value) { | ||
return value instanceof RubySymbol; | ||
} | ||
|
||
public static boolean isRubyMethod(Object value) { | ||
return value instanceof RubyMethod; | ||
} | ||
|
||
public static boolean isRubyUnboundMethod(Object value) { | ||
return value instanceof RubyUnboundMethod; | ||
} | ||
|
||
public static boolean isRubyBasicObject(Object value) { | ||
return value instanceof RubyBasicObject; | ||
} | ||
|
||
public static boolean isThreadLocal(Object value) { | ||
return value instanceof ThreadLocal; | ||
} | ||
|
||
public static boolean isForeignObject(Object object) { | ||
return (object instanceof TruffleObject) && !(object instanceof RubyBasicObject); | ||
} | ||
|
||
public static boolean isTrue(boolean value) { | ||
return value; | ||
} | ||
|
||
public static boolean isNaN(double value) { | ||
return Double.isNaN(value); | ||
} | ||
|
||
public static boolean isInfinity(double value) { | ||
return Double.isInfinite(value); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters