| /* |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| |
| package org.apache.flex.compiler.constants; |
| |
| import com.google.common.collect.ImmutableSet; |
| |
| /** |
| * AS3 types and constants found within the AS3 language, such as constants for |
| * Object, etc. |
| */ |
| public interface IASLanguageConstants |
| { |
| // ActionScript data types |
| static final String ApplicationDomain = "flash.system.ApplicationDomain"; |
| static final String Array = "Array"; |
| static final String Boolean = "Boolean"; |
| static final String Capabilities = "flash.system.Capabilities"; |
| static final String Class = "Class"; |
| static final String Date = "Date"; |
| static final String Dictionary = "flash.utils.Dictionary"; |
| static final String Error = "Error"; |
| /** {@code [Exclude(kind="style" name="foo")]} */ |
| static final String EXCLUDE_META_TAG = "Exclude"; |
| static final String EXCLUDE_META_TAG_KIND = "kind"; |
| static final String EXCLUDE_META_TAG_NAME = "name"; |
| static final String EXCLUDE_META_TAG_STYLE = "style"; |
| static final String Event = "flash.events.Event"; |
| static final String EventDispatcher = "flash.events.EventDispatcher"; |
| static final String Function = "Function"; |
| static final String getClassByAlias = "flash.net.getClassByAlias"; |
| static final String getDefinitionByName = "flash.utils.getDefinitionByName"; |
| static final String IEventDispatcher = "flash.events.IEventDispatcher"; |
| static final String _int = "int"; |
| static final String Namespace = "Namespace"; |
| static final String Number = "Number"; |
| static final String Null = "Null"; |
| static final String Object = "Object"; |
| static final String QName = "QName"; |
| static final String registerClassAlias = "flash.net.registerClassAlias"; |
| static final String Sprite = "flash.display.Sprite"; |
| static final String String = "String"; |
| static final String uint = "uint"; |
| static final String Undefined = "Undefined"; |
| static final String Vector = "Vector"; |
| static final String Vector_double = "Vector$double"; |
| static final String Vector_int = "Vector$int"; |
| static final String Vector_object = "Vector$object"; |
| static final String Vector_uint = "Vector$uint"; |
| static final String XML = "XML"; |
| static final String XMLList = "XMLList"; |
| static final String RegExp = "RegExp"; |
| |
| static final String void_ = "void"; |
| static final String ANY_TYPE = "*"; |
| static final String REST = "..."; |
| static final String REST_IDENTIFIER = "rest"; |
| static final String NULL = "null"; |
| static final String UNDEFINED = "undefined"; |
| static final String arguments = "arguments"; |
| |
| static final String Vector_impl_package = "__AS3__.vec"; |
| static final String Vector_qname = (Vector_impl_package + "." + Vector).intern(); |
| |
| static final String TRUE = "true"; |
| static final String FALSE = "false"; |
| |
| /** |
| * Default name always available for conditional compilation |
| */ |
| static final String DEFAULT_CONFIG_NAME = "CONFIG"; |
| |
| /** |
| * An enumeration of core built-in types. |
| */ |
| static enum BuiltinType |
| { |
| ANY_TYPE(IASLanguageConstants.ANY_TYPE), |
| ARRAY(IASLanguageConstants.Array), |
| BOOLEAN(IASLanguageConstants.Boolean), |
| CLASS(IASLanguageConstants.Class), |
| FUNCTION(IASLanguageConstants.Function), |
| INT(IASLanguageConstants._int), |
| NAMESPACE(IASLanguageConstants.Namespace), |
| NULL(IASLanguageConstants.Null), |
| NUMBER(IASLanguageConstants.Number), |
| OBJECT(IASLanguageConstants.Object), |
| QNAME(IASLanguageConstants.QName), |
| REGEXP(IASLanguageConstants.RegExp), |
| STRING(IASLanguageConstants.String), |
| |
| /** |
| * This is a built-in "pseudo type" : the "undefined class" |
| * It is NOT the value whose qname is "undefined". |
| * |
| * Having a fake build int type to represent a class that we can't resolve |
| * may not have been the best choice here (according to Chris B). |
| * |
| * Here we are explicitly not using the normal convention of all upper case for ENUM names, |
| * in order to try and minimize confusion with our two different undefined definitions. |
| */ |
| Undefined(IASLanguageConstants.Undefined), |
| UINT(IASLanguageConstants.uint), |
| VECTOR(IASLanguageConstants.Vector), |
| VOID(IASLanguageConstants.void_), |
| XML(IASLanguageConstants.XML), |
| XMLLIST(IASLanguageConstants.XMLList); |
| |
| private BuiltinType(String name) |
| { |
| this.name = name; |
| } |
| |
| private final String name; |
| |
| public String getName() |
| { |
| return name; |
| } |
| } |
| |
| /** |
| * Dynamic type names. |
| */ |
| static final ImmutableSet<String> DYNAMIC_TYPES_SET = |
| ImmutableSet.of(Array, Class, Object, Function, ANY_TYPE); |
| |
| /** |
| * Name of the core AS3 language SWC for the web |
| */ |
| static final String PLAYERGLOBAL_SWC = "playerglobal.swc"; |
| |
| /** |
| * Name of the core AS3 language SWC for the desktop |
| */ |
| static final String AIRGLOBAL_SWC = "airglobal.swc"; |
| } |