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
* .