Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 146215 Details for
Bug 242153
[parser] Modification to support IMP and exploit LPG 2
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Patch which exploits new Lexer/Parser/Analyzer infrastructure
ocl242153_try3_b.patch (text/plain), 29.68 KB, created by
Adolfo Sanchez-Barbudo Herrera
on 2009-09-01 13:37:00 EDT
(
hide
)
Description:
Patch which exploits new Lexer/Parser/Analyzer infrastructure
Filename:
MIME Type:
Creator:
Adolfo Sanchez-Barbudo Herrera
Created:
2009-09-01 13:37:00 EDT
Size:
29.68 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.qvt.declarative.parser >Index: src/org/eclipse/qvt/declarative/parser/AbstractQVTAnalyzer.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/src/org/eclipse/qvt/declarative/parser/AbstractQVTAnalyzer.java,v >retrieving revision 1.10 >diff -u -r1.10 AbstractQVTAnalyzer.java >--- src/org/eclipse/qvt/declarative/parser/AbstractQVTAnalyzer.java 17 Feb 2009 21:51:43 -0000 1.10 >+++ src/org/eclipse/qvt/declarative/parser/AbstractQVTAnalyzer.java 1 Sep 2009 17:19:47 -0000 >@@ -14,7 +14,7 @@ > import java.util.Comparator; > import java.util.List; > >-import lpg.lpgjavaruntime.Monitor; >+import lpg.runtime.Monitor; > > import org.eclipse.emf.common.util.EList; > import org.eclipse.emf.ecore.EClass; >Index: src/org/eclipse/qvt/declarative/parser/environment/CSTRootEnvironment.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/src/org/eclipse/qvt/declarative/parser/environment/CSTRootEnvironment.java,v >retrieving revision 1.5 >diff -u -r1.5 CSTRootEnvironment.java >--- src/org/eclipse/qvt/declarative/parser/environment/CSTRootEnvironment.java 17 Feb 2009 21:51:43 -0000 1.5 >+++ src/org/eclipse/qvt/declarative/parser/environment/CSTRootEnvironment.java 1 Sep 2009 17:19:48 -0000 >@@ -266,7 +266,7 @@ > } > > public int getCSTErrorTokens() { >- return getParser().getErrorTokens(); >+ return getParser().getIPrsStream().getErrorTokens(); > } > > public ICSTFileEnvironment getFileEnvironment() { >Index: src/org/eclipse/qvt/declarative/parser/environment/ICSTFileEnvironment.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/src/org/eclipse/qvt/declarative/parser/environment/ICSTFileEnvironment.java,v >retrieving revision 1.1 >diff -u -r1.1 ICSTFileEnvironment.java >--- src/org/eclipse/qvt/declarative/parser/environment/ICSTFileEnvironment.java 11 Oct 2008 15:27:46 -0000 1.1 >+++ src/org/eclipse/qvt/declarative/parser/environment/ICSTFileEnvironment.java 1 Sep 2009 17:19:48 -0000 >@@ -20,7 +20,7 @@ > import java.io.Reader; > import java.util.Collection; > >-import lpg.lpgjavaruntime.Monitor; >+import lpg.runtime.Monitor; > > import org.eclipse.core.runtime.CoreException; > import org.eclipse.core.runtime.IProgressMonitor; >@@ -34,7 +34,7 @@ > > public interface ICSTFileEnvironment extends ICSTEnvironment > { >- public ICSTFileAnalyzer<?> createAnalyzer(Monitor monitor); >+ public ICSTFileAnalyzer<?> getAnalyzer(Monitor monitor, Reader reader, String fileName) throws IOException; > > public XMIResource getASTResource(); > >Index: src/org/eclipse/qvt/declarative/parser/environment/ICSTFileAnalyzer.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/src/org/eclipse/qvt/declarative/parser/environment/ICSTFileAnalyzer.java,v >retrieving revision 1.1 >diff -u -r1.1 ICSTFileAnalyzer.java >--- src/org/eclipse/qvt/declarative/parser/environment/ICSTFileAnalyzer.java 11 Oct 2008 14:43:14 -0000 1.1 >+++ src/org/eclipse/qvt/declarative/parser/environment/ICSTFileAnalyzer.java 1 Sep 2009 17:19:48 -0000 >@@ -31,7 +31,14 @@ > > public AbstractParser getParser(); > >+ /** >+ * @param reader >+ * @throws IOException >+ * @deprecated clients should invoke {@link #reset(Reader, String)} >+ */ > public void initialize(Reader reader) throws IOException; >+ >+ public void reset(Reader reader, String fileName) throws IOException; > > public void setFileName(String name); > } >Index: src/org/eclipse/qvt/declarative/parser/environment/CSTFileEnvironment.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/src/org/eclipse/qvt/declarative/parser/environment/CSTFileEnvironment.java,v >retrieving revision 1.4 >diff -u -r1.4 CSTFileEnvironment.java >--- src/org/eclipse/qvt/declarative/parser/environment/CSTFileEnvironment.java 6 Mar 2009 17:30:00 -0000 1.4 >+++ src/org/eclipse/qvt/declarative/parser/environment/CSTFileEnvironment.java 1 Sep 2009 17:19:47 -0000 >@@ -16,7 +16,7 @@ > import java.util.ArrayList; > import java.util.List; > >-import lpg.lpgjavaruntime.Monitor; >+import lpg.runtime.Monitor; > > import org.eclipse.core.runtime.CoreException; > import org.eclipse.core.runtime.IProgressMonitor; >@@ -42,7 +42,10 @@ > { > protected final EPackage.Registry registryToo; > protected final XMIResource ast; >- protected final AbstractModelResolver resolver; >+ protected final AbstractModelResolver resolver; >+ >+ private ICSTFileAnalyzer<R> analyzer; >+ > private TypeResolver<EClassifier, EOperation, EStructuralFeature> typeResolver; // FIXME Duplicated to support reset > // inherited functionality should allow typeResolver to be in CSTRootEnvironment > >@@ -63,7 +66,17 @@ > this(new EPackageRegistryImpl(), file, resourceSet, astResource); > } > >- public abstract ICSTFileAnalyzer<R> createAnalyzer(Monitor monitor); >+ public ICSTFileAnalyzer<R> getAnalyzer(Monitor monitor, Reader reader, String fileName) throws IOException { >+ >+ if (analyzer == null) { >+ analyzer = createAnalyzer(monitor, reader, fileName); >+ } else { >+ analyzer.reset(reader, null); >+ } >+ return analyzer; >+ } >+ >+ protected abstract ICSTFileAnalyzer<R> createAnalyzer(Monitor monitor, Reader reader, String fileName) throws IOException; > > protected abstract R createRootEnvironment(XMIResource ast, CST cst); > >@@ -110,25 +123,26 @@ > > public ICSTRootEnvironment parse(Reader reader, AbstractFileHandle file, IProgressMonitor monitor) throws IOException, CoreException { > Monitor lpgMonitor = new LPGProgressMonitor(monitor); >- ICSTFileAnalyzer<R> analyzer = createAnalyzer(lpgMonitor); >- analyzer.setFileName(file.getName()); > if (reader == null) > reader = new InputStreamReader(file.getContents()); > else if (!file.exists()) > return null; >- analyzer.initialize(reader); >+ >+ ICSTFileAnalyzer<R> analyzer = getAnalyzer(lpgMonitor, reader, file.getName()); >+ // analyzer.initialize(reader); > AbstractParser parser = getParser(); > if ((monitor != null) && monitor.isCanceled()) > return null; >- parser.getLexer().lexToTokens(parser); >+ parser.getLexer().lexer(parser.getIPrsStream()); > if ((monitor != null) && monitor.isCanceled()) > return null; > @SuppressWarnings("unchecked") // Maybe this should be a generic parameter >- CST cst = (CST) parser.parseTokensToCST(lpgMonitor, -1); >+ CST cst = (CST) parser.parser(lpgMonitor, -1); > if (cst == null) > return null; > if ((monitor != null) && monitor.isCanceled()) > return null; >+ > R rootEnvironment; > try { > reset(); >Index: src/org/eclipse/qvt/declarative/parser/qvt/environment/LPGProgressMonitor.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/src/org/eclipse/qvt/declarative/parser/qvt/environment/LPGProgressMonitor.java,v >retrieving revision 1.1 >diff -u -r1.1 LPGProgressMonitor.java >--- src/org/eclipse/qvt/declarative/parser/qvt/environment/LPGProgressMonitor.java 10 Oct 2008 08:13:52 -0000 1.1 >+++ src/org/eclipse/qvt/declarative/parser/qvt/environment/LPGProgressMonitor.java 1 Sep 2009 17:19:48 -0000 >@@ -10,7 +10,7 @@ > *******************************************************************************/ > package org.eclipse.qvt.declarative.parser.qvt.environment; > >-import lpg.lpgjavaruntime.Monitor; >+import lpg.runtime.Monitor; > > import org.eclipse.core.runtime.IProgressMonitor; > >Index: src/org/eclipse/qvt/declarative/parser/utils/ProblemLog.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/src/org/eclipse/qvt/declarative/parser/utils/ProblemLog.java,v >retrieving revision 1.3 >diff -u -r1.3 ProblemLog.java >--- src/org/eclipse/qvt/declarative/parser/utils/ProblemLog.java 31 Dec 2008 17:47:14 -0000 1.3 >+++ src/org/eclipse/qvt/declarative/parser/utils/ProblemLog.java 1 Sep 2009 17:19:48 -0000 >@@ -17,6 +17,8 @@ > import java.util.Map; > import java.util.Set; > >+import lpg.runtime.IPrsStream; >+ > import org.eclipse.ocl.lpg.AbstractProblemHandler; > import org.eclipse.ocl.lpg.ProblemHandler; > import org.eclipse.osgi.util.NLS; >@@ -134,17 +136,18 @@ > if (problem.endOffset >= 0) { > s.append(" : "); > s.append(problem.endOffset); >- if (getParser() != null) { >- int token = getParser().getTokenIndexAtCharacter(problem.startOffset); >+ IPrsStream stream = getParser().getIPrsStream(); >+ if (stream != null) { >+ int token =stream.getTokenIndexAtCharacter(problem.startOffset); > s.append(" "); > try { >- s.append(getParser().getLine(token)); >+ s.append(stream.getLine(token)); > } catch (ArrayIndexOutOfBoundsException e) { > s.append("???"); > } > s.append(":"); > try { >- s.append(getParser().getColumn(token)); >+ s.append(stream.getColumn(token)); > } catch (ArrayIndexOutOfBoundsException e) { > s.append("???"); > } >Index: META-INF/MANIFEST.MF >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser/META-INF/MANIFEST.MF,v >retrieving revision 1.5 >diff -u -r1.5 MANIFEST.MF >--- META-INF/MANIFEST.MF 11 Oct 2008 14:27:14 -0000 1.5 >+++ META-INF/MANIFEST.MF 1 Sep 2009 17:19:47 -0000 >@@ -18,8 +18,8 @@ > org.eclipse.qvt.declarative.parser.utils > Require-Bundle: org.eclipse.core.runtime, > org.eclipse.emf.ecore;visibility:=reexport, >- org.eclipse.ocl;bundle-version="[1.3.0,2.0.0)";visibility:=reexport, >- org.eclipse.ocl.ecore;visibility:=reexport, >+ org.eclipse.ocl;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, >+ org.eclipse.ocl.ecore;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, > org.eclipse.qvt.declarative.ecore.qvtbase;visibility:=reexport, > org.eclipse.qvt.declarative.parser.unresolved;resolution:=optional, > org.eclipse.qvt.declarative.modelregistry;visibility:=reexport >#P org.eclipse.qvt.declarative.editor.ocl.ui >Index: src/org/eclipse/qvt/declarative/editor/ocl/ui/imp/OCLParseController.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ocl.ui/src/org/eclipse/qvt/declarative/editor/ocl/ui/imp/OCLParseController.java,v >retrieving revision 1.6 >diff -u -r1.6 OCLParseController.java >--- src/org/eclipse/qvt/declarative/editor/ocl/ui/imp/OCLParseController.java 20 Aug 2009 20:22:07 -0000 1.6 >+++ src/org/eclipse/qvt/declarative/editor/ocl/ui/imp/OCLParseController.java 1 Sep 2009 17:19:51 -0000 >@@ -17,7 +17,7 @@ > package org.eclipse.qvt.declarative.editor.ocl.ui.imp; > > import org.eclipse.ocl.cst.CSTPackage; >-import org.eclipse.ocl.parser.backtracking.OCLBacktrackingLexer; >+import org.eclipse.ocl.parser.backtracking.OCLBacktrackingParsersym; > import org.eclipse.qvt.declarative.editor.ocl.ui.OCLCreationFactory; > import org.eclipse.qvt.declarative.editor.ui.imp.CommonKeyword; > import org.eclipse.qvt.declarative.editor.ui.imp.CommonParseController; >@@ -100,19 +100,19 @@ > > public TokenKind getTokenKind(int kind) { > switch (kind) { >- case OCLBacktrackingLexer.TK_EOF_TOKEN: >+ case OCLBacktrackingParsersym.TK_EOF_TOKEN: > return TokenKind.EOF; >- case OCLBacktrackingLexer.TK_IDENTIFIER: >+ case OCLBacktrackingParsersym.TK_IDENTIFIER: > return TokenKind.IDENTIFIER; >- case OCLBacktrackingLexer.TK_INTEGER_LITERAL: >+ case OCLBacktrackingParsersym.TK_INTEGER_LITERAL: > return TokenKind.INTEGER; >- case OCLBacktrackingLexer.TK_REAL_LITERAL: >+ case OCLBacktrackingParsersym.TK_REAL_LITERAL: > return TokenKind.REAL; >- case OCLBacktrackingLexer.TK_STRING_LITERAL: >+ case OCLBacktrackingParsersym.TK_STRING_LITERAL: > return TokenKind.STRING; >- case OCLBacktrackingLexer.TK_SINGLE_LINE_COMMENT: >+ case OCLBacktrackingParsersym.TK_SINGLE_LINE_COMMENT: > return TokenKind.LINE_COMMENT; >- case OCLBacktrackingLexer.TK_MULTI_LINE_COMMENT: >+ case OCLBacktrackingParsersym.TK_MULTI_LINE_COMMENT: > return TokenKind.PARAGRAPH_COMMENT; > default: > if (isKeyword(kind)) >#P org.eclipse.qvt.declarative.parser.ocl >Index: src/org/eclipse/qvt/declarative/parser/ocl/OCLFileAnalyzer.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser.ocl/src/org/eclipse/qvt/declarative/parser/ocl/OCLFileAnalyzer.java,v >retrieving revision 1.7 >diff -u -r1.7 OCLFileAnalyzer.java >--- src/org/eclipse/qvt/declarative/parser/ocl/OCLFileAnalyzer.java 18 Dec 2008 07:12:30 -0000 1.7 >+++ src/org/eclipse/qvt/declarative/parser/ocl/OCLFileAnalyzer.java 1 Sep 2009 17:19:53 -0000 >@@ -16,10 +16,12 @@ > */ > package org.eclipse.qvt.declarative.parser.ocl; > >+import java.io.IOException; >+import java.io.Reader; > import java.util.ArrayList; > import java.util.List; > >-import lpg.lpgjavaruntime.Monitor; >+import lpg.runtime.Monitor; > > import org.eclipse.emf.ecore.EClass; > import org.eclipse.emf.ecore.EClassifier; >@@ -52,8 +54,8 @@ > private OCLTopLevelEnvironment topLevelEnvironment = null; > private EClass iteratorsClass = null; > >- public OCLFileAnalyzer(OCLFileEnvironment environment, Monitor monitor) { >- super(new OCLBacktrackingParser(new OCLBacktrackingLexer(environment))); >+ public OCLFileAnalyzer(OCLFileEnvironment environment, Monitor monitor, Reader reader, String fileName) throws IOException { >+ super(new OCLBacktrackingParser(new OCLBacktrackingLexer(environment, reader, fileName))); > this.monitor = monitor; > } > >Index: src/org/eclipse/qvt/declarative/parser/ocl/environment/OCLFileEnvironment.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.parser.ocl/src/org/eclipse/qvt/declarative/parser/ocl/environment/OCLFileEnvironment.java,v >retrieving revision 1.5 >diff -u -r1.5 OCLFileEnvironment.java >--- src/org/eclipse/qvt/declarative/parser/ocl/environment/OCLFileEnvironment.java 5 Feb 2009 09:39:21 -0000 1.5 >+++ src/org/eclipse/qvt/declarative/parser/ocl/environment/OCLFileEnvironment.java 1 Sep 2009 17:19:53 -0000 >@@ -16,12 +16,14 @@ > */ > package org.eclipse.qvt.declarative.parser.ocl.environment; > >+import java.io.IOException; >+import java.io.Reader; > import java.util.ArrayList; > import java.util.Collection; > import java.util.List; > >-import lpg.lpgjavaruntime.IToken; >-import lpg.lpgjavaruntime.Monitor; >+import lpg.runtime.IToken; >+import lpg.runtime.Monitor; > > import org.eclipse.emf.common.notify.Notifier; > import org.eclipse.emf.ecore.EClass; >@@ -115,8 +117,9 @@ > } > > @Override >- public OCLFileAnalyzer createAnalyzer(Monitor monitor) { >- return new OCLFileAnalyzer(this, monitor); >+ protected OCLFileAnalyzer createAnalyzer( >+ Monitor monitor, Reader reader, String fileName) throws IOException { >+ return new OCLFileAnalyzer(this, monitor, reader, fileName); > } > > @Override >#P org.eclipse.qvt.declarative.editor.ui >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseResult.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseResult.java,v >retrieving revision 1.1 >diff -u -r1.1 CommonParseResult.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseResult.java 20 Aug 2009 20:14:22 -0000 1.1 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseResult.java 1 Sep 2009 17:19:56 -0000 >@@ -22,9 +22,9 @@ > import java.util.Iterator; > import java.util.List; > >-import lpg.lpgjavaruntime.ErrorToken; >-import lpg.lpgjavaruntime.IToken; >-import lpg.lpgjavaruntime.PrsStream; >+import lpg.runtime.ErrorToken; >+import lpg.runtime.IPrsStream; >+import lpg.runtime.IToken; > > import org.eclipse.core.runtime.CoreException; > import org.eclipse.core.runtime.IProgressMonitor; >@@ -59,7 +59,7 @@ > > static final class TokenIterator implements Iterator<IToken> > { >- final PrsStream stream; >+ final IPrsStream stream; > final int firstTokIdx; > final int lastTokIdx; > int curTokIdx; // skip bogus initial token >@@ -81,7 +81,7 @@ > private boolean finalTokenReturned; > private boolean finalAdjunctsReturned; > >- private TokenIterator(PrsStream stream, int regionEnd, int regionOffset) { >+ private TokenIterator(IPrsStream stream, int regionEnd, int regionOffset) { > this.stream = stream; > firstTokIdx = getTokenIndexAtCharacter(regionOffset); > curTokIdx = Math.max(1, firstTokIdx); >@@ -270,7 +270,7 @@ > } > > public String getTextRange(int start, int length) { >- return new String(getLexer().getInputChars(), start, length); >+ return new String(getLexer().getILexStream().getInputChars(), start, length); > } > > protected int[] getKeywordKinds() { >@@ -309,7 +309,7 @@ > int regionOffset= region.getOffset(); > int regionLength= region.getLength(); > int regionEnd = regionOffset + regionLength - 1; >- PrsStream stream = getParser(); >+ IPrsStream stream = getParser().getIPrsStream(); > if (stream != null) > return new TokenIterator(stream, regionEnd, regionOffset); > else >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonContentProposals.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonContentProposals.java,v >retrieving revision 1.15 >diff -u -r1.15 CommonContentProposals.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonContentProposals.java 20 Aug 2009 20:16:37 -0000 1.15 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonContentProposals.java 1 Sep 2009 17:19:55 -0000 >@@ -25,8 +25,8 @@ > import java.util.Map; > import java.util.Set; > >-import lpg.lpgjavaruntime.ErrorToken; >-import lpg.lpgjavaruntime.IToken; >+import lpg.runtime.ErrorToken; >+import lpg.runtime.IToken; > > import org.eclipse.emf.common.util.TreeIterator; > import org.eclipse.emf.ecore.EClass; >@@ -45,7 +45,7 @@ > import org.eclipse.ocl.cst.PathNameCS; > import org.eclipse.ocl.cst.SimpleNameCS; > import org.eclipse.ocl.expressions.StringLiteralExp; >-import org.eclipse.ocl.lpg.AbstractParser; >+import org.eclipse.ocl.lpg.OCLParserStream; > import org.eclipse.qvt.declarative.ecore.utils.EcoreUtils; > import org.eclipse.qvt.declarative.ecore.utils.TracingOption; > import org.eclipse.qvt.declarative.editor.ui.QVTEditorPlugin; >@@ -370,7 +370,7 @@ > } > > protected IToken getToken() { >- AbstractParser stream = parseResult.getParser(); >+ OCLParserStream stream = parseResult.getParser().getIPrsStream(); > IToken errorToken = stream.getErrorTokenAtCharacter(offset); > if (errorToken != null) > return errorToken; >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonTokenColorer.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonTokenColorer.java,v >retrieving revision 1.5 >diff -u -r1.5 CommonTokenColorer.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonTokenColorer.java 16 Aug 2009 10:28:51 -0000 1.5 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonTokenColorer.java 1 Sep 2009 17:19:56 -0000 >@@ -16,7 +16,7 @@ > */ > package org.eclipse.qvt.declarative.editor.ui.imp; > >-import lpg.lpgjavaruntime.IToken; >+import lpg.runtime.IToken; > > import org.eclipse.imp.parser.IParseController; > import org.eclipse.imp.services.ITokenColorer; >@@ -73,4 +73,10 @@ > return super.getColoring(controller, token); > } > } >+ >+ public TextAttribute getInterColoring(IParseController controller, >+ Object prevToken, Object nextToken) { >+ // TODO Auto-generated method stub >+ return null; >+ } > } >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonSourcePositionLocator.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonSourcePositionLocator.java,v >retrieving revision 1.2 >diff -u -r1.2 CommonSourcePositionLocator.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonSourcePositionLocator.java 20 Aug 2009 20:12:09 -0000 1.2 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonSourcePositionLocator.java 1 Sep 2009 17:19:56 -0000 >@@ -16,7 +16,7 @@ > */ > package org.eclipse.qvt.declarative.editor.ui.imp; > >-import lpg.lpgjavaruntime.IToken; >+import lpg.runtime.IToken; > > import org.eclipse.core.runtime.IPath; > import org.eclipse.core.runtime.Path; >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseController.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseController.java,v >retrieving revision 1.23 >diff -u -r1.23 CommonParseController.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseController.java 20 Aug 2009 20:21:40 -0000 1.23 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseController.java 1 Sep 2009 17:19:55 -0000 >@@ -33,7 +33,7 @@ > import java.util.Iterator; > import java.util.List; > >-import lpg.lpgjavaruntime.IToken; >+import lpg.runtime.IToken; > > import org.eclipse.core.resources.IProject; > import org.eclipse.core.runtime.CoreException; >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonFoldingUpdater.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonFoldingUpdater.java,v >retrieving revision 1.6 >diff -u -r1.6 CommonFoldingUpdater.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonFoldingUpdater.java 20 Aug 2009 20:17:34 -0000 1.6 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonFoldingUpdater.java 1 Sep 2009 17:19:55 -0000 >@@ -20,10 +20,10 @@ > import java.util.HashMap; > import java.util.List; > >-import lpg.lpgjavaruntime.Adjunct; >-import lpg.lpgjavaruntime.IToken; >-import lpg.lpgjavaruntime.LexStream; >-import lpg.lpgjavaruntime.PrsStream; >+import lpg.runtime.Adjunct; >+import lpg.runtime.ILexStream; >+import lpg.runtime.IPrsStream; >+import lpg.runtime.IToken; > > import org.eclipse.imp.services.base.FolderBase; > import org.eclipse.jface.text.Position; >@@ -62,12 +62,12 @@ > } > }; > >- protected PrsStream prsStream = null; >+ protected IPrsStream prsStream = null; > > protected abstract ICommonPlugin getPlugin(); > > protected void makeAdjunctAnnotations(CSTNode theAST) { >- LexStream lexStream = prsStream.getLexStream(); >+ ILexStream lexStream = prsStream.getILexStream(); > if (lexStream == null) > return; > @SuppressWarnings("unchecked") >@@ -106,7 +106,7 @@ > IToken gate_token = adjuncts.length == 0 ? next_token : adjuncts[0]; > makeAnnotationWithOffsets(first_token.getStartOffset(), gate_token > .getLine() > last_token.getEndLine() ? prsStream >- .getLexStream().getLineOffset(gate_token.getLine() - 1) >+ .getILexStream().getLineOffset(gate_token.getLine() - 1) > : last_token.getEndOffset()); > } > } >@@ -127,7 +127,7 @@ > if (theCST != null) { > IToken startToken = theCST.getStartToken(); > if (startToken != null) { >- prsStream = startToken.getPrsStream(); >+ prsStream = startToken.getIPrsStream(); > FoldingCSTVisitor visitor = new FoldingCSTVisitor(getPlugin().getEditorDefinition()); > visitor.enter(theCST); > makeAdjunctAnnotations(theCST); >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseHelper.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseHelper.java,v >retrieving revision 1.1 >diff -u -r1.1 CommonParseHelper.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseHelper.java 20 Aug 2009 20:20:19 -0000 1.1 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonParseHelper.java 1 Sep 2009 17:19:56 -0000 >@@ -39,7 +39,7 @@ > keywords = new ArrayList<ICommonKeyword>(); > int[] keywordKinds= parser.getLexer().getKeywordKinds(); > for(int i= 1; i < keywordKinds.length; i++) { >- int index= parser.mapKind(keywordKinds[i]); >+ int index= parser.getIPrsStream().mapKind(keywordKinds[i]); > fIsKeyword[index]= true; > keywords.add(createKeyword(tokenKindNames[index])); > } >Index: src/org/eclipse/qvt/declarative/editor/ui/imp/CommonProblemHandler.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/imp/CommonProblemHandler.java,v >retrieving revision 1.5 >diff -u -r1.5 CommonProblemHandler.java >--- src/org/eclipse/qvt/declarative/editor/ui/imp/CommonProblemHandler.java 20 Nov 2008 08:10:31 -0000 1.5 >+++ src/org/eclipse/qvt/declarative/editor/ui/imp/CommonProblemHandler.java 1 Sep 2009 17:19:56 -0000 >@@ -16,7 +16,8 @@ > */ > package org.eclipse.qvt.declarative.editor.ui.imp; > >-import lpg.lpgjavaruntime.IToken; >+import lpg.runtime.IPrsStream; >+import lpg.runtime.IToken; > > import org.eclipse.core.resources.IMarker; > import org.eclipse.imp.parser.IMessageHandler; >@@ -42,7 +43,7 @@ > } > > public IToken getNearestTokenAtCharacter(int offset) { // FIXME Move to AbstractParser >- AbstractParser parser = getParser(); >+ IPrsStream parser = getParser().getIPrsStream(); > int maxIndex = parser.getSize(); > if (maxIndex <= 0) > return null; >Index: src/org/eclipse/qvt/declarative/editor/ui/utils/EditorModelUtils.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/utils/EditorModelUtils.java,v >retrieving revision 1.1 >diff -u -r1.1 EditorModelUtils.java >--- src/org/eclipse/qvt/declarative/editor/ui/utils/EditorModelUtils.java 17 Jan 2009 20:18:43 -0000 1.1 >+++ src/org/eclipse/qvt/declarative/editor/ui/utils/EditorModelUtils.java 1 Sep 2009 17:19:56 -0000 >@@ -16,9 +16,9 @@ > */ > package org.eclipse.qvt.declarative.editor.ui.utils; > >-import lpg.lpgjavaruntime.IToken; >-import lpg.lpgjavaruntime.LexStream; >-import lpg.lpgjavaruntime.PrsStream; >+import lpg.runtime.ILexStream; >+import lpg.runtime.IPrsStream; >+import lpg.runtime.IToken; > > import org.eclipse.ocl.cst.CSTNode; > >@@ -28,10 +28,10 @@ > IToken token = cstNode.getStartToken(); > if (token == null) > return null; >- PrsStream prsStream = token.getPrsStream(); >+ IPrsStream prsStream = token.getIPrsStream(); > if (prsStream == null) > return null; >- LexStream lexStream = prsStream.getLexStream(); >+ ILexStream lexStream = prsStream.getILexStream(); > if (lexStream == null) > return null; > return lexStream.getFileName(); >Index: src/org/eclipse/qvt/declarative/editor/ui/builder/MarkerProblemHandler.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt.declarative.editor.ui/src/org/eclipse/qvt/declarative/editor/ui/builder/MarkerProblemHandler.java,v >retrieving revision 1.4 >diff -u -r1.4 MarkerProblemHandler.java >--- src/org/eclipse/qvt/declarative/editor/ui/builder/MarkerProblemHandler.java 31 Oct 2008 20:42:49 -0000 1.4 >+++ src/org/eclipse/qvt/declarative/editor/ui/builder/MarkerProblemHandler.java 1 Sep 2009 17:19:55 -0000 >@@ -22,6 +22,8 @@ > import java.util.Map; > import java.util.Set; > >+import lpg.runtime.IPrsStream; >+ > import org.eclipse.core.resources.IMarker; > import org.eclipse.core.resources.IResource; > import org.eclipse.core.resources.IWorkspace; >@@ -172,9 +174,10 @@ > String problemMessage, String processingContext, int startOffset, int endOffset) { > int line = -1; > if (startOffset >= 0) { >- int leftToken = Math.abs(getParser().getTokenIndexAtCharacter(startOffset)); // abs to move non-token to predecessor >+ IPrsStream stream = getParser().getIPrsStream(); >+ int leftToken = Math.abs(stream.getTokenIndexAtCharacter(startOffset)); // abs to move non-token to predecessor > if (leftToken >= 0) >- line = getParser().getLine(leftToken); >+ line = stream.getLine(leftToken); > } > Integer severity = severityMap.get(problemSeverity); > addMarker(severity != null ? severity.intValue() : IMarker.SEVERITY_ERROR,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 242153
:
113562
|
144433
|
144559
|
144561
|
146213
|
146215
|
146307
|
146308
|
146322
|
146527
|
146557
|
154939
|
154947
|
155049
|
155227
|
155269