public class TreeAppendable extends java.lang.Object implements ITreeAppendable, org.eclipse.xtext.util.IAcceptor<java.lang.String>, java.lang.CharSequence
| Modifier and Type | Class and Description |
|---|---|
static class |
TreeAppendable.Visitor
A
visitor can be used
to manipulate an existing TreeAppendable or to create a completely new one recursively. |
| Modifier | Constructor and Description |
|---|---|
|
TreeAppendable(ImportManager importManager,
org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
IJvmModelAssociations jvmModelAssociations,
org.eclipse.emf.ecore.EObject source,
java.lang.String indentation,
java.lang.String lineSeparator) |
protected |
TreeAppendable(SharedAppendableState state,
org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
IJvmModelAssociations jvmModelAssociations,
org.eclipse.emf.ecore.EObject source) |
protected |
TreeAppendable(SharedAppendableState state,
org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
IJvmModelAssociations jvmModelAssociations,
java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> sourceLocations,
boolean useForDebugging) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(java.lang.String text) |
TreeAppendable |
acceptVisitor(TreeAppendable.Visitor visitor) |
ITreeAppendable |
append(java.lang.CharSequence content)
Appends the specified character sequence to this ITreeAppendable.
|
ITreeAppendable |
append(java.lang.Class<?> type) |
TreeAppendable |
append(org.eclipse.xtext.common.types.JvmType type) |
ITreeAppendable |
append(LightweightTypeReference typeRef) |
protected void |
appendIndented(java.lang.String text) |
protected ITreeAppendable |
appendTreeAppendable(ITreeAppendable other) |
TreeAppendable |
appendUnsafe(java.lang.String string) |
char |
charAt(int index) |
protected void |
closeLastChild() |
void |
closeScope() |
protected static java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> |
createAllLocationData(org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
IJvmModelAssociations jvmModelAssociations,
org.eclipse.emf.ecore.EObject object,
org.eclipse.xtext.resource.ILocationInFileProviderExtension.RegionDescription query,
boolean skipEmpty) |
protected TreeAppendable |
createChild(SharedAppendableState state,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
IJvmModelAssociations jvmModelAssociations,
java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> newData,
boolean useForDebugging) |
protected LightweightTypeReferenceSerializer |
createLightweightTypeReferenceSerializer() |
protected static org.eclipse.xtext.generator.trace.ILocationData |
createLocationData(org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.emf.ecore.EObject object,
org.eclipse.xtext.util.ITextRegionWithLineInformation textRegion) |
protected static org.eclipse.xtext.generator.trace.ILocationData |
createLocationData(org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
org.eclipse.emf.ecore.EObject object,
org.eclipse.xtext.resource.ILocationInFileProviderExtension.RegionDescription query) |
java.lang.String |
declareSyntheticVariable(java.lang.Object key,
java.lang.String proposedName)
Declares a synthetic variable, where the name is not used in the current or any parent scope
except by other synthetic variables.
|
java.lang.String |
declareUniqueNameVariable(java.lang.Object key,
java.lang.String proposedName)
Declares a variable with unique name, which is not used in the current or any parent scope.
|
java.lang.String |
declareVariable(java.lang.Object key,
java.lang.String proposedName) |
TreeAppendable |
decreaseIndentation() |
protected void |
doGetContent(java.lang.StringBuilder result) |
void |
dump() |
protected void |
dump(java.lang.String indent) |
ErrorTreeAppendable |
errorChild() |
java.util.List<? extends java.lang.Object> |
getChildren()
Access the children of the
TreeAppendable. |
java.lang.String |
getContent() |
GeneratorConfig |
getGeneratorConfig() |
java.util.List<java.lang.String> |
getImports()
Deprecated.
|
java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> |
getLocationData() |
java.lang.String |
getName(java.lang.Object key) |
java.lang.Object |
getObject(java.lang.String name) |
SharedAppendableState |
getState() |
org.eclipse.xtext.generator.trace.AbstractTraceRegion |
getTraceRegion() |
org.eclipse.xtext.generator.trace.ITraceURIConverter |
getTraceURIConverter() |
boolean |
hasName(java.lang.Object key) |
boolean |
hasObject(java.lang.String name) |
TreeAppendable |
increaseIndentation() |
protected boolean |
isClosed() |
boolean |
isJava() |
boolean |
isUseForDebugging() |
int |
length() |
protected void |
markClosed() |
TreeAppendable |
newLine() |
void |
openPseudoScope()
opens a new variable scope, without having a new Java scope.
|
void |
openScope()
opens a new scope, backed up by a real Java Scope
|
java.lang.String |
removeName(java.lang.Object key) |
java.lang.CharSequence |
subSequence(int start,
int end) |
java.lang.String |
toString() |
TreeAppendable |
trace(org.eclipse.emf.ecore.EObject object)
same as trace(object, false)
|
TreeAppendable |
trace(org.eclipse.emf.ecore.EObject object,
boolean useForDebugging) |
ITreeAppendable |
trace(org.eclipse.emf.ecore.EObject object,
org.eclipse.emf.ecore.EStructuralFeature feature,
int indexInList) |
TreeAppendable |
trace(org.eclipse.emf.ecore.EObject object,
org.eclipse.xtext.resource.ILocationInFileProviderExtension.RegionDescription region,
boolean useForDebugging) |
ITreeAppendable |
trace(org.eclipse.xtext.generator.trace.ILocationData location) |
ITreeAppendable |
trace(org.eclipse.xtext.generator.trace.ILocationData location,
boolean useForDebugging) |
ITreeAppendable |
trace(java.lang.Iterable<? extends org.eclipse.emf.ecore.EObject> objects) |
protected TreeAppendable |
trace(java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> newData,
boolean useForDebugging) |
public TreeAppendable(ImportManager importManager, org.eclipse.xtext.generator.trace.ITraceURIConverter converter, org.eclipse.xtext.resource.ILocationInFileProvider locationProvider, IJvmModelAssociations jvmModelAssociations, org.eclipse.emf.ecore.EObject source, java.lang.String indentation, java.lang.String lineSeparator)
protected TreeAppendable(SharedAppendableState state, org.eclipse.xtext.generator.trace.ITraceURIConverter converter, org.eclipse.xtext.resource.ILocationInFileProvider locationProvider, IJvmModelAssociations jvmModelAssociations, org.eclipse.emf.ecore.EObject source)
protected TreeAppendable(SharedAppendableState state, org.eclipse.xtext.generator.trace.ITraceURIConverter converter, org.eclipse.xtext.resource.ILocationInFileProvider locationProvider, IJvmModelAssociations jvmModelAssociations, java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> sourceLocations, boolean useForDebugging)
protected LightweightTypeReferenceSerializer createLightweightTypeReferenceSerializer()
public boolean isJava()
isJava in interface ISourceAppenderpublic org.eclipse.xtext.generator.trace.ITraceURIConverter getTraceURIConverter()
public ErrorTreeAppendable errorChild()
errorChild in interface ITreeAppendablepublic TreeAppendable trace(org.eclipse.emf.ecore.EObject object)
ITreeAppendabletrace in interface ITreeAppendablepublic TreeAppendable trace(org.eclipse.emf.ecore.EObject object, boolean useForDebugging)
trace in interface ITreeAppendableobject - the object this part should be associated withuseForDebugging - whether the part is relevant for debuggingpublic TreeAppendable trace(org.eclipse.emf.ecore.EObject object, org.eclipse.xtext.resource.ILocationInFileProviderExtension.RegionDescription region, boolean useForDebugging)
protected TreeAppendable trace(java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> newData, boolean useForDebugging)
protected TreeAppendable createChild(SharedAppendableState state, org.eclipse.xtext.resource.ILocationInFileProvider locationProvider, IJvmModelAssociations jvmModelAssociations, java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> newData, boolean useForDebugging)
public ITreeAppendable trace(org.eclipse.xtext.generator.trace.ILocationData location)
trace in interface ITreeAppendablepublic ITreeAppendable trace(org.eclipse.xtext.generator.trace.ILocationData location, boolean useForDebugging)
trace in interface ITreeAppendablelocation - the location that should be traceduseForDebugging - whether the part is relevant for debuggingprotected static org.eclipse.xtext.generator.trace.ILocationData createLocationData(org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
org.eclipse.emf.ecore.EObject object,
org.eclipse.xtext.resource.ILocationInFileProviderExtension.RegionDescription query)
protected static java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> createAllLocationData(org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.xtext.resource.ILocationInFileProvider locationProvider,
IJvmModelAssociations jvmModelAssociations,
org.eclipse.emf.ecore.EObject object,
org.eclipse.xtext.resource.ILocationInFileProviderExtension.RegionDescription query,
boolean skipEmpty)
public ITreeAppendable trace(java.lang.Iterable<? extends org.eclipse.emf.ecore.EObject> objects)
trace in interface ITreeAppendableobjects - the iterable of EObjects that contribute output. May not be empty.public ITreeAppendable trace(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, int indexInList)
trace in interface ITreeAppendableprotected static org.eclipse.xtext.generator.trace.ILocationData createLocationData(org.eclipse.xtext.generator.trace.ITraceURIConverter converter,
org.eclipse.emf.ecore.EObject object,
org.eclipse.xtext.util.ITextRegionWithLineInformation textRegion)
public TreeAppendable acceptVisitor(TreeAppendable.Visitor visitor)
public java.util.Set<org.eclipse.xtext.generator.trace.ILocationData> getLocationData()
public java.util.List<? extends java.lang.Object> getChildren()
TreeAppendable. The list contains either strings
or other TreeAppendables. The list may be empty.public void accept(java.lang.String text)
accept in interface org.eclipse.xtext.util.IAcceptor<java.lang.String>protected void markClosed()
protected void closeLastChild()
protected boolean isClosed()
public TreeAppendable append(org.eclipse.xtext.common.types.JvmType type)
append in interface IAppendableappend in interface ISourceAppenderappend in interface ITreeAppendablepublic ITreeAppendable append(java.lang.Class<?> type)
append in interface ITreeAppendablepublic ITreeAppendable append(LightweightTypeReference typeRef)
append in interface IAppendableappend in interface ISourceAppenderappend in interface ITreeAppendableprotected ITreeAppendable appendTreeAppendable(ITreeAppendable other)
public ITreeAppendable append(java.lang.CharSequence content)
ITreeAppendableappend in interface IAppendableappend in interface ISourceAppenderappend in interface ITreeAppendablecontent - - not nullpublic TreeAppendable appendUnsafe(java.lang.String string)
public TreeAppendable newLine()
newLine in interface IAppendablenewLine in interface ISourceAppendernewLine in interface ITreeAppendablepublic TreeAppendable increaseIndentation()
increaseIndentation in interface IAppendableincreaseIndentation in interface ISourceAppenderincreaseIndentation in interface ITreeAppendablepublic TreeAppendable decreaseIndentation()
decreaseIndentation in interface IAppendabledecreaseIndentation in interface ISourceAppenderdecreaseIndentation in interface ITreeAppendable@Deprecated public java.util.List<java.lang.String> getImports()
getImports in interface IAppendablepublic void openScope()
IAppendableopenScope in interface IAppendablepublic void openPseudoScope()
IAppendableopenPseudoScope in interface IAppendablepublic java.lang.String declareVariable(java.lang.Object key,
java.lang.String proposedName)
declareVariable in interface IAppendablepublic java.lang.String declareSyntheticVariable(java.lang.Object key,
java.lang.String proposedName)
IAppendabledeclareSyntheticVariable in interface IAppendablepublic java.lang.String declareUniqueNameVariable(java.lang.Object key,
java.lang.String proposedName)
IAppendabledeclareUniqueNameVariable in interface IAppendablepublic java.lang.String removeName(java.lang.Object key)
removeName in interface IAppendablepublic java.lang.String getName(java.lang.Object key)
getName in interface IAppendablepublic boolean hasName(java.lang.Object key)
hasName in interface IAppendablepublic java.lang.Object getObject(java.lang.String name)
getObject in interface IAppendablepublic boolean hasObject(java.lang.String name)
hasObject in interface IAppendablepublic void closeScope()
closeScope in interface IAppendablepublic java.lang.String getContent()
getContent in interface IAppendablepublic char charAt(int index)
charAt in interface java.lang.CharSequencepublic java.lang.CharSequence subSequence(int start,
int end)
subSequence in interface java.lang.CharSequencepublic java.lang.String toString()
toString in interface java.lang.CharSequencetoString in interface IAppendabletoString in class java.lang.Objectprotected void doGetContent(java.lang.StringBuilder result)
public int length()
length in interface java.lang.CharSequencelength in interface IAppendablepublic org.eclipse.xtext.generator.trace.AbstractTraceRegion getTraceRegion()
getTraceRegion in interface org.eclipse.xtext.generator.trace.ITraceRegionProviderprotected void appendIndented(java.lang.String text)
public boolean isUseForDebugging()
public SharedAppendableState getState()
public void dump()
protected void dump(java.lang.String indent)
public GeneratorConfig getGeneratorConfig()
getGeneratorConfig in interface IAppendable