Class JSRegExp
java.lang.Object
com.oracle.truffle.js.runtime.builtins.JSClass
com.oracle.truffle.js.runtime.builtins.JSNonProxy
com.oracle.truffle.js.runtime.builtins.JSRegExp
- All Implemented Interfaces:
JSConstructorFactory, JSConstructorFactory.WithFunctions, PrototypeSupplier
public final class JSRegExp
extends JSNonProxy
implements JSConstructorFactory.WithFunctions, PrototypeSupplier
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final classSince we cannot use nodes here, access to this property is special-cased incom.oracle.truffle.js.nodes.access.PropertyGetNode.LazyRegexResultIndexPropertyGetNode.Nested classes/interfaces inherited from interface JSConstructorFactory
JSConstructorFactory.Default, JSConstructorFactory.WithFunctions, JSConstructorFactory.WithFunctionsAndSpecies -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.object.HiddenKeystatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final JSRegExpstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final PropertyProxystatic final com.oracle.truffle.api.strings.TruffleStringstatic final intstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringstatic final com.oracle.truffle.api.strings.TruffleStringFields inherited from class JSNonProxy
GET_SYMBOL_SPECIES_NAME -
Method Summary
Modifier and TypeMethodDescriptionstatic JSObjectFactorybuildGroupsFactory(JSContext ctx, Object namedCaptureGroups) static JSRegExpObjectcreate(JSContext context, JSRealm realm, JSDynamicObject proto, Object compiledRegex, JSObjectFactory groupsFactory, boolean legacyFeaturesEnabled) Creates a new JavaScript RegExp object without alastIndexproperty.static JSRegExpObjectCreates a new JavaScript RegExp object (with alastIndexof 0).static JSRegExpObjectcreate(JSContext context, JSRealm realm, Object compiledRegex, JSObjectFactory groupsFactory) Creates a new JavaScript RegExp object without alastIndexproperty.static JSRegExpObjectcreate(JSContext context, JSRealm realm, Object compiledRegex, JSObjectFactory groupsFactory, boolean legacyFeaturesEnabled) Creates a new JavaScript RegExp object without alastIndexproperty.static JSConstructorcreateConstructor(JSRealm realm) static JSDynamicObjectcreateGroupsObject(JSRealm realm, JSObjectFactory groupsFactory, Object regexResult, com.oracle.truffle.api.strings.TruffleString input, boolean isIndices) createPrototype(JSRealm realm, JSFunctionObject ctor) static com.oracle.truffle.api.strings.TruffleStringescapeRegExpPattern(com.oracle.truffle.api.strings.TruffleString pattern) voidfillConstructor(JSRealm realm, JSDynamicObject constructor) com.oracle.truffle.api.strings.TruffleStringstatic ObjectgetCompiledRegex(JSRegExpObject thisObj) static JSObjectFactorygetGroupsFactory(JSRegExpObject thisObj) getIntrinsicDefaultProto(JSRealm realm) Allows invokevirtual of this method instead of invokeinterface.static booleangetLegacyFeaturesEnabled(JSRegExpObject thisObj) static ObjectgetRealm(JSRegExpObject thisObj) static booleanisJSRegExp(Object obj) static com.oracle.truffle.api.object.ShapemakeInitialGroupsObjectShape(JSContext context) com.oracle.truffle.api.object.ShapemakeInitialShape(JSContext ctx, JSDynamicObject thisObj) static com.oracle.truffle.api.strings.TruffleStringprototypeToString(JSRegExpObject thisObj) Format: '/' pattern '/' flags.static voidupdateCompilation(JSContext ctx, JSRegExpObject thisObj, Object regex) Methods inherited from class JSNonProxy
checkProtoCycle, createSymbolSpeciesGetterFunction, defineOwnProperty, delete, delete, deletePropertyDefault, getHelper, getHelper, getMethodHelper, getOwnHelper, getOwnHelper, getOwnProperty, getOwnPropertyKeys, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, invokeAccessorPropertySetter, isExtensible, ordinaryGetOwnProperty, ordinaryGetOwnPropertyIntl, ordinaryIsExtensible, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeys, ordinaryOwnPropertyKeysSlow, ordinaryPreventExtensions, ordinarySet, ordinarySetIndex, ordinarySetWithReceiver, performOrdinarySetWithOwnDescriptor, preventExtensions, putConstructorSpeciesGetter, set, set, setIntegrityLevelFast, setPropertySlow, setPrototypeOf, testIntegrityLevelFast, usesOrdinaryGetOwnProperty, usesOrdinaryIsExtensibleMethods inherited from class JSClass
filterOwnPropertyKeys, get, get, isInstance, isInstance, isInstance, isInstance, ownPropertyKeys, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface JSConstructorFactory
createConstructorObjectMethods inherited from interface JSConstructorFactory.WithFunctions
createConstructorAndPrototype
-
Field Details
-
INSTANCE
-
CLASS_NAME
public static final com.oracle.truffle.api.strings.TruffleString CLASS_NAME -
PROTOTYPE_NAME
public static final com.oracle.truffle.api.strings.TruffleString PROTOTYPE_NAME -
MULTILINE
public static final com.oracle.truffle.api.strings.TruffleString MULTILINE -
GLOBAL
public static final com.oracle.truffle.api.strings.TruffleString GLOBAL -
IGNORE_CASE
public static final com.oracle.truffle.api.strings.TruffleString IGNORE_CASE -
STICKY
public static final com.oracle.truffle.api.strings.TruffleString STICKY -
UNICODE
public static final com.oracle.truffle.api.strings.TruffleString UNICODE -
DOT_ALL
public static final com.oracle.truffle.api.strings.TruffleString DOT_ALL -
SOURCE
public static final com.oracle.truffle.api.strings.TruffleString SOURCE -
FLAGS
public static final com.oracle.truffle.api.strings.TruffleString FLAGS -
LAST_INDEX
public static final com.oracle.truffle.api.strings.TruffleString LAST_INDEX -
INPUT
public static final com.oracle.truffle.api.strings.TruffleString INPUT -
GROUPS
public static final com.oracle.truffle.api.strings.TruffleString GROUPS -
INDEX
public static final com.oracle.truffle.api.strings.TruffleString INDEX -
INDICES
public static final com.oracle.truffle.api.strings.TruffleString INDICES -
HAS_INDICES
public static final com.oracle.truffle.api.strings.TruffleString HAS_INDICES -
UNICODE_SETS
public static final com.oracle.truffle.api.strings.TruffleString UNICODE_SETS -
EMPTY_REGEX
public static final com.oracle.truffle.api.strings.TruffleString EMPTY_REGEX -
LAST_MATCH
public static final com.oracle.truffle.api.strings.TruffleString LAST_MATCH -
LAST_PAREN
public static final com.oracle.truffle.api.strings.TruffleString LAST_PAREN -
LEFT_CONTEXT
public static final com.oracle.truffle.api.strings.TruffleString LEFT_CONTEXT -
RIGHT_CONTEXT
public static final com.oracle.truffle.api.strings.TruffleString RIGHT_CONTEXT -
$_
public static final com.oracle.truffle.api.strings.TruffleString $_ -
$_AMPERSAND
public static final com.oracle.truffle.api.strings.TruffleString $_AMPERSAND -
$_PLUS
public static final com.oracle.truffle.api.strings.TruffleString $_PLUS -
$_BACKTICK
public static final com.oracle.truffle.api.strings.TruffleString $_BACKTICK -
$_SQUOT
public static final com.oracle.truffle.api.strings.TruffleString $_SQUOT -
$_1
public static final com.oracle.truffle.api.strings.TruffleString $_1 -
$_2
public static final com.oracle.truffle.api.strings.TruffleString $_2 -
$_3
public static final com.oracle.truffle.api.strings.TruffleString $_3 -
$_4
public static final com.oracle.truffle.api.strings.TruffleString $_4 -
$_5
public static final com.oracle.truffle.api.strings.TruffleString $_5 -
$_6
public static final com.oracle.truffle.api.strings.TruffleString $_6 -
$_7
public static final com.oracle.truffle.api.strings.TruffleString $_7 -
$_8
public static final com.oracle.truffle.api.strings.TruffleString $_8 -
$_9
public static final com.oracle.truffle.api.strings.TruffleString $_9 -
LAZY_INDEX_PROXY
-
GROUPS_RESULT_ID
public static final com.oracle.truffle.api.object.HiddenKey GROUPS_RESULT_ID -
MAX_FLAGS_LENGTH
public static final int MAX_FLAGS_LENGTH- See Also:
-
-
Method Details
-
getCompiledRegex
-
getGroupsFactory
-
getRealm
-
getLegacyFeaturesEnabled
-
create
Creates a new JavaScript RegExp object (with alastIndexof 0).This overload incurs hitting a
CompilerDirectives.TruffleBoundarywhen having to examine thecompiledRegexfor information about named capture groups. In order to avoid aCompilerDirectives.TruffleBoundaryin cases when your regular expression has no named capture groups, consider using thecom.oracle.truffle.js.nodes.intl.CreateRegExpNode. -
create
public static JSRegExpObject create(JSContext context, JSRealm realm, Object compiledRegex, JSObjectFactory groupsFactory) Creates a new JavaScript RegExp object without alastIndexproperty. -
create
public static JSRegExpObject create(JSContext context, JSRealm realm, JSDynamicObject proto, Object compiledRegex, JSObjectFactory groupsFactory, boolean legacyFeaturesEnabled) Creates a new JavaScript RegExp object without alastIndexproperty. -
create
public static JSRegExpObject create(JSContext context, JSRealm realm, Object compiledRegex, JSObjectFactory groupsFactory, boolean legacyFeaturesEnabled) Creates a new JavaScript RegExp object without alastIndexproperty. -
updateCompilation
-
createGroupsObject
public static JSDynamicObject createGroupsObject(JSRealm realm, JSObjectFactory groupsFactory, Object regexResult, com.oracle.truffle.api.strings.TruffleString input, boolean isIndices) -
buildGroupsFactory
-
prototypeToString
public static com.oracle.truffle.api.strings.TruffleString prototypeToString(JSRegExpObject thisObj) Format: '/' pattern '/' flags. Flags may be none, one, or more of 'dgimsuy', in that order.Example:
/ab*c/gi -
isJSRegExp
-
createPrototype
- Specified by:
createPrototypein interfaceJSConstructorFactory
-
makeInitialShape
- Overrides:
makeInitialShapein classJSClass
-
makeInitialGroupsObjectShape
-
fillConstructor
- Specified by:
fillConstructorin interfaceJSConstructorFactory
-
createConstructor
-
getClassName
public com.oracle.truffle.api.strings.TruffleString getClassName()- Specified by:
getClassNamein interfaceJSConstructorFactory
-
getIntrinsicDefaultProto
Description copied from class:JSClassAllows invokevirtual of this method instead of invokeinterface. Classes overriding this method should implementPrototypeSupplier.- Specified by:
getIntrinsicDefaultProtoin interfacePrototypeSupplier- Overrides:
getIntrinsicDefaultProtoin classJSClass- See Also:
-
escapeRegExpPattern
public static com.oracle.truffle.api.strings.TruffleString escapeRegExpPattern(com.oracle.truffle.api.strings.TruffleString pattern)
-