2016-08-28 5 views
0

에 대한 고유 ID를 생성 내가 B 형의 각 요소 몇 가지 일련 ID를 부여 할 수 있기를 원할 Xtext : 객체

A: 
... 
B: 
... 

과 같은 문법을 가지고있다. 그래서 문법이 B 객체를 생성 할 때마다 필드로 (고유 한) 새로운 ID를 얻습니다.

class Tracer { 
static int ID=0; 
static int getID() { return ID++;} 

하지만 문법에서 외부 자바 클래스를 호출 할 수 없습니다 :

B: 
myID=Tracer.getID() 
... 

:

내가 좋아하는 뭔가를 시도했다.

src-gen 파일을 건드리지 않고도 해결할 수 있다면 더 좋을 것입니다.

감사합니다.

+0

외계인 메타 모델로 전환 하시겠습니까? 확장 점'IXtext2EcorePostProcessor'는 2.9+에서 더 이상 좋지 않습니다. (https://bugs.eclipse.org/bugs/show_bug.cgi?id=483209) –

+0

블로그에서 같이 해보려고합니다. https://christiandietrich.wordpress.com/2011/07/22/customizing -xtext-metamodel-inference-using-xtend2 /하지만 org.eclipse.xtext.generator.Generator를 찾을 수 없습니다. org.eclipse.emf.codegen.ecore.Generator 또는 org.eclipse.emf.codegen.ecore.generator.Generator입니까? 아니면 인터페이스 org.eclipse.xtext.generator.IGenerator? –

+0

에서 xtext 2.9+와 같은 버그 –

답변

0

당신은 텍스트 모델에서 객체 신원과 같은 것이 없다는 것을 알고 있습니까? 나는. 너 근본적으로은 서로 다른 AST의 두 객체가 동일하다고 말할 수 없습니다. diff 알고리즘을 사용하여 동등성에 대한 해석 만 설정할 수 있습니다.

임시 식별자 만 필요하다면 Object.hashCode()를 사용하는 것은 어떻습니까?