<commit_before>/**
Copyright (c) 2012-2014 Microsoft Corporation
   
Module Name:

    Z3Object.java

Abstract:

Author:

    @author <NAME> (cwinter) 2012-03-15

Notes:
    
**/ 

package com.microsoft.z3;

/**
 * Internal base class for interfacing with native Z3 objects. Should not be
 * used externally.
 **/
public class Z3Object extends IDisposable
{
    /**
     * Finalizer.
     * @throws Throwable 
     **/
    protected void finalize() throws Throwable
    {
        try {
            dispose();            
        }
        catch (Throwable t) {
            throw t;
        }
        finally {
            super.finalize();
        }
    }

    /**
     * Disposes of the underlying native Z3 object.
     **/
    public void dispose()
    {
        if (m_n_obj != 0)
        {
            decRef(m_n_obj);
            m_n_obj = 0;
        }

        if (m_ctx != null)
        {            
            if (m_ctx.m_refCount.decrementAndGet() == 0)
                m_ctx.dispose();
            m_ctx = null;
        }
    }
<commit_msg>catch/throw is redundant.<commit_after>/**
Copyright (c) 2012-2014 Microsoft Corporation
   
Module Name:

    Z3Object.java

Abstract:

Author:

    @author <NAME> (cwinter) 2012-03-15

Notes:
    
**/ 

package com.microsoft.z3;

/**
 * Internal base class for interfacing with native Z3 objects. Should not be
 * used externally.
 **/
public class Z3Object extends IDisposable
{
    /**
     * Finalizer.
     * @throws Throwable 
     **/
    protected void finalize() throws Throwable
    {
        try {
            dispose();            
        } finally {
            super.finalize();
        }
    }

    /**
     * Disposes of the underlying native Z3 object.
     **/
    public void dispose()
    {
        if (m_n_obj != 0)
        {
            decRef(m_n_obj);
            m_n_obj = 0;
        }

        if (m_ctx != null)
        {            
            if (m_ctx.m_refCount.decrementAndGet() == 0)
                m_ctx.dispose();
            m_ctx = null;
        }
    }

{'fraction_non_alphanumeric': 0.10698583292623351, 'fraction_numerical': 0.02344894968246214, 'mean_word_length': 1.4265402843601895, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2457973', 'n_tokens_mistral': 690, 'n_tokens_neox': 632, 'n_words': 155}