All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tangosol.dev.compiler.Context Maven / Gradle / Ivy

/*
 * Copyright (c) 2000, 2020, Oracle and/or its affiliates.
 *
 * Licensed under the Universal Permissive License v 1.0 as shown at
 * http://oss.oracle.com/licenses/upl.
 */

package com.tangosol.dev.compiler;


import com.tangosol.dev.assembler.CodeAttribute;
import com.tangosol.dev.assembler.Field;
import com.tangosol.dev.assembler.FieldConstant;
import com.tangosol.dev.assembler.Method;
import com.tangosol.dev.assembler.MethodConstant;

import com.tangosol.dev.component.DataType;

import java.util.Enumeration;


/**
* This interface represents the context within which a compiler is
* operating.  A context is used to resolve names which cannot be
* determined by the compiler itself.
*
* @version 1.00, 09/14/98
* @author  Cameron Purdy
*/
public interface Context
    {
    // ----- environment ----------------------------------------------------

    /**
    * Generally speaking, compile types are "debug" and "non-debug".  More
    * specific optimizations can be toggled in a compiler-specific manner
    * by providing compiler-specific options.
    *
    * @return  true if the compile type is "debug"
    */
    boolean isDebug();

    /**
    * The compiler can be used to check the script for syntax and semantic
    * errors without producing code.
    *
    * @return  true if the compiler is only being used to check the script
    */
    boolean isCheck();

    /**
    * Get a compiler-specific option.
    *
    * @param sOption   the name of a compiler-specific option in the form
    *                  .




© 2015 - 2024 Weber Informatics LLC | Privacy Policy