The goog.reflect Namespace

.canAccessProperty(obj, prop)

Check if a property can be accessed without throwing an exception.

obj {Object}
The owner of the property.
prop {string}
The property name.
returns {boolean}
Whether the property is accessible. Will also return true if obj is null.

.object(type, object)

Syntax for object literal casts.

type {!Function}
Type to cast to.
object {Object}
Object literal to cast.
returns {Object}
The object literal.
@see
http://go/jscompiler-renaming
@see
http://code.google.com/p/closure-compiler/wiki/ ExperimentalTypeBasedPropertyRenaming Use this if you have an object literal whose keys need to have the same names as the properties of some class even after they are renamed by the compiler.

.sinkValue() {!Function}

To assert to the compiler that an operation is needed when it would otherwise be stripped. For example: // Force a layout goog.reflect.sinkValue(dialog.offsetHeight);