Java Code Examples for jdk.nashorn.internal.runtime.Property#NOT_WRITABLE
The following examples show how to use
jdk.nashorn.internal.runtime.Property#NOT_WRITABLE .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: NashornScriptEngine.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
private ScriptObject createNashornGlobal(final ScriptContext ctxt) { final ScriptObject newGlobal = AccessController.doPrivileged(new PrivilegedAction<ScriptObject>() { @Override public ScriptObject run() { try { return nashornContext.newGlobal(); } catch (final RuntimeException e) { if (Context.DEBUG) { e.printStackTrace(); } throw e; } } }, CREATE_GLOBAL_ACC_CTXT); nashornContext.initGlobal(newGlobal); final int NON_ENUMERABLE_CONSTANT = Property.NOT_ENUMERABLE | Property.NOT_CONFIGURABLE | Property.NOT_WRITABLE; // current ScriptContext exposed as "context" // "context" is non-writable from script - but script engine still // needs to set it and so save the context Property object contextProperty = newGlobal.addOwnProperty("context", NON_ENUMERABLE_CONSTANT, ctxt); // current ScriptEngine instance exposed as "engine". We added @SuppressWarnings("LeakingThisInConstructor") as // NetBeans identifies this assignment as such a leak - this is a false positive as we're setting this property // in the Global of a Context we just created - both the Context and the Global were just created and can not be // seen from another thread outside of this constructor. newGlobal.addOwnProperty("engine", NON_ENUMERABLE_CONSTANT, this); // global script arguments with undefined value newGlobal.addOwnProperty("arguments", Property.NOT_ENUMERABLE, UNDEFINED); // file name default is null newGlobal.addOwnProperty(ScriptEngine.FILENAME, Property.NOT_ENUMERABLE, null); // evaluate engine.js initialization script this new global object try { evalImpl(compileImpl(ENGINE_SCRIPT_SRC, newGlobal), ctxt, newGlobal); } catch (final ScriptException exp) { throw new RuntimeException(exp); } return newGlobal; }
Example 2
Source File: NashornScriptEngine.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
private ScriptObject createNashornGlobal(final ScriptContext ctxt) { final ScriptObject newGlobal = AccessController.doPrivileged(new PrivilegedAction<ScriptObject>() { @Override public ScriptObject run() { try { return nashornContext.newGlobal(); } catch (final RuntimeException e) { if (Context.DEBUG) { e.printStackTrace(); } throw e; } } }, CREATE_GLOBAL_ACC_CTXT); nashornContext.initGlobal(newGlobal); final int NON_ENUMERABLE_CONSTANT = Property.NOT_ENUMERABLE | Property.NOT_CONFIGURABLE | Property.NOT_WRITABLE; // current ScriptContext exposed as "context" // "context" is non-writable from script - but script engine still // needs to set it and so save the context Property object contextProperty = newGlobal.addOwnProperty("context", NON_ENUMERABLE_CONSTANT, ctxt); // current ScriptEngine instance exposed as "engine". We added @SuppressWarnings("LeakingThisInConstructor") as // NetBeans identifies this assignment as such a leak - this is a false positive as we're setting this property // in the Global of a Context we just created - both the Context and the Global were just created and can not be // seen from another thread outside of this constructor. newGlobal.addOwnProperty("engine", NON_ENUMERABLE_CONSTANT, this); // global script arguments with undefined value newGlobal.addOwnProperty("arguments", Property.NOT_ENUMERABLE, UNDEFINED); // file name default is null newGlobal.addOwnProperty(ScriptEngine.FILENAME, Property.NOT_ENUMERABLE, null); // evaluate engine.js initialization script this new global object try { evalImpl(compileImpl(ENGINE_SCRIPT_SRC, newGlobal), ctxt, newGlobal); } catch (final ScriptException exp) { throw new RuntimeException(exp); } return newGlobal; }
Example 3
Source File: NashornScriptEngine.java From nashorn with GNU General Public License v2.0 | 5 votes |
private ScriptObject createNashornGlobal(final ScriptContext ctxt) { final ScriptObject newGlobal = AccessController.doPrivileged(new PrivilegedAction<ScriptObject>() { @Override public ScriptObject run() { try { return nashornContext.newGlobal(); } catch (final RuntimeException e) { if (Context.DEBUG) { e.printStackTrace(); } throw e; } } }, CREATE_GLOBAL_ACC_CTXT); nashornContext.initGlobal(newGlobal); final int NON_ENUMERABLE_CONSTANT = Property.NOT_ENUMERABLE | Property.NOT_CONFIGURABLE | Property.NOT_WRITABLE; // current ScriptContext exposed as "context" // "context" is non-writable from script - but script engine still // needs to set it and so save the context Property object contextProperty = newGlobal.addOwnProperty("context", NON_ENUMERABLE_CONSTANT, ctxt); // current ScriptEngine instance exposed as "engine". We added @SuppressWarnings("LeakingThisInConstructor") as // NetBeans identifies this assignment as such a leak - this is a false positive as we're setting this property // in the Global of a Context we just created - both the Context and the Global were just created and can not be // seen from another thread outside of this constructor. newGlobal.addOwnProperty("engine", NON_ENUMERABLE_CONSTANT, this); // global script arguments with undefined value newGlobal.addOwnProperty("arguments", Property.NOT_ENUMERABLE, UNDEFINED); // file name default is null newGlobal.addOwnProperty(ScriptEngine.FILENAME, Property.NOT_ENUMERABLE, null); // evaluate engine.js initialization script this new global object try { evalImpl(compileImpl(ENGINE_SCRIPT_SRC, newGlobal), ctxt, newGlobal); } catch (final ScriptException exp) { throw new RuntimeException(exp); } return newGlobal; }
Example 4
Source File: MapCreator.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
/** * Compute property flags given local state of a field. May be overridden and extended, * * @param symbol symbol to check * @param hasArguments does the created object have an "arguments" property * * @return flags to use for fields */ static int getPropertyFlags(final Symbol symbol, final boolean hasArguments, final boolean evalCode, final boolean dualFields) { int flags = 0; if (symbol.isParam()) { flags |= Property.IS_PARAMETER; } if (hasArguments) { flags |= Property.HAS_ARGUMENTS; } // See ECMA 5.1 10.5 Declaration Binding Instantiation. // Step 2 If code is eval code, then let configurableBindings // be true else let configurableBindings be false. // We have to make vars, functions declared in 'eval' code // configurable. But vars, functions from any other code is // not configurable. if (symbol.isScope() && !evalCode) { flags |= Property.NOT_CONFIGURABLE; } if (symbol.isFunctionDeclaration()) { flags |= Property.IS_FUNCTION_DECLARATION; } if (symbol.isConst()) { flags |= Property.NOT_WRITABLE; } if (symbol.isBlockScoped()) { flags |= Property.IS_LEXICAL_BINDING; } // Mark symbol as needing declaration. Access before declaration will throw a ReferenceError. if (symbol.isBlockScoped() && symbol.isScope()) { flags |= Property.NEEDS_DECLARATION; } if (dualFields) { flags |= Property.DUAL_FIELDS; } return flags; }
Example 5
Source File: MapCreator.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
/** * Compute property flags given local state of a field. May be overridden and extended, * * @param symbol symbol to check * @param hasArguments does the created object have an "arguments" property * * @return flags to use for fields */ static int getPropertyFlags(final Symbol symbol, final boolean hasArguments, final boolean evalCode, final boolean dualFields) { int flags = 0; if (symbol.isParam()) { flags |= Property.IS_PARAMETER; } if (hasArguments) { flags |= Property.HAS_ARGUMENTS; } // See ECMA 5.1 10.5 Declaration Binding Instantiation. // Step 2 If code is eval code, then let configurableBindings // be true else let configurableBindings be false. // We have to make vars, functions declared in 'eval' code // configurable. But vars, functions from any other code is // not configurable. if (symbol.isScope() && !evalCode) { flags |= Property.NOT_CONFIGURABLE; } if (symbol.isFunctionDeclaration()) { flags |= Property.IS_FUNCTION_DECLARATION; } if (symbol.isConst()) { flags |= Property.NOT_WRITABLE; } if (symbol.isBlockScoped()) { flags |= Property.IS_LEXICAL_BINDING; } // Mark symbol as needing declaration. Access before declaration will throw a ReferenceError. if (symbol.isBlockScoped() && symbol.isScope()) { flags |= Property.NEEDS_DECLARATION; } if (dualFields) { flags |= Property.DUAL_FIELDS; } return flags; }
Example 6
Source File: MapCreator.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
/** * Compute property flags given local state of a field. May be overridden and extended, * * @param symbol symbol to check * @param hasArguments does the created object have an "arguments" property * * @return flags to use for fields */ static int getPropertyFlags(final Symbol symbol, final boolean hasArguments, final boolean evalCode, final boolean dualFields) { int flags = 0; if (symbol.isParam()) { flags |= Property.IS_PARAMETER; } if (hasArguments) { flags |= Property.HAS_ARGUMENTS; } // See ECMA 5.1 10.5 Declaration Binding Instantiation. // Step 2 If code is eval code, then let configurableBindings // be true else let configurableBindings be false. // We have to make vars, functions declared in 'eval' code // configurable. But vars, functions from any other code is // not configurable. if (symbol.isScope() && !evalCode) { flags |= Property.NOT_CONFIGURABLE; } if (symbol.isFunctionDeclaration()) { flags |= Property.IS_FUNCTION_DECLARATION; } if (symbol.isConst()) { flags |= Property.NOT_WRITABLE; } if (symbol.isBlockScoped()) { flags |= Property.IS_LEXICAL_BINDING; } // Mark symbol as needing declaration. Access before declaration will throw a ReferenceError. if (symbol.isBlockScoped() && symbol.isScope()) { flags |= Property.NEEDS_DECLARATION; } if (dualFields) { flags |= Property.DUAL_FIELDS; } return flags; }
Example 7
Source File: MapCreator.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
/** * Compute property flags given local state of a field. May be overridden and extended, * * @param symbol symbol to check * @param hasArguments does the created object have an "arguments" property * * @return flags to use for fields */ static int getPropertyFlags(final Symbol symbol, final boolean hasArguments, final boolean evalCode, final boolean dualFields) { int flags = 0; if (symbol.isParam()) { flags |= Property.IS_PARAMETER; } if (hasArguments) { flags |= Property.HAS_ARGUMENTS; } // See ECMA 5.1 10.5 Declaration Binding Instantiation. // Step 2 If code is eval code, then let configurableBindings // be true else let configurableBindings be false. // We have to make vars, functions declared in 'eval' code // configurable. But vars, functions from any other code is // not configurable. if (symbol.isScope() && !evalCode) { flags |= Property.NOT_CONFIGURABLE; } if (symbol.isFunctionDeclaration()) { flags |= Property.IS_FUNCTION_DECLARATION; } if (symbol.isConst()) { flags |= Property.NOT_WRITABLE; } if (symbol.isBlockScoped()) { flags |= Property.IS_LEXICAL_BINDING; } // Mark symbol as needing declaration. Access before declaration will throw a ReferenceError. if (symbol.isBlockScoped() && symbol.isScope()) { flags |= Property.NEEDS_DECLARATION; } if (dualFields) { flags |= Property.DUAL_FIELDS; } return flags; }
Example 8
Source File: MapCreator.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Compute property flags given local state of a field. May be overridden and extended, * * @param symbol symbol to check * @param hasArguments does the created object have an "arguments" property * * @return flags to use for fields */ static int getPropertyFlags(final Symbol symbol, final boolean hasArguments, final boolean evalCode, final boolean dualFields) { int flags = 0; if (symbol.isParam()) { flags |= Property.IS_PARAMETER; } if (hasArguments) { flags |= Property.HAS_ARGUMENTS; } // See ECMA 5.1 10.5 Declaration Binding Instantiation. // Step 2 If code is eval code, then let configurableBindings // be true else let configurableBindings be false. // We have to make vars, functions declared in 'eval' code // configurable. But vars, functions from any other code is // not configurable. if (symbol.isScope() && !evalCode) { flags |= Property.NOT_CONFIGURABLE; } if (symbol.isFunctionDeclaration()) { flags |= Property.IS_FUNCTION_DECLARATION; } if (symbol.isConst()) { flags |= Property.NOT_WRITABLE; } if (symbol.isBlockScoped()) { flags |= Property.IS_LEXICAL_BINDING; } // Mark symbol as needing declaration. Access before declaration will throw a ReferenceError. if (symbol.isBlockScoped() && symbol.isScope()) { flags |= Property.NEEDS_DECLARATION; } if (dualFields) { flags |= Property.DUAL_FIELDS; } return flags; }
Example 9
Source File: MapCreator.java From hottub with GNU General Public License v2.0 | 4 votes |
/** * Compute property flags given local state of a field. May be overridden and extended, * * @param symbol symbol to check * @param hasArguments does the created object have an "arguments" property * * @return flags to use for fields */ static int getPropertyFlags(final Symbol symbol, final boolean hasArguments, final boolean evalCode, final boolean dualFields) { int flags = 0; if (symbol.isParam()) { flags |= Property.IS_PARAMETER; } if (hasArguments) { flags |= Property.HAS_ARGUMENTS; } // See ECMA 5.1 10.5 Declaration Binding Instantiation. // Step 2 If code is eval code, then let configurableBindings // be true else let configurableBindings be false. // We have to make vars, functions declared in 'eval' code // configurable. But vars, functions from any other code is // not configurable. if (symbol.isScope() && !evalCode) { flags |= Property.NOT_CONFIGURABLE; } if (symbol.isFunctionDeclaration()) { flags |= Property.IS_FUNCTION_DECLARATION; } if (symbol.isConst()) { flags |= Property.NOT_WRITABLE; } if (symbol.isBlockScoped()) { flags |= Property.IS_LEXICAL_BINDING; } // Mark symbol as needing declaration. Access before declaration will throw a ReferenceError. if (symbol.isBlockScoped() && symbol.isScope()) { flags |= Property.NEEDS_DECLARATION; } if (dualFields) { flags |= Property.DUAL_FIELDS; } return flags; }
Example 10
Source File: MapCreator.java From jdk8u_nashorn with GNU General Public License v2.0 | 4 votes |
/** * Compute property flags given local state of a field. May be overridden and extended, * * @param symbol symbol to check * @param hasArguments does the created object have an "arguments" property * * @return flags to use for fields */ static int getPropertyFlags(final Symbol symbol, final boolean hasArguments, final boolean evalCode, final boolean dualFields) { int flags = 0; if (symbol.isParam()) { flags |= Property.IS_PARAMETER; } if (hasArguments) { flags |= Property.HAS_ARGUMENTS; } // See ECMA 5.1 10.5 Declaration Binding Instantiation. // Step 2 If code is eval code, then let configurableBindings // be true else let configurableBindings be false. // We have to make vars, functions declared in 'eval' code // configurable. But vars, functions from any other code is // not configurable. if (symbol.isScope() && !evalCode) { flags |= Property.NOT_CONFIGURABLE; } if (symbol.isFunctionDeclaration()) { flags |= Property.IS_FUNCTION_DECLARATION; } if (symbol.isConst()) { flags |= Property.NOT_WRITABLE; } if (symbol.isBlockScoped()) { flags |= Property.IS_LEXICAL_BINDING; } // Mark symbol as needing declaration. Access before declaration will throw a ReferenceError. if (symbol.isBlockScoped() && symbol.isScope()) { flags |= Property.NEEDS_DECLARATION; } if (dualFields) { flags |= Property.DUAL_FIELDS; } return flags; }