// 
// Decompiled by Procyon v0.6.0
// 

package com.google.protobuf;

@CheckReturnValue
final class ExtensionSchemas
{
    private static final ExtensionSchema<?> LITE_SCHEMA;
    private static final ExtensionSchema<?> FULL_SCHEMA;
    
    private static ExtensionSchema<?> loadSchemaForFullRuntime() {
        if (Android.assumeLiteRuntime) {
            return null;
        }
        try {
            final Class<?> clazz = Class.forName("com.google.protobuf.ExtensionSchemaFull");
            return (ExtensionSchema)clazz.getDeclaredConstructor((Class<?>[])new Class[0]).newInstance(new Object[0]);
        }
        catch (final Exception e) {
            return null;
        }
    }
    
    static ExtensionSchema<?> lite() {
        return ExtensionSchemas.LITE_SCHEMA;
    }
    
    static ExtensionSchema<?> full() {
        if (ExtensionSchemas.FULL_SCHEMA == null) {
            throw new IllegalStateException("Protobuf runtime is not correctly loaded.");
        }
        return ExtensionSchemas.FULL_SCHEMA;
    }
    
    private ExtensionSchemas() {
    }
    
    static {
        LITE_SCHEMA = new ExtensionSchemaLite();
        FULL_SCHEMA = loadSchemaForFullRuntime();
    }
}
