Package com.sun.tools.corba.ee.idl
Class Token
java.lang.Object
com.sun.tools.corba.ee.idl.Token
Class Token represents a lexeme appearing within an IDL source. Every
Token has a type. Depending on its type and on the supported version
of IDL, a Token will have other associated attributes, such as a name
(identifier, e.g.), and whether it is escaped, deprecated, or is a type
that is known to be in a future version of IDL.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) boolean
True iff this token is an identifier that is known to be a keyword in another version of CORBA or matches a keyword in letter, but not case.(package private) static final int
(package private) static final int
(package private) Comment
Source comment associated with this token.(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
private static final int
private static final int
private static final int
private static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final String[]
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
private static final int
private static final int
private static final int
private static final int
(package private) static final int
private static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) boolean
True iff this token is deprecated.(package private) boolean
True iff this token is an escaped identifier.(package private) boolean
(package private) static final String[]
private static final int
private static final int
private static final int
private static final int
(package private) static final int
private static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final String[]
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) String
Lexeme extracted from the source for this token.(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final String[]
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final String[]
(package private) static final int
(package private) static final int
(package private) static final int
(package private) int
Code identifying the lexical class to which this token belongs, e.g., Keyword, Identifier, ...(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Accessor.(package private) boolean
equals
(int type) Determine whether the this token is of a supplied type.(package private) boolean
Determine whether this token equals a supplied token.(package private) boolean
Determine whether this identifier has the supplied name.private static int
getLastKeyword
(int level) private static int
getLevel
(float cLevel) boolean
Accessor.(package private) boolean
Determine whether this token is a preprocessor directive.boolean
Accessor.(package private) boolean
Determine whether this token is a keyword.boolean
isWide()
static Token
makeKeywordToken
(String string, float corbaLevel, boolean escapedOK, boolean[] collision) Create a keyword token from a string.toString()
Get the String representation of this Token.(package private) static String
toString
(int type) Get the String representation of a supplied Token type.
-
Field Details
-
Any
static final int Any- See Also:
-
Attribute
static final int Attribute- See Also:
-
Boolean
static final int Boolean- See Also:
-
Case
static final int Case- See Also:
-
Char
static final int Char- See Also:
-
Const
static final int Const- See Also:
-
Context
static final int Context- See Also:
-
Default
static final int Default- See Also:
-
Double
static final int Double- See Also:
-
Enum
static final int Enum- See Also:
-
Exception
static final int Exception- See Also:
-
FALSE
static final int FALSE- See Also:
-
Fixed
static final int Fixed- See Also:
-
Float
static final int Float- See Also:
-
In
static final int In- See Also:
-
Inout
static final int Inout- See Also:
-
Interface
static final int Interface- See Also:
-
Long
static final int Long- See Also:
-
Module
static final int Module- See Also:
-
Native
static final int Native- See Also:
-
Object
static final int Object- See Also:
-
Octet
static final int Octet- See Also:
-
Oneway
static final int Oneway- See Also:
-
Out
static final int Out- See Also:
-
Raises
static final int Raises- See Also:
-
Readonly
static final int Readonly- See Also:
-
Sequence
static final int Sequence- See Also:
-
Short
static final int Short- See Also:
-
String
static final int String- See Also:
-
Struct
static final int Struct- See Also:
-
Switch
static final int Switch- See Also:
-
TRUE
static final int TRUE- See Also:
-
Typedef
static final int Typedef- See Also:
-
Unsigned
static final int Unsigned- See Also:
-
Union
static final int Union- See Also:
-
Void
static final int Void- See Also:
-
Wchar
static final int Wchar- See Also:
-
Wstring
static final int Wstring- See Also:
-
Init
static final int Init- See Also:
-
Abstract
static final int Abstract- See Also:
-
Custom
static final int Custom- See Also:
-
Private
static final int Private- See Also:
-
Public
static final int Public- See Also:
-
Supports
static final int Supports- See Also:
-
Truncatable
static final int Truncatable- See Also:
-
ValueBase
static final int ValueBase- See Also:
-
Valuetype
static final int Valuetype- See Also:
-
Factory
static final int Factory- See Also:
-
Component
static final int Component- See Also:
-
Consumes
static final int Consumes- See Also:
-
Emits
static final int Emits- See Also:
-
Finder
static final int Finder- See Also:
-
GetRaises
static final int GetRaises- See Also:
-
Home
static final int Home- See Also:
-
Import
static final int Import- See Also:
-
Local
static final int Local- See Also:
-
Manages
static final int Manages- See Also:
-
Multiple
static final int Multiple- See Also:
-
PrimaryKey
static final int PrimaryKey- See Also:
-
Provides
static final int Provides- See Also:
-
Publishes
static final int Publishes- See Also:
-
SetRaises
static final int SetRaises- See Also:
-
TypeId
static final int TypeId- See Also:
-
TypePrefix
static final int TypePrefix- See Also:
-
Uses
static final int Uses- See Also:
-
Identifier
static final int Identifier- See Also:
-
MacroIdentifier
static final int MacroIdentifier- See Also:
-
Semicolon
static final int Semicolon- See Also:
-
LeftBrace
static final int LeftBrace- See Also:
-
RightBrace
static final int RightBrace- See Also:
-
Colon
static final int Colon- See Also:
-
Comma
static final int Comma- See Also:
-
Equal
static final int Equal- See Also:
-
Plus
static final int Plus- See Also:
-
Minus
static final int Minus- See Also:
-
LeftParen
static final int LeftParen- See Also:
-
RightParen
static final int RightParen- See Also:
-
LessThan
static final int LessThan- See Also:
-
GreaterThan
static final int GreaterThan- See Also:
-
LeftBracket
static final int LeftBracket- See Also:
-
RightBracket
static final int RightBracket- See Also:
-
Apostrophe
static final int Apostrophe- See Also:
-
Quote
static final int Quote- See Also:
-
Backslash
static final int Backslash- See Also:
-
Bar
static final int Bar- See Also:
-
Carat
static final int Carat- See Also:
-
Ampersand
static final int Ampersand- See Also:
-
Star
static final int Star- See Also:
-
Slash
static final int Slash- See Also:
-
Percent
static final int Percent- See Also:
-
Tilde
static final int Tilde- See Also:
-
DoubleColon
static final int DoubleColon- See Also:
-
ShiftLeft
static final int ShiftLeft- See Also:
-
ShiftRight
static final int ShiftRight- See Also:
-
Period
static final int Period- See Also:
-
Hash
static final int Hash- See Also:
-
Exclamation
static final int Exclamation- See Also:
-
DoubleEqual
static final int DoubleEqual- See Also:
-
NotEqual
static final int NotEqual- See Also:
-
GreaterEqual
static final int GreaterEqual- See Also:
-
LessEqual
static final int LessEqual- See Also:
-
DoubleBar
static final int DoubleBar- See Also:
-
DoubleAmpersand
static final int DoubleAmpersand- See Also:
-
BooleanLiteral
static final int BooleanLiteral- See Also:
-
CharacterLiteral
static final int CharacterLiteral- See Also:
-
IntegerLiteral
static final int IntegerLiteral- See Also:
-
FloatingPointLiteral
static final int FloatingPointLiteral- See Also:
-
StringLiteral
static final int StringLiteral- See Also:
-
Literal
static final int Literal- See Also:
-
Define
static final int Define- See Also:
-
Undef
static final int Undef- See Also:
-
If
static final int If- See Also:
-
Ifdef
static final int Ifdef- See Also:
-
Ifndef
static final int Ifndef- See Also:
-
Else
static final int Else- See Also:
-
Elif
static final int Elif- See Also:
-
Include
static final int Include- See Also:
-
Endif
static final int Endif- See Also:
-
Line
static final int Line- See Also:
-
Error
static final int Error- See Also:
-
Pragma
static final int Pragma- See Also:
-
Null
static final int Null- See Also:
-
Unknown
static final int Unknown- See Also:
-
Defined
static final int Defined- See Also:
-
EOF
static final int EOF- See Also:
-
Keywords
-
FirstKeyword
private static final int FirstKeyword- See Also:
-
LastKeyword
private static final int LastKeyword- See Also:
-
First22Keyword
private static final int First22Keyword- See Also:
-
Last22Keyword
private static final int Last22Keyword- See Also:
-
First23Keyword
private static final int First23Keyword- See Also:
-
Last23Keyword
private static final int Last23Keyword- See Also:
-
First24rtfKeyword
private static final int First24rtfKeyword- See Also:
-
Last24rtfKeyword
private static final int Last24rtfKeyword- See Also:
-
First30Keyword
private static final int First30Keyword- See Also:
-
Last30Keyword
private static final int Last30Keyword- See Also:
-
CORBA_LEVEL_22
private static final int CORBA_LEVEL_22- See Also:
-
CORBA_LEVEL_23
private static final int CORBA_LEVEL_23- See Also:
-
CORBA_LEVEL_24RTF
private static final int CORBA_LEVEL_24RTF- See Also:
-
CORBA_LEVEL_30
private static final int CORBA_LEVEL_30- See Also:
-
FirstSymbol
static final int FirstSymbol- See Also:
-
LastSymbol
static final int LastSymbol- See Also:
-
Symbols
-
FirstLiteral
static final int FirstLiteral- See Also:
-
LastLiteral
static final int LastLiteral- See Also:
-
Literals
-
FirstDirective
static final int FirstDirective- See Also:
-
LastDirective
static final int LastDirective- See Also:
-
Directives
-
FirstSpecial
static final int FirstSpecial- See Also:
-
LastSpecial
static final int LastSpecial- See Also:
-
Special
-
type
int typeCode identifying the lexical class to which this token belongs, e.g., Keyword, Identifier, ... -
name
String nameLexeme extracted from the source for this token. -
comment
Comment commentSource comment associated with this token. -
isEscaped
boolean isEscapedTrue iff this token is an escaped identifier. -
collidesWithKeyword
boolean collidesWithKeywordTrue iff this token is an identifier that is known to be a keyword in another version of CORBA or matches a keyword in letter, but not case. -
isDeprecated
boolean isDeprecatedTrue iff this token is deprecated. -
isWide
boolean isWide
-
-
Constructor Details
-
Token
Token(int tokenType) Constructor. -
Token
Token(int tokenType, boolean deprecated) Constructor. -
Token
Token(int tokenType, String tokenName) Constructor. -
Token
Token(int tokenType, String tokenName, boolean isWide) Constructor. -
Token
Token(int tokenType, String tokenName, boolean escaped, boolean collision, boolean deprecated) Constructor.
-
-
Method Details
-
isKeyword
boolean isKeyword()Determine whether this token is a keyword.- Returns:
- true iff this token is a keyword.
-
getLevel
private static int getLevel(float cLevel) -
getLastKeyword
private static int getLastKeyword(int level) -
makeKeywordToken
public static Token makeKeywordToken(String string, float corbaLevel, boolean escapedOK, boolean[] collision) Create a keyword token from a string. Determines whether the string is an IDL keyword based on the corbaLevel. Strings that are keywords at higher CORBA levels than the corbaLevel argument create identifier tokens that are marked as "collidesWithKeyword", unless escapedOK is FALSE, which is the case only when preprocessing is taking place. In the case of the "init" keyword, which was only defined in CORBA 2.3, init is marked deprecated in CORBA 2.3 since it is not supported in higher levels.- Parameters:
String
- string The string we are converting to a token.float
- corbaLevel The CORBA level, currently in the interval [2.2, 3.0].boolean
- escapedOK Flag set true if _ is used to escape an IDL keyword for use as an identifier.boolean
- [] collidesWithKeyword is an array containing one value: a flag representing whether this string is an identifier that collides with a keyword. This is set by this method.
-
isDirective
boolean isDirective()Determine whether this token is a preprocessor directive.- Returns:
- true iff this token is a preprocessor directive.
-
toString
Get the String representation of this Token. -
toString
Get the String representation of a supplied Token type.- Returns:
- A String containing the name of the supplied Token type.
-
equals
Determine whether this token equals a supplied token.- Returns:
- true iff the types and names of this and the supplied Token are equal.
-
equals
boolean equals(int type) Determine whether the this token is of a supplied type.- Returns:
- true iff the type of this Token equals that supplied.
-
equals
Determine whether this identifier has the supplied name.- Returns:
- true iff this Token is an identifier having the supplied name.
-
isEscaped
public boolean isEscaped()Accessor.- Returns:
- true iff this token is an escaped identifier.
-
collidesWithKeyword
public boolean collidesWithKeyword()Accessor.- Returns:
- true iff this token is an identifier having a name matching a keyword in a version of CORBA greater than the specified CORBA level, or iff it matches a keyword in letter, but note case.
-
isDeprecated
public boolean isDeprecated()Accessor.- Returns:
- true iff this token is a deprecated lexeme or lexical type with respect to the specified CORBA level.
-
isWide
public boolean isWide()
-