Package org.apache.flex.compiler.definitions.references

This package contains interfaces related to inter-definition references.

See: Description

Package org.apache.flex.compiler.definitions.references Description

This package contains interfaces related to inter-definition references.

Definitions typically refer to other definitions indirectly, by name, using an IReference. This indirection scheme allows definitions to be shared across projects. This is important because there are many definitions in the core SWCs that many projects use -- such as the Flash, AIR, and Flex SWCs -- and it would waste memory to keep of copy of all of them in each project.

For example, consider the UIComponent class in framework.swc, which extends Sprite, and consider two Flex projects, one of which links against playerglogal.swc and the other links against airglobal.swc. In one project, the superclass of UIComponent is the flash.display.Sprite class in playerglobal.swc; in the other, it is the flash.display.Sprite class in airglobal.swc. (They could be different, even though they have the same name.) Therefore, if we want to have a project-independent class definition for UIComponent, it cannot refer directly to the definition for its superclass. Instead, it stores an IReference to flash.display.Sprite, which gets resolved differently in the two projects.

In some cases, is definition can keep direct references to other definitions. For example, a function definition keeps direct references to the definitions for its parameters, and a class definition keeps direct references to the definitions for its events, styles, and effects.

Copyright © 2016 The Apache Software Foundation. All rights reserved.