This version of addMethod is called whenever the method corresponds to one that is auto-generated
(toString, equals, hashCode, etc.) and is necessary because we need to check if the user defined
a method with the same signature and, if so, highlight the user method instead of trying to highlight
the auto-generated method (which doesn't appear in the raw version of the source anyway).
Important to know if this is called from a class file since JSR14 allows methods to have the same
name and parameters with different return types for bridge methods.
beginColumn -
Variable in class edu.rice.cs.javalanglevels.parser.Token
beginLine and beginColumn describe the position of the first character
of this token; endLine and endColumn describe the position of the
last character of this token.
beginLine -
Variable in class edu.rice.cs.javalanglevels.parser.Token
beginLine and beginColumn describe the position of the first character
of this token; endLine and endColumn describe the position of the
last character of this token.
Call this version when you don't want to add an error--only take in what is necessary to do the check, give default
values for anything that will not be used.
Do not resolve the super class type of this instantiation, because it will have already been resolved (it
is an inner class of the enclosing of this instantiation.
Takes in a TypeDefBase (which is either an InnerClassDef or an InnerInterfaceDef) and creates a SymbolData for it,
either by converting a continuation to it or by creating a new symbol (if no continuationis present).
Given a TypeDefBase (which is either a ClassDef or an InterfaceDef) and the corresponding qualifiedTypeName, this
method generates a SymbolData, and adds the name and SymbolData pair to the symbol table.
Loop over the specified string, and replace any '.' with '$' This is used to change an inner class name from
external (as in Java source) to internal (as in class files) format.
This is a high-level test to make sure that taking an Elementary Level file from
source file to augmented file has the correct behavior, does not throw errors when
it should not, throws errors when it should, and results in the correct augmented code.
endColumn -
Variable in class edu.rice.cs.javalanglevels.parser.Token
beginLine and beginColumn describe the position of the first character
of this token; endLine and endColumn describe the position of the
last character of this token.
endLine -
Variable in class edu.rice.cs.javalanglevels.parser.Token
beginLine and beginColumn describe the position of the first character
of this token; endLine and endColumn describe the position of the
last character of this token.
Makes sure that the specified type is an array type, and then
examines the elements in the array initializer and makes sure each has a type assignable to
the elementType of the specified array type.
Create a method data corresponding to this method declaration, and then visit the
concrete method def with a new bodybody visitor, passing it the enclosing method data.
Creates a method data corresponding to this method declaration, and then visit the concrete method def with a new
bodybody visitor, passing it the enclosing method data.
Create a constructor corresponding to the specifications in the ConstructorDef, and then
visit the constructor body, passing the constructor as the enclosing data.
Make sure that the conditional expression has the right type, and if both branches of the
if/else return, return a value the common super type of the two return types.
Visit the value of this increment expression with the LValueWithValueTypeChecker, since
whatever it represents should already have a value before we try to increment it.
An IncrementExpression is badly formatted if the thing being incremented is a type (valueRes is not an
InstanceData) or if the value being incremented cannot be assigned to.
Makes sure that the initializedvariable declarator is correct (the types match)
Also, add the Variable Data corresponding to this initializiation to the _vars list, so
that it can be referenced within this scope.
Visit the lhs of this assignment with the LValueWithValueTypeChecker, which does extra checking for the lhs,
because it needs to be able to be assigned to and already have a value.
A NumericUnaryExpression was well-formed if its valueRes is an instance type and if its valueRes's symbol
data is a number type (to which a double can be assigned).
Make sure that the package being imported does not conflict with another class in the symbol table, since
we will not allow a package to be imported if it has the same name as a class.