dist/regular/strict/dejavu.js
function protectInstance(instance) {
        var key;

        obfuscateProperty(instance, cacheKeyword, { properties: {}, methods: {} });
        obfuscateProperty(instance, redefinedCacheKeyword, { properties: {}, methods: {} }); // This is for the inspect

        for (key in instance.$static[$class].methods) {
            protectMethod(key, instance.$static[$class].methods[key], instance);
        }

        for (key in instance.$static[$class].properties) {
            protectProperty(key, instance.$static[$class].properties[key], instance);
        }
    }
function protectInstance(instance) {
        var key;

        obfuscateProperty(instance, cacheKeyword, { properties: {}, methods: {} });
        obfuscateProperty(instance, redefinedCacheKeyword, { properties: {}, methods: {} }); // This is for the inspect

        for (key in instance.$static[$class].methods) {
            protectMethod(key, instance.$static[$class].methods[key], instance);
        }

        for (key in instance.$static[$class].properties) {
            protectProperty(key, instance.$static[$class].properties[key], instance);
        }
    }
function protectInstance ( instance ) { var key ; obfuscateProperty ( instance , cacheKeyword , { properties : { } , methods : { } } ) ; obfuscateProperty ( instance , redefinedCacheKeyword , { properties : { } , methods : { } } ) ; // This is for the inspect for ( key in instance . $static [ $class ] . methods ) { protectMethod ( key , instance . $static [ $class ] . methods [ key ] , instance ) ; } for ( key in instance . $static [ $class ] . properties ) { protectProperty ( key , instance . $static [ $class ] . properties [ key ] , instance ) ; } }
Protects an instance.

All its methods and properties will be secured according to their visibility.

@param {Object} instance The instance to be protected
Protects an instance .