|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.m2m.atl.adt.ui.text.AtlIndenter
public class AtlIndenter
Uses the AtlHeuristicScanner
to get the indentation level for a certain position in a document.
An instance holds some internal position in the document and is therefore not threadsafe.
Constructor Summary | |
---|---|
AtlIndenter(org.eclipse.jface.text.IDocument document,
AtlHeuristicScanner scanner)
Creates a new instance. |
Method Summary | |
---|---|
java.lang.StringBuffer |
computeIndentation(int offset)
Computes the indentation at offset . |
java.lang.StringBuffer |
computeIndentation(int offset,
boolean assumeOpeningBrace)
Computes the indentation at offset . |
int |
findReferencePosition(int offset)
Returns the reference position regarding to indentation for offset , or
NOT_FOUND . |
int |
findReferencePosition(int offset,
boolean danglingElse,
boolean matchBrace,
boolean matchParen,
boolean matchCase)
Returns the reference position regarding to indentation for position , or
NOT_FOUND . |
int |
findReferencePosition(int offset,
int nextToken)
Returns the reference position regarding to indentation for position , or
NOT_FOUND . |
java.lang.StringBuffer |
getReferenceIndentation(int offset)
Computes the indentation at the reference point of position . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AtlIndenter(org.eclipse.jface.text.IDocument document, AtlHeuristicScanner scanner)
document
- the document to scanscanner
- the AtlHeuristicScanner
to be used for scanning the document. It must be installed
on the same IDocument
.Method Detail |
---|
public java.lang.StringBuffer computeIndentation(int offset)
offset
.
offset
- the offset in the document
null
if it cannot be determinedpublic java.lang.StringBuffer computeIndentation(int offset, boolean assumeOpeningBrace)
offset
.
offset
- the offset in the documentassumeOpeningBrace
- true
if an opening brace should be assumed
null
if it cannot be determinedpublic int findReferencePosition(int offset)
offset
, or
NOT_FOUND
. This method calls findReferencePosition(offset, nextChar)
where nextChar
is the next character after
offset
.
offset
- the offset for which the reference is computed
offset
should be indented, or
AtlHeuristicScanner.NOT_FOUND
public int findReferencePosition(int offset, boolean danglingElse, boolean matchBrace, boolean matchParen, boolean matchCase)
position
, or
NOT_FOUND
.fIndent
will contain the relative indentation (in indentation
units, not characters) after the call. If there is a special alignment (e.g. for a method declaration
where parameters should be aligned), fAlign
will contain the absolute position of the
alignment reference in fDocument
, otherwise fAlign
is set to
AtlHeuristicScanner.NOT_FOUND
.
offset
- the offset for which the reference is computeddanglingElse
- whether a dangling else should be assumed at position
matchBrace
- whether the position of the matching brace should be returned instead of doing code analysismatchParen
- whether the position of the matching parenthesis should be returned instead of doing code
analysismatchCase
- whether the position of a switch statement reference should be returned (either an earlier
case statement or the switch block brace)
position
should be indented, or
AtlHeuristicScanner.NOT_FOUND
public int findReferencePosition(int offset, int nextToken)
position
, or
NOT_FOUND
.
If peekNextChar
is true
, the next token after offset
is read and
taken into account when computing the indentation. Currently, if the next token is the first token on
the line (i.e. only preceded by whitespace), the following tokens are specially handled:
switch
labels are indented relative to the switch blockelse
keyword is aligned with its if
, anything else is aligned
normally (i.e. with the base of any introducing statements).offset
, the indentation is the same as for
an else
keyword
offset
- the offset for which the reference is computednextToken
- the next token to assume in the document
offset
should be indented, or
AtlHeuristicScanner.NOT_FOUND
public java.lang.StringBuffer getReferenceIndentation(int offset)
position
.
offset
- the offset in the document
offset
resides, or null
if it cannot be determined
|
Copyright 2007 IBM Corporation and others. All Rights Reserved. |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |